Bläddra i källkod

Merge pull request #2 from TorqueGameEngines/development

Sync to upstream Development
sierra-zero 4 år sedan
förälder
incheckning
b3fde958dc
80 ändrade filer med 3182 tillägg och 688 borttagningar
  1. 13 6
      engine/compilers/VisualStudio 2017/Torque 2D.sln
  2. 215 34
      engine/compilers/VisualStudio 2017/Torque 2D.vcxproj
  3. 0 14
      engine/compilers/VisualStudio 2017/Torque 2D.vcxproj.filters
  4. 7 4
      engine/compilers/VisualStudio 2017/libogg.vcxproj
  5. 7 4
      engine/compilers/VisualStudio 2017/libvorbis.vcxproj
  6. 497 0
      engine/compilers/VisualStudio 2017/ljpeg.vcxproj
  7. 129 0
      engine/compilers/VisualStudio 2017/lpng.vcxproj
  8. 129 0
      engine/compilers/VisualStudio 2017/zlib.vcxproj
  9. 1 1
      engine/source/console/CMDscan.cc
  10. 3 3
      engine/source/gui/containers/guiDragAndDropCtrl.cc
  11. 3 3
      engine/source/gui/containers/guiDragAndDropCtrl.h
  12. 6 6
      engine/source/gui/containers/guiFormCtrl.cc
  13. 6 6
      engine/source/gui/containers/guiFormCtrl.h
  14. 2 2
      engine/source/gui/containers/guiRolloutCtrl.cc
  15. 2 2
      engine/source/gui/containers/guiRolloutCtrl.h
  16. 3 15
      engine/source/gui/containers/guiWindowCtrl.cc
  17. 3 6
      engine/source/gui/containers/guiWindowCtrl.h
  18. 3 3
      engine/source/gui/editor/guiDebugger.cc
  19. 3 3
      engine/source/gui/editor/guiDebugger.h
  20. 3 3
      engine/source/gui/editor/guiEditCtrl.cc
  21. 3 3
      engine/source/gui/editor/guiEditCtrl.h
  22. 12 12
      engine/source/gui/editor/guiMenuBar.cc
  23. 11 11
      engine/source/gui/editor/guiMenuBar.h
  24. 12 12
      engine/source/gui/guiColorPicker.cc
  25. 6 6
      engine/source/gui/guiColorPicker.h
  26. 45 0
      engine/source/gui/guiControl.cc
  27. 4 4
      engine/source/gui/guiListBoxCtrl.cc
  28. 2 2
      engine/source/gui/guiListBoxCtrl.h
  29. 7 7
      engine/source/gui/guiPopUpCtrl.cc
  30. 7 7
      engine/source/gui/guiPopUpCtrl.h
  31. 8 8
      engine/source/gui/guiPopUpCtrlEx.cc
  32. 7 7
      engine/source/gui/guiPopUpCtrlEx.h
  33. 5 0
      engine/source/gui/guiTextEditCtrl.cc
  34. 12 12
      engine/source/gui/guiTreeViewCtrl.cc
  35. 6 6
      engine/source/gui/guiTreeViewCtrl.h
  36. 36 2
      engine/source/gui/guiTypes.cc
  37. 1 1
      engine/source/gui/guiTypes.h
  38. 1 1
      engine/source/input/actionMap.cc
  39. 125 169
      engine/source/math/mMathAMD.cc
  40. 1 0
      engine/source/math/mMathFn.h
  41. 292 39
      engine/source/math/mMathSSE.cc
  42. 1 0
      engine/source/math/mMath_C.cc
  43. 1 1
      engine/source/platform/GLExtFunc.h
  44. 1 1
      engine/source/platform/platform.h
  45. 2 2
      engine/source/platform/platformFileIO.cc
  46. 1 1
      engine/source/platform/platformGL.h
  47. 1 1
      engine/source/platform/platformMemory.h
  48. 1 1
      engine/source/platform/platformNet.cpp
  49. 1 1
      engine/source/platform/platformNetAsync.cpp
  50. 6 0
      engine/source/platform/types.codewarrior.h
  51. 6 1
      engine/source/platform/types.gcc.h
  52. 21 12
      engine/source/platform/types.visualc.h
  53. 5 1
      engine/source/platform/types.win32.h
  54. 0 167
      engine/source/platformWin32/winCPUInfo.cc
  55. 47 52
      engine/source/platformWin32/winFileio.cc
  56. 115 0
      toybox/GuiEditorToy/1/assets/gui/ColorSelectorTool.gui
  57. 73 0
      toybox/GuiEditorToy/1/assets/gui/guiEditorCtrl.gui
  58. 204 0
      toybox/GuiEditorToy/1/assets/gui/guiToolbox.gui
  59. BIN
      toybox/GuiEditorToy/1/assets/gui/images/gridTiny2.PNG
  60. 521 0
      toybox/GuiEditorToy/1/assets/scripts/GuiEditorCtrlProperties.cs
  61. 360 0
      toybox/GuiEditorToy/1/main.cs
  62. 10 0
      toybox/GuiEditorToy/1/module.taml
  63. 142 7
      toybox/Sandbox/1/gui/guiProfiles.cs
  64. BIN
      toybox/Sandbox/1/gui/images/NESW.png
  65. BIN
      toybox/Sandbox/1/gui/images/NWSE.png
  66. BIN
      toybox/Sandbox/1/gui/images/default.png
  67. BIN
      toybox/Sandbox/1/gui/images/dropDown1.png
  68. BIN
      toybox/Sandbox/1/gui/images/dropDown2.png
  69. BIN
      toybox/Sandbox/1/gui/images/leftRight.png
  70. BIN
      toybox/Sandbox/1/gui/images/move.png
  71. BIN
      toybox/Sandbox/1/gui/images/radioButton.png
  72. BIN
      toybox/Sandbox/1/gui/images/radioButton2.png
  73. BIN
      toybox/Sandbox/1/gui/images/simGroupSelected.png
  74. BIN
      toybox/Sandbox/1/gui/images/simGroupSelectedClosed.png
  75. BIN
      toybox/Sandbox/1/gui/images/simgroup.png
  76. BIN
      toybox/Sandbox/1/gui/images/simgroupClosed.png
  77. BIN
      toybox/Sandbox/1/gui/images/treeView.png
  78. BIN
      toybox/Sandbox/1/gui/images/upDown.png
  79. BIN
      toybox/Sandbox/1/gui/images/window.png
  80. 25 16
      toybox/Sandbox/1/scripts/scene.cs

+ 13 - 6
engine/compilers/VisualStudio 2017/Torque 2D.sln

@@ -1,6 +1,6 @@
 Microsoft Visual Studio Solution File, Format Version 12.00
 Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Express 2013 for Windows Desktop
-VisualStudioVersion = 12.0.40629.0
+# Visual Studio 15
+VisualStudioVersion = 15.0.28307.1300
 MinimumVisualStudioVersion = 10.0.40219.1
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Torque2D", "Torque 2D.vcxproj", "{1564A07D-230E-4C90-AEE6-52AC9A58D6C9}"
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Torque2D", "Torque 2D.vcxproj", "{1564A07D-230E-4C90-AEE6-52AC9A58D6C9}"
 	ProjectSection(ProjectDependencies) = postProject
 	ProjectSection(ProjectDependencies) = postProject
@@ -33,7 +33,8 @@ Global
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
 		{1564A07D-230E-4C90-AEE6-52AC9A58D6C9}.Debug|Win32.ActiveCfg = Debug|Win32
 		{1564A07D-230E-4C90-AEE6-52AC9A58D6C9}.Debug|Win32.ActiveCfg = Debug|Win32
 		{1564A07D-230E-4C90-AEE6-52AC9A58D6C9}.Debug|Win32.Build.0 = Debug|Win32
 		{1564A07D-230E-4C90-AEE6-52AC9A58D6C9}.Debug|Win32.Build.0 = Debug|Win32
-		{1564A07D-230E-4C90-AEE6-52AC9A58D6C9}.Debug|x64.ActiveCfg = Debug|Win32
+		{1564A07D-230E-4C90-AEE6-52AC9A58D6C9}.Debug|x64.ActiveCfg = Debug|x64
+		{1564A07D-230E-4C90-AEE6-52AC9A58D6C9}.Debug|x64.Build.0 = Debug|x64
 		{1564A07D-230E-4C90-AEE6-52AC9A58D6C9}.Release|Win32.ActiveCfg = Release|Win32
 		{1564A07D-230E-4C90-AEE6-52AC9A58D6C9}.Release|Win32.ActiveCfg = Release|Win32
 		{1564A07D-230E-4C90-AEE6-52AC9A58D6C9}.Release|Win32.Build.0 = Release|Win32
 		{1564A07D-230E-4C90-AEE6-52AC9A58D6C9}.Release|Win32.Build.0 = Release|Win32
 		{1564A07D-230E-4C90-AEE6-52AC9A58D6C9}.Release|x64.ActiveCfg = Release|Win32
 		{1564A07D-230E-4C90-AEE6-52AC9A58D6C9}.Release|x64.ActiveCfg = Release|Win32
@@ -42,7 +43,8 @@ Global
 		{1564A07D-230E-4C90-AEE6-52AC9A58D6C9}.Shipping|x64.ActiveCfg = Shipping|Win32
 		{1564A07D-230E-4C90-AEE6-52AC9A58D6C9}.Shipping|x64.ActiveCfg = Shipping|Win32
 		{0B07BA94-AA53-4FD4-ADB4-79EC2DA53B36}.Debug|Win32.ActiveCfg = Debug|Win32
 		{0B07BA94-AA53-4FD4-ADB4-79EC2DA53B36}.Debug|Win32.ActiveCfg = Debug|Win32
 		{0B07BA94-AA53-4FD4-ADB4-79EC2DA53B36}.Debug|Win32.Build.0 = Debug|Win32
 		{0B07BA94-AA53-4FD4-ADB4-79EC2DA53B36}.Debug|Win32.Build.0 = Debug|Win32
-		{0B07BA94-AA53-4FD4-ADB4-79EC2DA53B36}.Debug|x64.ActiveCfg = Debug|Win32
+		{0B07BA94-AA53-4FD4-ADB4-79EC2DA53B36}.Debug|x64.ActiveCfg = Debug|x64
+		{0B07BA94-AA53-4FD4-ADB4-79EC2DA53B36}.Debug|x64.Build.0 = Debug|x64
 		{0B07BA94-AA53-4FD4-ADB4-79EC2DA53B36}.Release|Win32.ActiveCfg = Release|Win32
 		{0B07BA94-AA53-4FD4-ADB4-79EC2DA53B36}.Release|Win32.ActiveCfg = Release|Win32
 		{0B07BA94-AA53-4FD4-ADB4-79EC2DA53B36}.Release|Win32.Build.0 = Release|Win32
 		{0B07BA94-AA53-4FD4-ADB4-79EC2DA53B36}.Release|Win32.Build.0 = Release|Win32
 		{0B07BA94-AA53-4FD4-ADB4-79EC2DA53B36}.Release|x64.ActiveCfg = Release|Win32
 		{0B07BA94-AA53-4FD4-ADB4-79EC2DA53B36}.Release|x64.ActiveCfg = Release|Win32
@@ -51,7 +53,8 @@ Global
 		{0B07BA94-AA53-4FD4-ADB4-79EC2DA53B36}.Shipping|x64.ActiveCfg = Shipping|Win32
 		{0B07BA94-AA53-4FD4-ADB4-79EC2DA53B36}.Shipping|x64.ActiveCfg = Shipping|Win32
 		{AF1179E3-A838-46A3-A427-1E62AA4C52F4}.Debug|Win32.ActiveCfg = Debug|Win32
 		{AF1179E3-A838-46A3-A427-1E62AA4C52F4}.Debug|Win32.ActiveCfg = Debug|Win32
 		{AF1179E3-A838-46A3-A427-1E62AA4C52F4}.Debug|Win32.Build.0 = Debug|Win32
 		{AF1179E3-A838-46A3-A427-1E62AA4C52F4}.Debug|Win32.Build.0 = Debug|Win32
-		{AF1179E3-A838-46A3-A427-1E62AA4C52F4}.Debug|x64.ActiveCfg = Debug|Win32
+		{AF1179E3-A838-46A3-A427-1E62AA4C52F4}.Debug|x64.ActiveCfg = Debug|x64
+		{AF1179E3-A838-46A3-A427-1E62AA4C52F4}.Debug|x64.Build.0 = Debug|x64
 		{AF1179E3-A838-46A3-A427-1E62AA4C52F4}.Release|Win32.ActiveCfg = Release|Win32
 		{AF1179E3-A838-46A3-A427-1E62AA4C52F4}.Release|Win32.ActiveCfg = Release|Win32
 		{AF1179E3-A838-46A3-A427-1E62AA4C52F4}.Release|Win32.Build.0 = Release|Win32
 		{AF1179E3-A838-46A3-A427-1E62AA4C52F4}.Release|Win32.Build.0 = Release|Win32
 		{AF1179E3-A838-46A3-A427-1E62AA4C52F4}.Release|x64.ActiveCfg = Release|Win32
 		{AF1179E3-A838-46A3-A427-1E62AA4C52F4}.Release|x64.ActiveCfg = Release|Win32
@@ -60,7 +63,8 @@ Global
 		{AF1179E3-A838-46A3-A427-1E62AA4C52F4}.Shipping|x64.ActiveCfg = Shipping|Win32
 		{AF1179E3-A838-46A3-A427-1E62AA4C52F4}.Shipping|x64.ActiveCfg = Shipping|Win32
 		{86CB2525-0CF3-40D3-BF42-A0A95035EE8C}.Debug|Win32.ActiveCfg = Debug|Win32
 		{86CB2525-0CF3-40D3-BF42-A0A95035EE8C}.Debug|Win32.ActiveCfg = Debug|Win32
 		{86CB2525-0CF3-40D3-BF42-A0A95035EE8C}.Debug|Win32.Build.0 = Debug|Win32
 		{86CB2525-0CF3-40D3-BF42-A0A95035EE8C}.Debug|Win32.Build.0 = Debug|Win32
-		{86CB2525-0CF3-40D3-BF42-A0A95035EE8C}.Debug|x64.ActiveCfg = Debug|Win32
+		{86CB2525-0CF3-40D3-BF42-A0A95035EE8C}.Debug|x64.ActiveCfg = Debug|x64
+		{86CB2525-0CF3-40D3-BF42-A0A95035EE8C}.Debug|x64.Build.0 = Debug|x64
 		{86CB2525-0CF3-40D3-BF42-A0A95035EE8C}.Release|Win32.ActiveCfg = Release|Win32
 		{86CB2525-0CF3-40D3-BF42-A0A95035EE8C}.Release|Win32.ActiveCfg = Release|Win32
 		{86CB2525-0CF3-40D3-BF42-A0A95035EE8C}.Release|Win32.Build.0 = Release|Win32
 		{86CB2525-0CF3-40D3-BF42-A0A95035EE8C}.Release|Win32.Build.0 = Release|Win32
 		{86CB2525-0CF3-40D3-BF42-A0A95035EE8C}.Release|x64.ActiveCfg = Release|Win32
 		{86CB2525-0CF3-40D3-BF42-A0A95035EE8C}.Release|x64.ActiveCfg = Release|Win32
@@ -95,4 +99,7 @@ Global
 	GlobalSection(SolutionProperties) = preSolution
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
 		HideSolutionNode = FALSE
 	EndGlobalSection
 	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {A22C1FEC-DB0E-418F-8851-2DCB8230E6D6}
+	EndGlobalSection
 EndGlobal
 EndGlobal

+ 215 - 34
engine/compilers/VisualStudio 2017/Torque 2D.vcxproj

@@ -5,14 +5,26 @@
       <Configuration>Debug</Configuration>
       <Configuration>Debug</Configuration>
       <Platform>Win32</Platform>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
     <ProjectConfiguration Include="Release|Win32">
     <ProjectConfiguration Include="Release|Win32">
       <Configuration>Release</Configuration>
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
     <ProjectConfiguration Include="Shipping|Win32">
     <ProjectConfiguration Include="Shipping|Win32">
       <Configuration>Shipping</Configuration>
       <Configuration>Shipping</Configuration>
       <Platform>Win32</Platform>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Shipping|x64">
+      <Configuration>Shipping</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   </ItemGroup>
   <PropertyGroup Label="Globals">
   <PropertyGroup Label="Globals">
     <ProjectGuid>{1564A07D-230E-4C90-AEE6-52AC9A58D6C9}</ProjectGuid>
     <ProjectGuid>{1564A07D-230E-4C90-AEE6-52AC9A58D6C9}</ProjectGuid>
@@ -26,16 +38,31 @@
     <UseOfMfc>false</UseOfMfc>
     <UseOfMfc>false</UseOfMfc>
     <PlatformToolset>v141</PlatformToolset>
     <PlatformToolset>v141</PlatformToolset>
   </PropertyGroup>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <PlatformToolset>v141</PlatformToolset>
+  </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'" Label="Configuration">
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <UseOfMfc>false</UseOfMfc>
     <PlatformToolset>v141</PlatformToolset>
     <PlatformToolset>v141</PlatformToolset>
   </PropertyGroup>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <PlatformToolset>v141</PlatformToolset>
+  </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <UseOfMfc>false</UseOfMfc>
     <PlatformToolset>v141</PlatformToolset>
     <PlatformToolset>v141</PlatformToolset>
   </PropertyGroup>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <PlatformToolset>v141</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
   </ImportGroup>
@@ -43,14 +70,26 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
     <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
   </ImportGroup>
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+  </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'" Label="PropertySheets">
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
     <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
   </ImportGroup>
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+  </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
     <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
   </ImportGroup>
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
   <PropertyGroup>
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
@@ -58,15 +97,25 @@
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../Link/VC2012.$(Configuration).$(PlatformName)/$(ProjectName)/</IntDir>
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../Link/VC2012.$(Configuration).$(PlatformName)/$(ProjectName)/</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     </LinkIncremental>
     </LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../</OutDir>
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../</OutDir>
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">../../../</OutDir>
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">../../../</OutDir>
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../Link/VC2012.$(Configuration).$(PlatformName)/$(ProjectName)/</IntDir>
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../Link/VC2012.$(Configuration).$(PlatformName)/$(ProjectName)/</IntDir>
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">../../Link/VC2012.$(Configuration).$(PlatformName)/$(ProjectName)/</IntDir>
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">../../Link/VC2012.$(Configuration).$(PlatformName)/$(ProjectName)/</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">false</LinkIncremental>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">false</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">false</LinkIncremental>
     <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Torque2D_DEBUG</TargetName>
     <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Torque2D_DEBUG</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Torque2D_DEBUG</TargetName>
     <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Torque2D</TargetName>
     <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Torque2D</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Torque2D</TargetName>
     <TargetName Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">Torque2D</TargetName>
     <TargetName Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">Torque2D</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">Torque2D</TargetName>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <OutDir>../../../</OutDir>
+    <IntDir>../../Link/VC2012.$(Configuration).$(PlatformName)/$(ProjectName)/</IntDir>
   </PropertyGroup>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Midl>
     <Midl>
@@ -116,6 +165,54 @@
       <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
       <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
     </Link>
     </Link>
   </ItemDefinitionGroup>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Midl>
+      <TypeLibraryName>$(OutDir)Torque2D.tlb</TypeLibraryName>
+      <HeaderFileName>
+      </HeaderFileName>
+    </Midl>
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>../../Lib/libogg/include;../../Lib/libvorbis/include;../../Lib/LeapSDK/include;../../Lib/zlib;../../Lib/lpng;../../Lib/ljpeg;../../Lib/openal/win32;../../source;../../source/persistence/rapidjson/include;../../source/persistence/libjson;../../source/testing/googleTest;../../source/testing/googleTest/include;../../source/spine;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>TORQUE_DEBUG;TORQUE_DEBUG_GUARD;_CRT_SECURE_NO_DEPRECATE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
+      <RuntimeTypeInfo>true</RuntimeTypeInfo>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <AssemblerListingLocation>$(OutDir)</AssemblerListingLocation>
+      <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
+      <BrowseInformation>false</BrowseInformation>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>CompileAsCpp</CompileAs>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <WarningLevel>Level3</WarningLevel>
+      <DisableSpecificWarnings>4800;4100;4127;4512</DisableSpecificWarnings>
+      <ShowIncludes>false</ShowIncludes>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+      <AdditionalIncludeDirectories>../../Lib/MSPlatformSDK/Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
+    <Link>
+      <AdditionalDependencies>COMCTL32.LIB;COMDLG32.LIB;USER32.LIB;ADVAPI32.LIB;GDI32.LIB;RPCRT4.LIB;WINMM.LIB;WS2_32.LIB;vfw32.lib;Imm32.lib;shell32.lib;shlwapi.lib;ole32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>../../../Torque2D_DEBUG.exe</OutputFile>
+      <SuppressStartupBanner>false</SuppressStartupBanner>
+      <AdditionalLibraryDirectories>../../Lib/unicode;../../lib/MSPlatformSDK/Lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <IgnoreSpecificDefaultLibraries>LIBC;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(IntDir)$(ProjectName).pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Midl>
     <Midl>
       <TypeLibraryName>$(OutDir)Torque2D.tlb</TypeLibraryName>
       <TypeLibraryName>$(OutDir)Torque2D.tlb</TypeLibraryName>
@@ -176,6 +273,65 @@
       </Outputs>
       </Outputs>
     </CustomBuildStep>
     </CustomBuildStep>
   </ItemDefinitionGroup>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Midl>
+      <TypeLibraryName>$(OutDir)Torque2D.tlb</TypeLibraryName>
+      <HeaderFileName>
+      </HeaderFileName>
+    </Midl>
+    <ClCompile>
+      <Optimization>MinSpace</Optimization>
+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+      <AdditionalIncludeDirectories>../../Lib/libogg/include;../../Lib/libvorbis/include;../../Lib/LeapSDK/include;../../Lib/zlib;../../Lib/lpng;../../Lib/ljpeg;../../Lib/openal/win32;../../source;../../source/persistence/rapidjson/include;../../source/persistence/libjson;../../source/testing/googleTest;../../source/testing/googleTest/include;../../source/spine;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>UNICODE;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <StringPooling>true</StringPooling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
+      <RuntimeTypeInfo>true</RuntimeTypeInfo>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <AssemblerListingLocation>$(OutDir)</AssemblerListingLocation>
+      <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
+      <BrowseInformation>false</BrowseInformation>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>CompileAsCpp</CompileAs>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <DisableSpecificWarnings>4800;4100;4127;4512</DisableSpecificWarnings>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+      <AdditionalIncludeDirectories>../../Lib/MSPlatformSDK/Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
+    <Link>
+      <AdditionalDependencies>COMCTL32.LIB;COMDLG32.LIB;USER32.LIB;ADVAPI32.LIB;GDI32.LIB;WINMM.LIB;WS2_32.LIB;vfw32.lib;Imm32.lib;shell32.lib;shlwapi.lib;ole32.lib;RPCRT4.LIB;%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>../../../Torque2D.exe</OutputFile>
+      <SuppressStartupBanner>false</SuppressStartupBanner>
+      <AdditionalLibraryDirectories>../../Lib/unicode;../../Lib/MSPlatformSDK/Lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <IgnoreSpecificDefaultLibraries>LIBC;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(IntDir)$(ProjectName).pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <EnableUAC>false</EnableUAC>
+      <UACExecutionLevel>HighestAvailable</UACExecutionLevel>
+      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
+    </Link>
+    <CustomBuildStep>
+      <Command>
+      </Command>
+    </CustomBuildStep>
+    <CustomBuildStep />
+    <CustomBuildStep>
+      <Outputs>
+      </Outputs>
+    </CustomBuildStep>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">
     <Midl>
     <Midl>
       <TypeLibraryName>$(OutDir)Torque2D.tlb</TypeLibraryName>
       <TypeLibraryName>$(OutDir)Torque2D.tlb</TypeLibraryName>
@@ -236,6 +392,65 @@
       </Outputs>
       </Outputs>
     </CustomBuildStep>
     </CustomBuildStep>
   </ItemDefinitionGroup>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">
+    <Midl>
+      <TypeLibraryName>$(OutDir)Torque2D.tlb</TypeLibraryName>
+      <HeaderFileName>
+      </HeaderFileName>
+    </Midl>
+    <ClCompile>
+      <Optimization>MinSpace</Optimization>
+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+      <AdditionalIncludeDirectories>../../Lib/LeapSDK/include;../../Lib/zlib;../../Lib/lpng;../../Lib/ljpeg;../../Lib/openal/win32;../../Source;../../Source/persistence/rapidjson/include;../../Source/persistence/libjson;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>TORQUE_SHIPPING;UNICODE;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <StringPooling>true</StringPooling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
+      <RuntimeTypeInfo>true</RuntimeTypeInfo>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <AssemblerListingLocation>$(OutDir)</AssemblerListingLocation>
+      <ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
+      <BrowseInformation>false</BrowseInformation>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>CompileAsCpp</CompileAs>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <DisableSpecificWarnings>4800;4100;4127;4512</DisableSpecificWarnings>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+      <AdditionalIncludeDirectories>../../Lib/MSPlatformSDK/Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
+    <Link>
+      <AdditionalDependencies>COMCTL32.LIB;COMDLG32.LIB;USER32.LIB;ADVAPI32.LIB;GDI32.LIB;WINMM.LIB;WS2_32.LIB;vfw32.lib;Imm32.lib;shell32.lib;shlwapi.lib;ole32.lib;RPCRT4.LIB;%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>../../../Torque2D.exe</OutputFile>
+      <SuppressStartupBanner>false</SuppressStartupBanner>
+      <AdditionalLibraryDirectories>../../Lib/unicode;../../Lib/MSPlatformSDK/Lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <IgnoreSpecificDefaultLibraries>LIBC;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
+      <GenerateDebugInformation>false</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(IntDir)$(ProjectName).pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <EnableUAC>false</EnableUAC>
+      <UACExecutionLevel>HighestAvailable</UACExecutionLevel>
+      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
+    </Link>
+    <CustomBuildStep>
+      <Command>
+      </Command>
+    </CustomBuildStep>
+    <CustomBuildStep />
+    <CustomBuildStep>
+      <Outputs>
+      </Outputs>
+    </CustomBuildStep>
+  </ItemDefinitionGroup>
   <ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="Torque 2D.rc" />
     <ResourceCompile Include="Torque 2D.rc" />
   </ItemGroup>
   </ItemGroup>
@@ -1290,40 +1505,6 @@
     <ClInclude Include="..\..\source\torqueConfig.h" />
     <ClInclude Include="..\..\source\torqueConfig.h" />
     <ClInclude Include="resource.h" />
     <ClInclude Include="resource.h" />
   </ItemGroup>
   </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\..\source\math\mMath_ASM.asm">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(SolutionDir)..\..\Bin\nasm\nasmw.exe" -f win32 "%(FullPath)" -o "$(IntDir)%(Filename).obj"</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename).obj;%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(SolutionDir)..\..\Bin\nasm\nasmw.exe" -f win32 "%(FullPath)" -o "$(IntDir)%(Filename).obj"</Command>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">"$(SolutionDir)..\..\Bin\nasm\nasmw.exe" -f win32 "%(FullPath)" -o "$(IntDir)%(Filename).obj"</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename).obj;%(Outputs)</Outputs>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">$(IntDir)%(Filename).obj;%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="..\..\source\math\mMathAMD_ASM.asm">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(SolutionDir)..\..\Bin\nasm\nasmw.exe" -f win32 "%(FullPath)" -o "$(IntDir)%(Filename).obj"</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename).obj;%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(SolutionDir)..\..\Bin\nasm\nasmw.exe" -f win32 "%(FullPath)" -o "$(IntDir)%(Filename).obj"</Command>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">"$(SolutionDir)..\..\Bin\nasm\nasmw.exe" -f win32 "%(FullPath)" -o "$(IntDir)%(Filename).obj"</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename).obj;%(Outputs)</Outputs>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">$(IntDir)%(Filename).obj;%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="..\..\source\math\mMathSSE_ASM.asm">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(SolutionDir)..\..\Bin\nasm\nasmw.exe" -f win32 "%(FullPath)" -o "$(IntDir)%(Filename).obj"</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename).obj;%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(SolutionDir)..\..\Bin\nasm\nasmw.exe" -f win32 "%(FullPath)" -o "$(IntDir)%(Filename).obj"</Command>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">"$(SolutionDir)..\..\Bin\nasm\nasmw.exe" -f win32 "%(FullPath)" -o "$(IntDir)%(Filename).obj"</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename).obj;%(Outputs)</Outputs>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">$(IntDir)%(Filename).obj;%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="..\..\source\platform\platformCPUInfo.asm">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(SolutionDir)..\..\Bin\nasm\nasmw.exe" -f win32 "%(FullPath)" -o "$(IntDir)%(Filename).obj"</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename).obj;%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(SolutionDir)..\..\Bin\nasm\nasmw.exe" -f win32 "%(FullPath)" -o "$(IntDir)%(Filename).obj"</Command>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">"$(SolutionDir)..\..\Bin\nasm\nasmw.exe" -f win32 "%(FullPath)" -o "$(IntDir)%(Filename).obj"</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename).obj;%(Outputs)</Outputs>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">$(IntDir)%(Filename).obj;%(Outputs)</Outputs>
-    </CustomBuild>
-  </ItemGroup>
   <ItemGroup>
   <ItemGroup>
     <ProjectReference Include="libogg.vcxproj">
     <ProjectReference Include="libogg.vcxproj">
       <Project>{15cbfeff-7965-41f5-b4e2-21e8795c9159}</Project>
       <Project>{15cbfeff-7965-41f5-b4e2-21e8795c9159}</Project>

+ 0 - 14
engine/compilers/VisualStudio 2017/Torque 2D.vcxproj.filters

@@ -3320,20 +3320,6 @@
       <Filter>gui\containers</Filter>
       <Filter>gui\containers</Filter>
     </ClInclude>
     </ClInclude>
   </ItemGroup>
   </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\..\source\math\mMath_ASM.asm">
-      <Filter>math</Filter>
-    </CustomBuild>
-    <CustomBuild Include="..\..\source\math\mMathAMD_ASM.asm">
-      <Filter>math</Filter>
-    </CustomBuild>
-    <CustomBuild Include="..\..\source\math\mMathSSE_ASM.asm">
-      <Filter>math</Filter>
-    </CustomBuild>
-    <CustomBuild Include="..\..\source\platform\platformCPUInfo.asm">
-      <Filter>platform</Filter>
-    </CustomBuild>
-  </ItemGroup>
   <ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="Torque 2D.rc" />
     <ResourceCompile Include="Torque 2D.rc" />
   </ItemGroup>
   </ItemGroup>

+ 7 - 4
engine/compilers/VisualStudio 2017/libogg.vcxproj

@@ -75,8 +75,8 @@
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\../../Link/Debug\</OutDir>
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\../../Link/Debug\</OutDir>
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\../../Link/Debug/libogg\</IntDir>
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\../../Link/Debug/libogg\</IntDir>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\../../Link/Debug\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\../../Link/Debug/libogg\</IntDir>
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\../../Link/Release\</OutDir>
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\../../Link/Release\</OutDir>
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\../../Link/Release/libogg\</IntDir>
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\../../Link/Release/libogg\</IntDir>
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
@@ -111,17 +111,20 @@
     </Midl>
     </Midl>
     <ClCompile>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\Lib\libogg\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBOGG_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBOGG_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
       <PrecompiledHeader>
       <PrecompiledHeader>
       </PrecompiledHeader>
       </PrecompiledHeader>
-      <WarningLevel>Level4</WarningLevel>
+      <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>CompileAsC</CompileAs>
       <CompileAs>CompileAsC</CompileAs>
       <CallingConvention>Cdecl</CallingConvention>
       <CallingConvention>Cdecl</CallingConvention>
+      <AssemblerListingLocation>.\../../Link/Debug/libogg/</AssemblerListingLocation>
+      <ObjectFileName>.\../../Link/Debug/libogg/</ObjectFileName>
+      <ProgramDataBaseFileName>.\../../Link/Debug/libogg/</ProgramDataBaseFileName>
     </ClCompile>
     </ClCompile>
   </ItemDefinitionGroup>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

+ 7 - 4
engine/compilers/VisualStudio 2017/libvorbis.vcxproj

@@ -71,8 +71,8 @@
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\../../Link/Debug\</OutDir>
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\../../Link/Debug\</OutDir>
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\../../Link/Debug/libvorbis\</IntDir>
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\../../Link/Debug/libvorbis\</IntDir>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\../../Link/Debug\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\../../Link/Debug/libvorbis\</IntDir>
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\../../Link/Release\</OutDir>
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\../../Link/Release\</OutDir>
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\../../Link/Release/libvorbis\</IntDir>
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\../../Link/Release/libvorbis\</IntDir>
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
@@ -107,17 +107,20 @@
     </Midl>
     </Midl>
     <ClCompile>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\libogg\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\Lib\libvorbis\lib;..\..\Lib\libvorbis\include;..\..\Lib\libogg\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBVORBIS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBVORBIS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <PrecompiledHeader>
       <PrecompiledHeader>
       </PrecompiledHeader>
       </PrecompiledHeader>
-      <WarningLevel>Level4</WarningLevel>
+      <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>CompileAsC</CompileAs>
       <CompileAs>CompileAsC</CompileAs>
       <CallingConvention>Cdecl</CallingConvention>
       <CallingConvention>Cdecl</CallingConvention>
+      <AssemblerListingLocation>.\../../Link/Debug/libvorbis/</AssemblerListingLocation>
+      <ProgramDataBaseFileName>.\../../Link/Debug/libvorbis/</ProgramDataBaseFileName>
+      <DisableSpecificWarnings>4244;4100;4267;4189;4305;4127;4706;%(DisableSpecificWarnings)</DisableSpecificWarnings>
     </ClCompile>
     </ClCompile>
   </ItemDefinitionGroup>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

+ 497 - 0
engine/compilers/VisualStudio 2017/ljpeg.vcxproj

@@ -5,14 +5,26 @@
       <Configuration>Debug</Configuration>
       <Configuration>Debug</Configuration>
       <Platform>Win32</Platform>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
     <ProjectConfiguration Include="Release|Win32">
     <ProjectConfiguration Include="Release|Win32">
       <Configuration>Release</Configuration>
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
     <ProjectConfiguration Include="Shipping|Win32">
     <ProjectConfiguration Include="Shipping|Win32">
       <Configuration>Shipping</Configuration>
       <Configuration>Shipping</Configuration>
       <Platform>Win32</Platform>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Shipping|x64">
+      <Configuration>Shipping</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   </ItemGroup>
   <PropertyGroup Label="Globals">
   <PropertyGroup Label="Globals">
     <ProjectGuid>{0B07BA94-AA53-4FD4-ADB4-79EC2DA53B36}</ProjectGuid>
     <ProjectGuid>{0B07BA94-AA53-4FD4-ADB4-79EC2DA53B36}</ProjectGuid>
@@ -24,16 +36,31 @@
     <UseOfMfc>false</UseOfMfc>
     <UseOfMfc>false</UseOfMfc>
     <PlatformToolset>v141</PlatformToolset>
     <PlatformToolset>v141</PlatformToolset>
   </PropertyGroup>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <PlatformToolset>v141</PlatformToolset>
+  </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>StaticLibrary</ConfigurationType>
     <ConfigurationType>StaticLibrary</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <UseOfMfc>false</UseOfMfc>
     <PlatformToolset>v141</PlatformToolset>
     <PlatformToolset>v141</PlatformToolset>
   </PropertyGroup>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <PlatformToolset>v141</PlatformToolset>
+  </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'" Label="Configuration">
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'" Label="Configuration">
     <ConfigurationType>StaticLibrary</ConfigurationType>
     <ConfigurationType>StaticLibrary</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <UseOfMfc>false</UseOfMfc>
     <PlatformToolset>v141</PlatformToolset>
     <PlatformToolset>v141</PlatformToolset>
   </PropertyGroup>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <PlatformToolset>v141</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
   </ImportGroup>
@@ -41,14 +68,26 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
     <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
   </ImportGroup>
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+  </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
     <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
   </ImportGroup>
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+  </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'" Label="PropertySheets">
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
     <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
   </ImportGroup>
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
   <PropertyGroup>
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
@@ -59,6 +98,7 @@
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\../../Link/Debug\</OutDir>
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\../../Link/Debug\</OutDir>
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\../../Link/Debug/ljpeg\</IntDir>
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\../../Link/Debug/ljpeg\</IntDir>
     <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)_DEBUG</TargetName>
     <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)_DEBUG</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectName)_DEBUG</TargetName>
   </PropertyGroup>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
     <ClCompile>
@@ -90,6 +130,36 @@
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <SuppressStartupBanner>true</SuppressStartupBanner>
     </Lib>
     </Lib>
   </ItemDefinitionGroup>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+      <AdditionalIncludeDirectories>ljpeg;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <StringPooling>true</StringPooling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
+      <RuntimeTypeInfo>true</RuntimeTypeInfo>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <PrecompiledHeaderOutputFile>.\../../Link/Release/ljpeg/ljpeg.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\../../Link/Release/ljpeg/</AssemblerListingLocation>
+      <ObjectFileName>.\../../Link/Release/ljpeg/</ObjectFileName>
+      <ProgramDataBaseFileName>.\../../Link/Release/ljpeg/</ProgramDataBaseFileName>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <CompileAs>Default</CompileAs>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib>
+      <OutputFile>.\../../Link/Release\ljpeg.lib</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+    </Lib>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">
     <ClCompile>
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
       <Optimization>MaxSpeed</Optimization>
@@ -120,6 +190,36 @@
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <SuppressStartupBanner>true</SuppressStartupBanner>
     </Lib>
     </Lib>
   </ItemDefinitionGroup>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+      <AdditionalIncludeDirectories>ljpeg;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <StringPooling>true</StringPooling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
+      <RuntimeTypeInfo>true</RuntimeTypeInfo>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <PrecompiledHeaderOutputFile>.\../../Link/Release/ljpeg/ljpeg.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\../../Link/Release/ljpeg/</AssemblerListingLocation>
+      <ObjectFileName>.\../../Link/Release/ljpeg/</ObjectFileName>
+      <ProgramDataBaseFileName>.\../../Link/Release/ljpeg/</ProgramDataBaseFileName>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <CompileAs>Default</CompileAs>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib>
+      <OutputFile>.\../../Link/Release\ljpeg.lib</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+    </Lib>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <Optimization>Disabled</Optimization>
@@ -149,466 +249,863 @@
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <SuppressStartupBanner>true</SuppressStartupBanner>
     </Lib>
     </Lib>
   </ItemDefinitionGroup>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>ljpeg;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>TORQUE_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
+      <RuntimeTypeInfo>true</RuntimeTypeInfo>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <PrecompiledHeaderOutputFile>.\../../Link/Debug/ljpeg/ljpeg.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\../../Link/Debug/ljpeg/</AssemblerListingLocation>
+      <ObjectFileName>.\../../Link/Debug/ljpeg/</ObjectFileName>
+      <ProgramDataBaseFileName>.\../../Link/Debug/ljpeg/</ProgramDataBaseFileName>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>Default</CompileAs>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib>
+      <OutputFile>.\../../Link/Debug\ljpeg.lib</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+    </Lib>
+  </ItemDefinitionGroup>
   <ItemGroup>
   <ItemGroup>
     <ClCompile Include="..\..\Lib\ljpeg\jcapimin.c">
     <ClCompile Include="..\..\Lib\ljpeg\jcapimin.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jcapistd.c">
     <ClCompile Include="..\..\Lib\ljpeg\jcapistd.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jccoefct.c">
     <ClCompile Include="..\..\Lib\ljpeg\jccoefct.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jccolor.c">
     <ClCompile Include="..\..\Lib\ljpeg\jccolor.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jcdctmgr.c">
     <ClCompile Include="..\..\Lib\ljpeg\jcdctmgr.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jchuff.c">
     <ClCompile Include="..\..\Lib\ljpeg\jchuff.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jcinit.c">
     <ClCompile Include="..\..\Lib\ljpeg\jcinit.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jcmainct.c">
     <ClCompile Include="..\..\Lib\ljpeg\jcmainct.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jcmarker.c">
     <ClCompile Include="..\..\Lib\ljpeg\jcmarker.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jcmaster.c">
     <ClCompile Include="..\..\Lib\ljpeg\jcmaster.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jcomapi.c">
     <ClCompile Include="..\..\Lib\ljpeg\jcomapi.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jcparam.c">
     <ClCompile Include="..\..\Lib\ljpeg\jcparam.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jcphuff.c">
     <ClCompile Include="..\..\Lib\ljpeg\jcphuff.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jcprepct.c">
     <ClCompile Include="..\..\Lib\ljpeg\jcprepct.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jcsample.c">
     <ClCompile Include="..\..\Lib\ljpeg\jcsample.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jctrans.c">
     <ClCompile Include="..\..\Lib\ljpeg\jctrans.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jdapimin.c">
     <ClCompile Include="..\..\Lib\ljpeg\jdapimin.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jdapistd.c">
     <ClCompile Include="..\..\Lib\ljpeg\jdapistd.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jdatadst.c">
     <ClCompile Include="..\..\Lib\ljpeg\jdatadst.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jdatasrc.c">
     <ClCompile Include="..\..\Lib\ljpeg\jdatasrc.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jdcoefct.c">
     <ClCompile Include="..\..\Lib\ljpeg\jdcoefct.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jdcolor.c">
     <ClCompile Include="..\..\Lib\ljpeg\jdcolor.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jddctmgr.c">
     <ClCompile Include="..\..\Lib\ljpeg\jddctmgr.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jdhuff.c">
     <ClCompile Include="..\..\Lib\ljpeg\jdhuff.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jdinput.c">
     <ClCompile Include="..\..\Lib\ljpeg\jdinput.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jdmainct.c">
     <ClCompile Include="..\..\Lib\ljpeg\jdmainct.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jdmarker.c">
     <ClCompile Include="..\..\Lib\ljpeg\jdmarker.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jdmaster.c">
     <ClCompile Include="..\..\Lib\ljpeg\jdmaster.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jdmerge.c">
     <ClCompile Include="..\..\Lib\ljpeg\jdmerge.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jdphuff.c">
     <ClCompile Include="..\..\Lib\ljpeg\jdphuff.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jdpostct.c">
     <ClCompile Include="..\..\Lib\ljpeg\jdpostct.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jdsample.c">
     <ClCompile Include="..\..\Lib\ljpeg\jdsample.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jdtrans.c">
     <ClCompile Include="..\..\Lib\ljpeg\jdtrans.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jerror.c">
     <ClCompile Include="..\..\Lib\ljpeg\jerror.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jfdctflt.c">
     <ClCompile Include="..\..\Lib\ljpeg\jfdctflt.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jfdctfst.c">
     <ClCompile Include="..\..\Lib\ljpeg\jfdctfst.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jfdctint.c">
     <ClCompile Include="..\..\Lib\ljpeg\jfdctint.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jidctflt.c">
     <ClCompile Include="..\..\Lib\ljpeg\jidctflt.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jidctfst.c">
     <ClCompile Include="..\..\Lib\ljpeg\jidctfst.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jidctint.c">
     <ClCompile Include="..\..\Lib\ljpeg\jidctint.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jidctred.c">
     <ClCompile Include="..\..\Lib\ljpeg\jidctred.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jmemmgr.c">
     <ClCompile Include="..\..\Lib\ljpeg\jmemmgr.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jmemnobs.c">
     <ClCompile Include="..\..\Lib\ljpeg\jmemnobs.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jquant1.c">
     <ClCompile Include="..\..\Lib\ljpeg\jquant1.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jquant2.c">
     <ClCompile Include="..\..\Lib\ljpeg\jquant2.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="..\..\Lib\ljpeg\jutils.c">
     <ClCompile Include="..\..\Lib\ljpeg\jutils.c">
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
       <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
       <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">MaxSpeed</Optimization>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
   </ItemGroup>
   </ItemGroup>
   <ItemGroup>
   <ItemGroup>

+ 129 - 0
engine/compilers/VisualStudio 2017/lpng.vcxproj

@@ -5,14 +5,26 @@
       <Configuration>Debug</Configuration>
       <Configuration>Debug</Configuration>
       <Platform>Win32</Platform>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
     <ProjectConfiguration Include="Release|Win32">
     <ProjectConfiguration Include="Release|Win32">
       <Configuration>Release</Configuration>
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
     <ProjectConfiguration Include="Shipping|Win32">
     <ProjectConfiguration Include="Shipping|Win32">
       <Configuration>Shipping</Configuration>
       <Configuration>Shipping</Configuration>
       <Platform>Win32</Platform>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Shipping|x64">
+      <Configuration>Shipping</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   </ItemGroup>
   <PropertyGroup Label="Globals">
   <PropertyGroup Label="Globals">
     <ProjectGuid>{AF1179E3-A838-46A3-A427-1E62AA4C52F4}</ProjectGuid>
     <ProjectGuid>{AF1179E3-A838-46A3-A427-1E62AA4C52F4}</ProjectGuid>
@@ -24,16 +36,31 @@
     <UseOfMfc>false</UseOfMfc>
     <UseOfMfc>false</UseOfMfc>
     <PlatformToolset>v141</PlatformToolset>
     <PlatformToolset>v141</PlatformToolset>
   </PropertyGroup>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <PlatformToolset>v141</PlatformToolset>
+  </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'" Label="Configuration">
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'" Label="Configuration">
     <ConfigurationType>StaticLibrary</ConfigurationType>
     <ConfigurationType>StaticLibrary</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <UseOfMfc>false</UseOfMfc>
     <PlatformToolset>v141</PlatformToolset>
     <PlatformToolset>v141</PlatformToolset>
   </PropertyGroup>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <PlatformToolset>v141</PlatformToolset>
+  </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>StaticLibrary</ConfigurationType>
     <ConfigurationType>StaticLibrary</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <UseOfMfc>false</UseOfMfc>
     <PlatformToolset>v141</PlatformToolset>
     <PlatformToolset>v141</PlatformToolset>
   </PropertyGroup>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <PlatformToolset>v141</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
   </ImportGroup>
@@ -41,14 +68,26 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
     <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
   </ImportGroup>
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+  </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'" Label="PropertySheets">
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
     <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
   </ImportGroup>
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+  </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
     <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
   </ImportGroup>
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
   <PropertyGroup>
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
@@ -59,6 +98,7 @@
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\../../Link/Release/lpng\</IntDir>
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\../../Link/Release/lpng\</IntDir>
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">.\../../Link/Release/lpng\</IntDir>
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">.\../../Link/Release/lpng\</IntDir>
     <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)_DEBUG</TargetName>
     <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)_DEBUG</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectName)_DEBUG</TargetName>
   </PropertyGroup>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
     <ClCompile>
@@ -89,6 +129,35 @@
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <SuppressStartupBanner>true</SuppressStartupBanner>
     </Lib>
     </Lib>
   </ItemDefinitionGroup>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>..\..\Lib\lpng;..\..\Lib\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>TORQUE_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
+      <RuntimeTypeInfo>true</RuntimeTypeInfo>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <PrecompiledHeaderOutputFile>.\../../Link/Debug/lpng/lpng.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\../../Link/Debug/lpng/</AssemblerListingLocation>
+      <ObjectFileName>.\../../Link/Debug/lpng/</ObjectFileName>
+      <ProgramDataBaseFileName>.\../../Link/Debug/lpng/</ProgramDataBaseFileName>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>Default</CompileAs>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib>
+      <OutputFile>.\../../Link/Debug\lpng.lib</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+    </Lib>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
       <Optimization>MaxSpeed</Optimization>
@@ -119,6 +188,36 @@
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <SuppressStartupBanner>true</SuppressStartupBanner>
     </Lib>
     </Lib>
   </ItemDefinitionGroup>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+      <AdditionalIncludeDirectories>..\..\Lib\lpng;..\..\Lib\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <StringPooling>true</StringPooling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
+      <RuntimeTypeInfo>true</RuntimeTypeInfo>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <PrecompiledHeaderOutputFile>.\../../Link/Release/lpng/lpng.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\../../Link/Release/lpng/</AssemblerListingLocation>
+      <ObjectFileName>.\../../Link/Release/lpng/</ObjectFileName>
+      <ProgramDataBaseFileName>.\../../Link/Release/lpng/</ProgramDataBaseFileName>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <CompileAs>Default</CompileAs>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib>
+      <OutputFile>.\../../Link/Release\lpng.lib</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+    </Lib>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">
     <ClCompile>
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
       <Optimization>MaxSpeed</Optimization>
@@ -149,6 +248,36 @@
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <SuppressStartupBanner>true</SuppressStartupBanner>
     </Lib>
     </Lib>
   </ItemDefinitionGroup>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+      <AdditionalIncludeDirectories>..\..\Lib\lpng;..\..\Lib\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <StringPooling>true</StringPooling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
+      <RuntimeTypeInfo>true</RuntimeTypeInfo>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <PrecompiledHeaderOutputFile>.\../../Link/Release/lpng/lpng.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\../../Link/Release/lpng/</AssemblerListingLocation>
+      <ObjectFileName>.\../../Link/Release/lpng/</ObjectFileName>
+      <ProgramDataBaseFileName>.\../../Link/Release/lpng/</ProgramDataBaseFileName>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <CompileAs>Default</CompileAs>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib>
+      <OutputFile>.\../../Link/Release\lpng.lib</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+    </Lib>
+  </ItemDefinitionGroup>
   <ItemGroup>
   <ItemGroup>
     <ProjectReference Include="zlib.vcxproj">
     <ProjectReference Include="zlib.vcxproj">
       <Project>{86cb2525-0cf3-40d3-bf42-a0a95035ee8c}</Project>
       <Project>{86cb2525-0cf3-40d3-bf42-a0a95035ee8c}</Project>

+ 129 - 0
engine/compilers/VisualStudio 2017/zlib.vcxproj

@@ -5,14 +5,26 @@
       <Configuration>Debug</Configuration>
       <Configuration>Debug</Configuration>
       <Platform>Win32</Platform>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
     <ProjectConfiguration Include="Release|Win32">
     <ProjectConfiguration Include="Release|Win32">
       <Configuration>Release</Configuration>
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
     <ProjectConfiguration Include="Shipping|Win32">
     <ProjectConfiguration Include="Shipping|Win32">
       <Configuration>Shipping</Configuration>
       <Configuration>Shipping</Configuration>
       <Platform>Win32</Platform>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Shipping|x64">
+      <Configuration>Shipping</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   </ItemGroup>
   <ItemGroup>
   <ItemGroup>
     <ClCompile Include="..\..\lib\zlib\adler32.c" />
     <ClCompile Include="..\..\lib\zlib\adler32.c" />
@@ -54,16 +66,31 @@
     <UseOfMfc>false</UseOfMfc>
     <UseOfMfc>false</UseOfMfc>
     <PlatformToolset>v141</PlatformToolset>
     <PlatformToolset>v141</PlatformToolset>
   </PropertyGroup>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <PlatformToolset>v141</PlatformToolset>
+  </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'" Label="Configuration">
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'" Label="Configuration">
     <ConfigurationType>StaticLibrary</ConfigurationType>
     <ConfigurationType>StaticLibrary</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <UseOfMfc>false</UseOfMfc>
     <PlatformToolset>v141</PlatformToolset>
     <PlatformToolset>v141</PlatformToolset>
   </PropertyGroup>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <PlatformToolset>v141</PlatformToolset>
+  </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>StaticLibrary</ConfigurationType>
     <ConfigurationType>StaticLibrary</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <UseOfMfc>false</UseOfMfc>
     <PlatformToolset>v141</PlatformToolset>
     <PlatformToolset>v141</PlatformToolset>
   </PropertyGroup>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <PlatformToolset>v141</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
   </ImportGroup>
@@ -71,14 +98,26 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
     <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
   </ImportGroup>
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+  </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'" Label="PropertySheets">
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
     <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
   </ImportGroup>
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+  </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
     <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
   </ImportGroup>
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
   <PropertyGroup>
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
@@ -89,6 +128,7 @@
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\../../Link/Release/zlib\</IntDir>
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\../../Link/Release/zlib\</IntDir>
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">.\../../Link/Release/zlib\</IntDir>
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">.\../../Link/Release/zlib\</IntDir>
     <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)_DEBUG</TargetName>
     <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)_DEBUG</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectName)_DEBUG</TargetName>
   </PropertyGroup>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
     <ClCompile>
@@ -119,6 +159,35 @@
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <SuppressStartupBanner>true</SuppressStartupBanner>
     </Lib>
     </Lib>
   </ItemDefinitionGroup>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>TORQUE_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
+      <RuntimeTypeInfo>true</RuntimeTypeInfo>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <PrecompiledHeaderOutputFile>.\../../Link/Debug/zlib/zlib.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\../../Link/Debug/zlib/</AssemblerListingLocation>
+      <ObjectFileName>.\../../Link/Debug/zlib/</ObjectFileName>
+      <ProgramDataBaseFileName>.\../../Link/Debug/zlib/</ProgramDataBaseFileName>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>Default</CompileAs>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib>
+      <OutputFile>.\../../Link/Debug\zlib.lib</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+    </Lib>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
       <Optimization>MaxSpeed</Optimization>
@@ -149,6 +218,36 @@
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <SuppressStartupBanner>true</SuppressStartupBanner>
     </Lib>
     </Lib>
   </ItemDefinitionGroup>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+      <AdditionalIncludeDirectories>zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <StringPooling>true</StringPooling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
+      <RuntimeTypeInfo>true</RuntimeTypeInfo>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <PrecompiledHeaderOutputFile>.\../../Link/Release/zlib/zlib.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\../../Link/Release/zlib/</AssemblerListingLocation>
+      <ObjectFileName>.\../../Link/Release/zlib/</ObjectFileName>
+      <ProgramDataBaseFileName>.\../../Link/Release/zlib/</ProgramDataBaseFileName>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <CompileAs>Default</CompileAs>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib>
+      <OutputFile>.\../../Link/Release\zlib.lib</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+    </Lib>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|Win32'">
     <ClCompile>
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
       <Optimization>MaxSpeed</Optimization>
@@ -179,6 +278,36 @@
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <SuppressStartupBanner>true</SuppressStartupBanner>
     </Lib>
     </Lib>
   </ItemDefinitionGroup>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|x64'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+      <AdditionalIncludeDirectories>zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <StringPooling>true</StringPooling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
+      <RuntimeTypeInfo>true</RuntimeTypeInfo>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <PrecompiledHeaderOutputFile>.\../../Link/Release/zlib/zlib.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\../../Link/Release/zlib/</AssemblerListingLocation>
+      <ObjectFileName>.\../../Link/Release/zlib/</ObjectFileName>
+      <ProgramDataBaseFileName>.\../../Link/Release/zlib/</ProgramDataBaseFileName>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <CompileAs>Default</CompileAs>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib>
+      <OutputFile>.\../../Link/Release\zlib.lib</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+    </Lib>
+  </ItemDefinitionGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
   </ImportGroup>

+ 1 - 1
engine/source/console/CMDscan.cc

@@ -2151,7 +2151,7 @@ void CMDerror(char *format, ...)
    char tempBuf[BUFMAX];
    char tempBuf[BUFMAX];
    va_list args;   
    va_list args;   
    va_start( args, format );   
    va_start( args, format );   
-#ifdef TORQUE_OS_WIN32
+#ifdef TORQUE_OS_WIN
    _vsnprintf( tempBuf, BUFMAX, format, args );
    _vsnprintf( tempBuf, BUFMAX, format, args );
 #else
 #else
    vsnprintf( tempBuf, BUFMAX, format, args );
    vsnprintf( tempBuf, BUFMAX, format, args );

+ 3 - 3
engine/source/gui/containers/guiDragAndDropCtrl.cc

@@ -61,12 +61,12 @@ void GuiDragAndDropControl::startDragging(Point2I offset)
    mLastTarget=NULL;
    mLastTarget=NULL;
 }
 }
 
 
-void GuiDragAndDropControl::onMouseDown(const GuiEvent& event)
+void GuiDragAndDropControl::onTouchDown(const GuiEvent& event)
 {
 {
    startDragging(event.mousePoint - mBounds.point);
    startDragging(event.mousePoint - mBounds.point);
 }
 }
 
 
-void GuiDragAndDropControl::onMouseDragged(const GuiEvent& event)
+void GuiDragAndDropControl::onTouchDragged(const GuiEvent& event)
 {
 {
    mBounds.point = event.mousePoint - mOffset;
    mBounds.point = event.mousePoint - mOffset;
 
 
@@ -83,7 +83,7 @@ void GuiDragAndDropControl::onMouseDragged(const GuiEvent& event)
    sendDragEvent(dragTarget, "onControlDragged");
    sendDragEvent(dragTarget, "onControlDragged");
 }
 }
 
 
-void GuiDragAndDropControl::onMouseUp(const GuiEvent& event)
+void GuiDragAndDropControl::onTouchUp(const GuiEvent& event)
 {
 {
    mouseUnlock();
    mouseUnlock();
 
 

+ 3 - 3
engine/source/gui/containers/guiDragAndDropCtrl.h

@@ -52,9 +52,9 @@ public:
 
 
    void startDragging(Point2I offset = Point2I(0, 0));
    void startDragging(Point2I offset = Point2I(0, 0));
 
 
-   virtual void onMouseDown(const GuiEvent& event);
-   virtual void onMouseDragged(const GuiEvent& event);
-   virtual void onMouseUp(const GuiEvent& event);
+   virtual void onTouchDown(const GuiEvent& event);
+   virtual void onTouchDragged(const GuiEvent& event);
+   virtual void onTouchUp(const GuiEvent& event);
 
 
    static void initPersistFields();
    static void initPersistFields();
 
 

+ 6 - 6
engine/source/gui/containers/guiFormCtrl.cc

@@ -293,7 +293,7 @@ void GuiFormCtrl::onRender(Point2I offset, const RectI &updateRect)
    renderChildControls(offset, mBounds, updateRect);
    renderChildControls(offset, mBounds, updateRect);
 }
 }
 
 
-void GuiFormCtrl::onMouseDragged(const GuiEvent &event)
+void GuiFormCtrl::onTouchDragged(const GuiEvent &event)
 {
 {
    GuiControl *parent = getParent();
    GuiControl *parent = getParent();
    GuiCanvas *root = getRoot();
    GuiCanvas *root = getRoot();
@@ -315,7 +315,7 @@ void GuiFormCtrl::onMouseDragged(const GuiEvent &event)
 }
 }
 
 
 
 
-void GuiFormCtrl::onMouseMove(const GuiEvent &event)
+void GuiFormCtrl::onTouchMove(const GuiEvent &event)
 {
 {
    Point2I localMove = globalToLocalCoord(event.mousePoint);
    Point2I localMove = globalToLocalCoord(event.mousePoint);
 
 
@@ -326,7 +326,7 @@ void GuiFormCtrl::onMouseMove(const GuiEvent &event)
 
 
 }
 }
 
 
-void GuiFormCtrl::onMouseEnter(const GuiEvent &event)
+void GuiFormCtrl::onTouchEnter(const GuiEvent &event)
 {
 {
    setUpdate();
    setUpdate();
    if(isMouseLocked())
    if(isMouseLocked())
@@ -341,7 +341,7 @@ void GuiFormCtrl::onMouseEnter(const GuiEvent &event)
 
 
 }
 }
 
 
-void GuiFormCtrl::onMouseLeave(const GuiEvent &event)
+void GuiFormCtrl::onTouchLeave(const GuiEvent &event)
 {
 {
    setUpdate();
    setUpdate();
    if(isMouseLocked())
    if(isMouseLocked())
@@ -349,7 +349,7 @@ void GuiFormCtrl::onMouseLeave(const GuiEvent &event)
    mMouseOver = false;
    mMouseOver = false;
 }
 }
 
 
-void GuiFormCtrl::onMouseDown(const GuiEvent &event)
+void GuiFormCtrl::onTouchDown(const GuiEvent &event)
 {
 {
    Point2I localClick = globalToLocalCoord(event.mousePoint);
    Point2I localClick = globalToLocalCoord(event.mousePoint);
 
 
@@ -427,7 +427,7 @@ void GuiFormCtrl::onMouseDown(const GuiEvent &event)
 
 
 }
 }
 
 
-void GuiFormCtrl::onMouseUp(const GuiEvent &event)
+void GuiFormCtrl::onTouchUp(const GuiEvent &event)
 {
 {
    // Make sure we only get events we ought to be getting...
    // Make sure we only get events we ought to be getting...
    if (! mActive)
    if (! mActive)

+ 6 - 6
engine/source/gui/containers/guiFormCtrl.h

@@ -99,12 +99,12 @@ public:
 
 
    virtual void addObject(SimObject *newObj );
    virtual void addObject(SimObject *newObj );
 
 
-   void onMouseDragged(const GuiEvent &event);
-   void onMouseDown(const GuiEvent &event);
-   void onMouseUp(const GuiEvent &event);
-   void onMouseMove(const GuiEvent &event);
-   void onMouseLeave(const GuiEvent &event);
-   void onMouseEnter(const GuiEvent &event);
+   void onTouchDragged(const GuiEvent &event);
+   void onTouchDown(const GuiEvent &event);
+   void onTouchUp(const GuiEvent &event);
+   void onTouchMove(const GuiEvent &event);
+   void onTouchLeave(const GuiEvent &event);
+   void onTouchEnter(const GuiEvent &event);
 
 
    static void initPersistFields();
    static void initPersistFields();
    DECLARE_CONOBJECT(GuiFormCtrl);
    DECLARE_CONOBJECT(GuiFormCtrl);

+ 2 - 2
engine/source/gui/containers/guiRolloutCtrl.cc

@@ -115,12 +115,12 @@ void GuiRolloutCtrl::removeObject( SimObject *obj )
 //////////////////////////////////////////////////////////////////////////
 //////////////////////////////////////////////////////////////////////////
 // Mouse Events
 // Mouse Events
 //////////////////////////////////////////////////////////////////////////
 //////////////////////////////////////////////////////////////////////////
-void GuiRolloutCtrl::onMouseDown( const GuiEvent &event )
+void GuiRolloutCtrl::onTouchDown( const GuiEvent &event )
 {
 {
    mouseLock();
    mouseLock();
 }
 }
 
 
-void GuiRolloutCtrl::onMouseUp( const GuiEvent &event )
+void GuiRolloutCtrl::onTouchUp( const GuiEvent &event )
 {
 {
    Point2I localPoint = globalToLocalCoord( event.mousePoint );
    Point2I localPoint = globalToLocalCoord( event.mousePoint );
    if( mCanCollapse && mHeader.pointInRect( localPoint ) && !mIsAnimating && isMouseLocked() )
    if( mCanCollapse && mHeader.pointInRect( localPoint ) && !mIsAnimating && isMouseLocked() )

+ 2 - 2
engine/source/gui/containers/guiRolloutCtrl.h

@@ -88,8 +88,8 @@ public:
    virtual void childResized(GuiControl *child);
    virtual void childResized(GuiControl *child);
 
 
    // Mouse Events
    // Mouse Events
-   virtual void onMouseDown( const GuiEvent &event );
-   virtual void onMouseUp( const GuiEvent &event );
+   virtual void onTouchDown( const GuiEvent &event );
+   virtual void onTouchUp( const GuiEvent &event );
 
 
    // Sizing Helpers
    // Sizing Helpers
    virtual void calculateHeights();
    virtual void calculateHeights();

+ 3 - 15
engine/source/gui/containers/guiWindowCtrl.cc

@@ -183,7 +183,7 @@ void GuiWindowCtrl::resize(const Point2I &newPosition, const Point2I &newExtent)
    PositionButtons();
    PositionButtons();
 }
 }
 
 
-void GuiWindowCtrl::onMouseDown(const GuiEvent &event)
+void GuiWindowCtrl::onTouchDown(const GuiEvent &event)
 {
 {
    setUpdate();
    setUpdate();
 
 
@@ -253,7 +253,7 @@ void GuiWindowCtrl::onMouseDown(const GuiEvent &event)
    }
    }
 }
 }
 
 
-void GuiWindowCtrl::onMouseDragged(const GuiEvent &event)
+void GuiWindowCtrl::onTouchDragged(const GuiEvent &event)
 {
 {
    GuiControl *parent = getParent();
    GuiControl *parent = getParent();
    GuiCanvas *root = getRoot();
    GuiCanvas *root = getRoot();
@@ -298,7 +298,7 @@ void GuiWindowCtrl::onMouseDragged(const GuiEvent &event)
    }
    }
 }
 }
 
 
-void GuiWindowCtrl::onMouseUp(const GuiEvent &event)
+void GuiWindowCtrl::onTouchUp(const GuiEvent &event)
 {
 {
    bool closing = mPressClose;
    bool closing = mPressClose;
    bool maximizing = mPressMaximize;
    bool maximizing = mPressMaximize;
@@ -547,18 +547,6 @@ void GuiWindowCtrl::selectWindow(void)
    setFirstResponder(mFirstResponder);
    setFirstResponder(mFirstResponder);
 }
 }
 
 
-void GuiWindowCtrl::drawWinRect(const RectI &myRect)
-{
-   Point2I bl = myRect.point;
-   Point2I tr;
-   tr.x = myRect.point.x + myRect.extent.x - 1;
-   tr.y = myRect.point.y + myRect.extent.y - 1;
-   dglDrawRectFill(myRect, mProfile->mFillColor);
-   dglDrawLine(Point2I(bl.x + 1, tr.y), Point2I(bl.x + 1, bl.y), ColorI(255, 255, 255));
-   dglDrawLine(Point2I(bl.x, tr.y + 1), Point2I(tr.x, tr.y + 1), ColorI(255, 255, 255));
-   //dglDrawRect(myRect, ColorI(0, 0, 0)); // Taken out, this is controled via mProfile->mBorder
-}
-
 void GuiWindowCtrl::onRender(Point2I offset, const RectI &updateRect)
 void GuiWindowCtrl::onRender(Point2I offset, const RectI &updateRect)
 {
 {
    if( !mProfile || mProfile->mFont.isNull() || mProfile->mBitmapArrayRects.size() < NumBitmaps )
    if( !mProfile || mProfile->mFont.isNull() || mProfile->mBitmapArrayRects.size() < NumBitmaps )

+ 3 - 6
engine/source/gui/containers/guiWindowCtrl.h

@@ -107,9 +107,6 @@ class GuiWindowCtrl : public GuiControl
       RectI *mBitmapBounds;  //bmp is [3*n], bmpHL is [3*n + 1], bmpNA is [3*n + 2]
       RectI *mBitmapBounds;  //bmp is [3*n], bmpHL is [3*n + 1], bmpNA is [3*n + 2]
       TextureHandle mTextureHandle;
       TextureHandle mTextureHandle;
 
 
-
-      void drawWinRect(const RectI &myRect);
-
    public:
    public:
       GuiWindowCtrl();
       GuiWindowCtrl();
       DECLARE_CONOBJECT(GuiWindowCtrl);
       DECLARE_CONOBJECT(GuiWindowCtrl);
@@ -127,9 +124,9 @@ class GuiWindowCtrl : public GuiControl
       GuiControl* findHitControl(const Point2I &pt, S32 initialLayer = -1);
       GuiControl* findHitControl(const Point2I &pt, S32 initialLayer = -1);
       void resize(const Point2I &newPosition, const Point2I &newExtent);
       void resize(const Point2I &newPosition, const Point2I &newExtent);
 
 
-      void onMouseDown(const GuiEvent &event);
-      void onMouseDragged(const GuiEvent &event);
-      void onMouseUp(const GuiEvent &event);
+      void onTouchDown(const GuiEvent &event);
+      void onTouchDragged(const GuiEvent &event);
+      void onTouchUp(const GuiEvent &event);
 
 
       //only cycle tabs through the current window, so overwrite the method
       //only cycle tabs through the current window, so overwrite the method
       GuiControl* findNextTabable(GuiControl *curResponder, bool firstCall = true);
       GuiControl* findNextTabable(GuiControl *curResponder, bool firstCall = true);

+ 3 - 3
engine/source/gui/editor/guiDebugger.cc

@@ -558,7 +558,7 @@ void DbgFileView::onPreRender()
 		Con::executef(2, "DbgSetCursorWatch", "");
 		Con::executef(2, "DbgSetCursorWatch", "");
 }
 }
 
 
-void DbgFileView::onMouseDown(const GuiEvent &event)
+void DbgFileView::onTouchDown(const GuiEvent &event)
 {
 {
    if (! mActive)
    if (! mActive)
    {
    {
@@ -624,7 +624,7 @@ void DbgFileView::onMouseDown(const GuiEvent &event)
    }
    }
 }
 }
 
 
-void DbgFileView::onMouseDragged(const GuiEvent &event)
+void DbgFileView::onTouchDragged(const GuiEvent &event)
 {
 {
    if (mbMouseDragging)
    if (mbMouseDragging)
    {
    {
@@ -657,7 +657,7 @@ void DbgFileView::onMouseDragged(const GuiEvent &event)
    }
    }
 }
 }
 
 
-void DbgFileView::onMouseUp(const GuiEvent &)
+void DbgFileView::onTouchUp(const GuiEvent &)
 {
 {
    //unlock the mouse
    //unlock the mouse
    mouseUnlock();
    mouseUnlock();

+ 3 - 3
engine/source/gui/editor/guiDebugger.h

@@ -88,9 +88,9 @@ class DbgFileView : public GuiArrayCtrl
 
 
    bool findString(const char *text);
    bool findString(const char *text);
 
 
-   void onMouseDown(const GuiEvent &event);
-   void onMouseDragged(const GuiEvent &event);
-   void onMouseUp(const GuiEvent &event);
+   void onTouchDown(const GuiEvent &event);
+   void onTouchDragged(const GuiEvent &event);
+   void onTouchUp(const GuiEvent &event);
 
 
    void onPreRender();
    void onPreRender();
    void onRenderCell(Point2I offset, Point2I cell, bool selected, bool mouseOver);
    void onRenderCell(Point2I offset, Point2I cell, bool selected, bool mouseOver);

+ 3 - 3
engine/source/gui/editor/guiEditCtrl.cc

@@ -671,7 +671,7 @@ void GuiEditCtrl::getCursor(GuiCursor *&cursor, bool &showCursor, const GuiEvent
        cursor = mMoveCursor;
        cursor = mMoveCursor;
 }
 }
 
 
-void GuiEditCtrl::onMouseDown(const GuiEvent &event)
+void GuiEditCtrl::onTouchDown(const GuiEvent &event)
 {
 {
    if (! mActive)
    if (! mActive)
    {
    {
@@ -830,7 +830,7 @@ void GuiEditCtrl::removeSelection(S32 id)
       }
       }
    }
    }
 }
 }
-void GuiEditCtrl::onMouseUp(const GuiEvent &event)
+void GuiEditCtrl::onTouchUp(const GuiEvent &event)
 {
 {
    if (! mActive || !mContentControl || !mCurrentAddSet )
    if (! mActive || !mContentControl || !mCurrentAddSet )
    {
    {
@@ -891,7 +891,7 @@ void GuiEditCtrl::onMouseUp(const GuiEvent &event)
    mMouseDownMode = Selecting;
    mMouseDownMode = Selecting;
 }
 }
 
 
-void GuiEditCtrl::onMouseDragged(const GuiEvent &event)
+void GuiEditCtrl::onTouchDragged(const GuiEvent &event)
 {
 {
    if (! mActive || !mContentControl || !mCurrentAddSet)
    if (! mActive || !mContentControl || !mCurrentAddSet)
    {
    {

+ 3 - 3
engine/source/gui/editor/guiEditCtrl.h

@@ -103,9 +103,9 @@ class GuiEditCtrl : public GuiControl
    const GuiControl *getAddSet() const { return mCurrentAddSet; }; //JDD
    const GuiControl *getAddSet() const { return mCurrentAddSet; }; //JDD
 
 
    bool onKeyDown(const GuiEvent &event);
    bool onKeyDown(const GuiEvent &event);
-   void onMouseDown(const GuiEvent &event);
-   void onMouseUp(const GuiEvent &event);
-   void onMouseDragged(const GuiEvent &event);
+   void onTouchDown(const GuiEvent &event);
+   void onTouchUp(const GuiEvent &event);
+   void onTouchDragged(const GuiEvent &event);
    void onRightMouseDown(const GuiEvent &event);
    void onRightMouseDown(const GuiEvent &event);
 
 
    virtual bool onAdd();
    virtual bool onAdd();

+ 12 - 12
engine/source/gui/editor/guiMenuBar.cc

@@ -875,7 +875,7 @@ void GuiMenuBar::checkMenuMouseMove(const GuiEvent &event)
    }
    }
 }
 }
 
 
-void GuiMenuBar::onMouseMove(const GuiEvent &event)
+void GuiMenuBar::onTouchMove(const GuiEvent &event)
 {
 {
    Menu *hit = findHitMenu(event.mousePoint);
    Menu *hit = findHitMenu(event.mousePoint);
     if(hit != mouseOverMenu)
     if(hit != mouseOverMenu)
@@ -896,7 +896,7 @@ void GuiMenuBar::onMouseMove(const GuiEvent &event)
     }
     }
 }
 }
 
 
-void GuiMenuBar::onMouseLeave(const GuiEvent &event)
+void GuiMenuBar::onTouchLeave(const GuiEvent &event)
 {
 {
    if(mouseOverMenu)
    if(mouseOverMenu)
         setUpdate();
         setUpdate();
@@ -912,7 +912,7 @@ void GuiMenuBar::onMouseLeave(const GuiEvent &event)
    mMouseOverCounter = 0;
    mMouseOverCounter = 0;
 }
 }
 
 
-void GuiMenuBar::onMouseDragged(const GuiEvent &event)
+void GuiMenuBar::onTouchDragged(const GuiEvent &event)
 {
 {
    Menu *hit = findHitMenu(event.mousePoint);
    Menu *hit = findHitMenu(event.mousePoint);
     
     
@@ -936,14 +936,14 @@ void GuiMenuBar::onMouseDragged(const GuiEvent &event)
     }
     }
 }
 }
 
 
-void GuiMenuBar::onMouseDown(const GuiEvent &event)
+void GuiMenuBar::onTouchDown(const GuiEvent &event)
 {
 {
    mouseDownMenu = mouseOverMenu = findHitMenu(event.mousePoint);
    mouseDownMenu = mouseOverMenu = findHitMenu(event.mousePoint);
     setUpdate();
     setUpdate();
    onAction();
    onAction();
 }
 }
 
 
-void GuiMenuBar::onMouseUp(const GuiEvent &event)
+void GuiMenuBar::onTouchUp(const GuiEvent &event)
 {
 {
    mouseDownMenu = NULL;
    mouseDownMenu = NULL;
     setUpdate();
     setUpdate();
@@ -1086,13 +1086,13 @@ GuiMenuBackgroundCtrl::GuiMenuBackgroundCtrl(GuiMenuBar *ctrl, GuiMenuTextListCt
    mTextList = textList;
    mTextList = textList;
 }
 }
 
 
-void GuiMenuBackgroundCtrl::onMouseDown(const GuiEvent &event)
+void GuiMenuBackgroundCtrl::onTouchDown(const GuiEvent &event)
 {
 {
    mTextList->setSelectedCell(Point2I(-1,-1));
    mTextList->setSelectedCell(Point2I(-1,-1));
    mMenuBarCtrl->closeMenu();
    mMenuBarCtrl->closeMenu();
 }
 }
 
 
-void GuiMenuBackgroundCtrl::onMouseMove(const GuiEvent &event)
+void GuiMenuBackgroundCtrl::onTouchMove(const GuiEvent &event)
 {
 {
    GuiCanvas *root = getRoot();
    GuiCanvas *root = getRoot();
    GuiControl *ctrlHit = root->findHitControl(event.mousePoint, mLayer - 1);
    GuiControl *ctrlHit = root->findHitControl(event.mousePoint, mLayer - 1);
@@ -1100,7 +1100,7 @@ void GuiMenuBackgroundCtrl::onMouseMove(const GuiEvent &event)
       mMenuBarCtrl->checkMenuMouseMove(event);
       mMenuBarCtrl->checkMenuMouseMove(event);
 }
 }
 
 
-void GuiMenuBackgroundCtrl::onMouseDragged(const GuiEvent &event)
+void GuiMenuBackgroundCtrl::onTouchDragged(const GuiEvent &event)
 {
 {
    GuiCanvas *root = getRoot();
    GuiCanvas *root = getRoot();
    GuiControl *ctrlHit = root->findHitControl(event.mousePoint, mLayer - 1);
    GuiControl *ctrlHit = root->findHitControl(event.mousePoint, mLayer - 1);
@@ -1211,13 +1211,13 @@ bool GuiMenuTextListCtrl::onKeyDown(const GuiEvent &event)
    return Parent::onKeyDown(event);
    return Parent::onKeyDown(event);
 }
 }
 
 
-void GuiMenuTextListCtrl::onMouseDown(const GuiEvent &event)
+void GuiMenuTextListCtrl::onTouchDown(const GuiEvent &event)
 {
 {
    Parent::onTouchDown(event);
    Parent::onTouchDown(event);
    mMenuBarCtrl->closeMenu();
    mMenuBarCtrl->closeMenu();
 }
 }
 
 
-void GuiMenuTextListCtrl::onMouseUp(const GuiEvent &event)
+void GuiMenuTextListCtrl::onTouchUp(const GuiEvent &event)
 {
 {
    // ok, this is kind of strange... but!
    // ok, this is kind of strange... but!
    // here's the deal: if we get a mouse up in this control
    // here's the deal: if we get a mouse up in this control
@@ -1225,7 +1225,7 @@ void GuiMenuTextListCtrl::onMouseUp(const GuiEvent &event)
    // so: activate the menu result as though this event were,
    // so: activate the menu result as though this event were,
    // instead, a mouse down.
    // instead, a mouse down.
 
 
-   onMouseDown(event);
+   onTouchDown(event);
 }
 }
 
 
 void GuiMenuTextListCtrl::onCellHighlighted(Point2I cell)
 void GuiMenuTextListCtrl::onCellHighlighted(Point2I cell)
@@ -1249,7 +1249,7 @@ GuiSubmenuBackgroundCtrl::GuiSubmenuBackgroundCtrl(GuiMenuBar *ctrl, GuiMenuText
 {
 {
 }
 }
 
 
-void GuiSubmenuBackgroundCtrl::onMouseDown(const GuiEvent &event)
+void GuiSubmenuBackgroundCtrl::onTouchDown(const GuiEvent &event)
 {
 {
    mTextList->setSelectedCell(Point2I(-1,-1));
    mTextList->setSelectedCell(Point2I(-1,-1));
    mMenuBarCtrl->closeMenu();
    mMenuBarCtrl->closeMenu();

+ 11 - 11
engine/source/gui/editor/guiMenuBar.h

@@ -39,9 +39,9 @@ protected:
    GuiMenuTextListCtrl *mTextList; 
    GuiMenuTextListCtrl *mTextList; 
 public:
 public:
    GuiMenuBackgroundCtrl(GuiMenuBar *ctrl, GuiMenuTextListCtrl* textList);
    GuiMenuBackgroundCtrl(GuiMenuBar *ctrl, GuiMenuTextListCtrl* textList);
-   void onMouseDown(const GuiEvent &event);
-   void onMouseMove(const GuiEvent &event);
-   void onMouseDragged(const GuiEvent &event);
+   void onTouchDown(const GuiEvent &event);
+   void onTouchMove(const GuiEvent &event);
+   void onTouchDragged(const GuiEvent &event);
 };
 };
 
 
 class GuiSubmenuBackgroundCtrl : public GuiMenuBackgroundCtrl
 class GuiSubmenuBackgroundCtrl : public GuiMenuBackgroundCtrl
@@ -51,7 +51,7 @@ class GuiSubmenuBackgroundCtrl : public GuiMenuBackgroundCtrl
 public:
 public:
    GuiSubmenuBackgroundCtrl(GuiMenuBar *ctrl, GuiMenuTextListCtrl* textList);
    GuiSubmenuBackgroundCtrl(GuiMenuBar *ctrl, GuiMenuTextListCtrl* textList);
    bool pointInControl(const Point2I & parentCoordPoint);
    bool pointInControl(const Point2I & parentCoordPoint);
-   void onMouseDown(const GuiEvent &event);
+   void onTouchDown(const GuiEvent &event);
 };
 };
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
@@ -72,8 +72,8 @@ class GuiMenuTextListCtrl : public GuiTextListCtrl
 
 
       // GuiControl overloads:
       // GuiControl overloads:
       bool onKeyDown(const GuiEvent &event);
       bool onKeyDown(const GuiEvent &event);
-        void onMouseDown(const GuiEvent &event);
-      void onMouseUp(const GuiEvent &event);
+      void onTouchDown(const GuiEvent &event);
+      void onTouchUp(const GuiEvent &event);
       void onRenderCell(Point2I offset, Point2I cell, bool selected, bool mouseOver);
       void onRenderCell(Point2I offset, Point2I cell, bool selected, bool mouseOver);
 
 
       virtual void onCellHighlighted(Point2I cell); // DAW: Added
       virtual void onCellHighlighted(Point2I cell); // DAW: Added
@@ -191,11 +191,11 @@ public:
     void onRender(Point2I offset, const RectI &updateRect);
     void onRender(Point2I offset, const RectI &updateRect);
 
 
    void checkMenuMouseMove(const GuiEvent &event);
    void checkMenuMouseMove(const GuiEvent &event);
-   void onMouseMove(const GuiEvent &event);
-   void onMouseLeave(const GuiEvent &event);
-   void onMouseDown(const GuiEvent &event);
-   void onMouseDragged(const GuiEvent &event);
-   void onMouseUp(const GuiEvent &event);
+   void onTouchMove(const GuiEvent &event);
+   void onTouchLeave(const GuiEvent &event);
+   void onTouchDown(const GuiEvent &event);
+   void onTouchDragged(const GuiEvent &event);
+   void onTouchUp(const GuiEvent &event);
    
    
    void onAction();
    void onAction();
    void closeMenu();
    void closeMenu();

+ 12 - 12
engine/source/gui/guiColorPicker.cc

@@ -793,7 +793,7 @@ Point2I GuiColorPickerCtrl::getSelectorPositionForColor(RectI &bounds, ColorF ta
 
 
 
 
 //--------------------------------------------------------------------------
 //--------------------------------------------------------------------------
-void GuiColorPickerCtrl::onMouseDown(const GuiEvent &event)
+void GuiColorPickerCtrl::onTouchDown(const GuiEvent &event)
 {
 {
    if (!mActive)
    if (!mActive)
       return;
       return;
@@ -812,11 +812,11 @@ void GuiColorPickerCtrl::onMouseDown(const GuiEvent &event)
    
    
    mMouseDown = true;
    mMouseDown = true;
 
 
-   Con::executef(this, 1, "onMouseDown");
+   Con::executef(this, 1, "onTouchDown");
 }
 }
 
 
 //--------------------------------------------------------------------------
 //--------------------------------------------------------------------------
-void GuiColorPickerCtrl::onMouseDragged(const GuiEvent &event)
+void GuiColorPickerCtrl::onTouchDragged(const GuiEvent &event)
 {
 {
    if ((mActive && mMouseDown) || (mActive && (mDisplayMode == pDropperBackground)))
    if ((mActive && mMouseDown) || (mActive && (mDisplayMode == pDropperBackground)))
    {
    {
@@ -828,38 +828,38 @@ void GuiColorPickerCtrl::onMouseDragged(const GuiEvent &event)
    if (!mActionOnMove && mAltConsoleCommand[0] )
    if (!mActionOnMove && mAltConsoleCommand[0] )
       Con::evaluate( mAltConsoleCommand, false );
       Con::evaluate( mAltConsoleCommand, false );
 
 
-   Con::executef(this, 1, "onMouseDragged");
+   Con::executef(this, 1, "onTouchDragged");
 }
 }
 
 
 //--------------------------------------------------------------------------
 //--------------------------------------------------------------------------
-void GuiColorPickerCtrl::onMouseMove(const GuiEvent &event)
+void GuiColorPickerCtrl::onTouchMove(const GuiEvent &event)
 {
 {
    // Only for dropper mode
    // Only for dropper mode
    if (mActive && (mDisplayMode == pDropperBackground))
    if (mActive && (mDisplayMode == pDropperBackground))
       setSelectorPos(globalToLocalCoord(event.mousePoint));
       setSelectorPos(globalToLocalCoord(event.mousePoint));
 
 
-   Con::executef(this, 1, "onMouseMove");
+   Con::executef(this, 1, "onTouchMove");
 }
 }
 
 
 //--------------------------------------------------------------------------
 //--------------------------------------------------------------------------
-void GuiColorPickerCtrl::onMouseEnter(const GuiEvent &event)
+void GuiColorPickerCtrl::onTouchEnter(const GuiEvent &event)
 {
 {
    mMouseOver = true;
    mMouseOver = true;
 
 
-   Con::executef(this, 1, "onMouseEnter");
+   Con::executef(this, 1, "onTouchEnter");
 }
 }
 
 
 //--------------------------------------------------------------------------
 //--------------------------------------------------------------------------
-void GuiColorPickerCtrl::onMouseLeave(const GuiEvent &)
+void GuiColorPickerCtrl::onTouchLeave(const GuiEvent &)
 {
 {
    // Reset state
    // Reset state
    mMouseOver = false;
    mMouseOver = false;
 
 
-   Con::executef(this, 1, "onMouseLeave");
+   Con::executef(this, 1, "onTouchLeave");
 }
 }
 
 
 //--------------------------------------------------------------------------
 //--------------------------------------------------------------------------
-void GuiColorPickerCtrl::onMouseUp(const GuiEvent &)
+void GuiColorPickerCtrl::onTouchUp(const GuiEvent &)
 {
 {
    //if we released the mouse within this control, perform the action
    //if we released the mouse within this control, perform the action
    if (mActive && mMouseDown && (mDisplayMode != pDropperBackground)) 
    if (mActive && mMouseDown && (mDisplayMode != pDropperBackground)) 
@@ -876,7 +876,7 @@ void GuiColorPickerCtrl::onMouseUp(const GuiEvent &)
    
    
    mouseUnlock();
    mouseUnlock();
 
 
-   Con::executef(this, 1, "onMouseUp");
+   Con::executef(this, 1, "onTouchUp");
 }
 }
 
 
 //--------------------------------------------------------------------------
 //--------------------------------------------------------------------------

+ 6 - 6
engine/source/gui/guiColorPicker.h

@@ -131,13 +131,13 @@ class GuiColorPickerCtrl : public GuiControl
    
    
    /// @name Input Events
    /// @name Input Events
    /// @{
    /// @{
-   void onMouseDown(const GuiEvent &);
-   void onMouseUp(const GuiEvent &);
-   void onMouseMove(const GuiEvent &event);
-   void onMouseDragged(const GuiEvent &event);
+   void onTouchDown(const GuiEvent &);
+   void onTouchUp(const GuiEvent &);
+   void onTouchMove(const GuiEvent &event);
+   void onTouchDragged(const GuiEvent &event);
 
 
-   void onMouseEnter(const GuiEvent &);
-   void onMouseLeave(const GuiEvent &);
+   void onTouchEnter(const GuiEvent &);
+   void onTouchLeave(const GuiEvent &);
    /// @}
    /// @}
 };
 };
 
 

+ 45 - 0
engine/source/gui/guiControl.cc

@@ -482,6 +482,14 @@ void GuiControl::onRender(Point2I offset, const RectI &updateRect)
 
 
 RectI GuiControl::applyMargins(Point2I offset, Point2I extent, GuiControlState currentState, GuiControlProfile *profile)
 RectI GuiControl::applyMargins(Point2I offset, Point2I extent, GuiControlState currentState, GuiControlProfile *profile)
 {
 {
+   if (!profile)
+   {
+      SimObject * obj = Sim::findObject("GuiDefaultProfile");
+      if (obj)
+      {
+         profile = dynamic_cast<GuiControlProfile*>(obj);
+      }
+   }
 	//Get the border profiles
 	//Get the border profiles
 	GuiBorderProfile *leftProfile = profile->getLeftBorder();
 	GuiBorderProfile *leftProfile = profile->getLeftBorder();
 	GuiBorderProfile *rightProfile = profile->getRightBorder();
 	GuiBorderProfile *rightProfile = profile->getRightBorder();
@@ -498,6 +506,14 @@ RectI GuiControl::applyMargins(Point2I offset, Point2I extent, GuiControlState c
 
 
 RectI GuiControl::applyBorders(Point2I offset, Point2I extent, GuiControlState currentState, GuiControlProfile *profile)
 RectI GuiControl::applyBorders(Point2I offset, Point2I extent, GuiControlState currentState, GuiControlProfile *profile)
 {
 {
+   if (!profile)
+   {
+      SimObject * obj = Sim::findObject("GuiDefaultProfile");
+      if (obj)
+      {
+         profile = dynamic_cast<GuiControlProfile*>(obj);
+      }
+   }
 	//Get the border profiles
 	//Get the border profiles
 	GuiBorderProfile *leftProfile = profile->getLeftBorder();
 	GuiBorderProfile *leftProfile = profile->getLeftBorder();
 	GuiBorderProfile *rightProfile = profile->getRightBorder();
 	GuiBorderProfile *rightProfile = profile->getRightBorder();
@@ -514,6 +530,14 @@ RectI GuiControl::applyBorders(Point2I offset, Point2I extent, GuiControlState c
 
 
 RectI GuiControl::applyPadding(Point2I offset, Point2I extent, GuiControlState currentState, GuiControlProfile *profile)
 RectI GuiControl::applyPadding(Point2I offset, Point2I extent, GuiControlState currentState, GuiControlProfile *profile)
 {
 {
+   if (!profile)
+   {
+      SimObject * obj = Sim::findObject("GuiDefaultProfile");
+      if (obj)
+      {
+         profile = dynamic_cast<GuiControlProfile*>(obj);
+      }
+   }
 	//Get the border profiles
 	//Get the border profiles
 	GuiBorderProfile *leftProfile = profile->getLeftBorder();
 	GuiBorderProfile *leftProfile = profile->getLeftBorder();
 	GuiBorderProfile *rightProfile = profile->getRightBorder();
 	GuiBorderProfile *rightProfile = profile->getRightBorder();
@@ -530,6 +554,14 @@ RectI GuiControl::applyPadding(Point2I offset, Point2I extent, GuiControlState c
 
 
 RectI GuiControl::getInnerRect(Point2I offset, Point2I extent, GuiControlState currentState, GuiControlProfile *profile)
 RectI GuiControl::getInnerRect(Point2I offset, Point2I extent, GuiControlState currentState, GuiControlProfile *profile)
 {
 {
+   if (!profile)
+   {
+      SimObject * obj = Sim::findObject("GuiDefaultProfile");
+      if (obj)
+      {
+         profile = dynamic_cast<GuiControlProfile*>(obj);
+      }
+   }
 	//Get the border profiles
 	//Get the border profiles
 	GuiBorderProfile *leftProfile = profile->getLeftBorder();
 	GuiBorderProfile *leftProfile = profile->getLeftBorder();
 	GuiBorderProfile *rightProfile = profile->getRightBorder();
 	GuiBorderProfile *rightProfile = profile->getRightBorder();
@@ -546,6 +578,14 @@ RectI GuiControl::getInnerRect(Point2I offset, Point2I extent, GuiControlState c
 
 
 Point2I GuiControl::getOuterExtent(Point2I innerExtent, GuiControlState currentState, GuiControlProfile *profile)
 Point2I GuiControl::getOuterExtent(Point2I innerExtent, GuiControlState currentState, GuiControlProfile *profile)
 {
 {
+   if (!profile)
+   {
+      SimObject * obj = Sim::findObject("GuiDefaultProfile");
+      if (obj)
+      {
+         profile = dynamic_cast<GuiControlProfile*>(obj);
+      }
+   }
 	//Get the border profiles
 	//Get the border profiles
 	GuiBorderProfile *leftProfile = profile->getLeftBorder();
 	GuiBorderProfile *leftProfile = profile->getLeftBorder();
 	GuiBorderProfile *rightProfile = profile->getRightBorder();
 	GuiBorderProfile *rightProfile = profile->getRightBorder();
@@ -740,9 +780,11 @@ void GuiControl::renderChildControls(Point2I offset, RectI content, const RectI
 
 
 			 if (childClip.intersect(clipRect))
 			 if (childClip.intersect(clipRect))
 			 {
 			 {
+				RectI old = dglGetClipRect();
 				dglSetClipRect(clipRect);
 				dglSetClipRect(clipRect);
 				glDisable(GL_CULL_FACE);
 				glDisable(GL_CULL_FACE);
 				ctrl->onRender(childPosition, RectI(childPosition, ctrl->getExtent()));
 				ctrl->onRender(childPosition, RectI(childPosition, ctrl->getExtent()));
+				dglSetClipRect(old);
 			 }
 			 }
 		  }
 		  }
 		  size_cpy = objectList.size(); //	CHRIS: i know its wierd but the size of the list changes sometimes during execution of this loop
 		  size_cpy = objectList.size(); //	CHRIS: i know its wierd but the size of the list changes sometimes during execution of this loop
@@ -1670,7 +1712,10 @@ void GuiControl::renderText(Point2I offset, Point2I extent, const char *text, Gu
 		rotation = -90.0f;
 		rotation = -90.0f;
 	}
 	}
 
 
+	RectI old = dglGetClipRect();
+	dglSetClipRect(RectI(offset, extent));
 	dglDrawText( font, start + offset + profile->mTextOffset, text, profile->mFontColors, 9, rotation );
 	dglDrawText( font, start + offset + profile->mTextOffset, text, profile->mFontColors, 9, rotation );
+	dglSetClipRect(old);
 }
 }
 
 
 void GuiControl::getCursor(GuiCursor *&cursor, bool &showCursor, const GuiEvent &lastGuiEvent)
 void GuiControl::getCursor(GuiCursor *&cursor, bool &showCursor, const GuiEvent &lastGuiEvent)

+ 4 - 4
engine/source/gui/guiListBoxCtrl.cc

@@ -762,15 +762,15 @@ void GuiListBoxCtrl::drawBox(const Point2I &box, S32 size, ColorI &outlineColor,
 // Mouse Events
 // Mouse Events
 //////////////////////////////////////////////////////////////////////////
 //////////////////////////////////////////////////////////////////////////
 
 
-void GuiListBoxCtrl::onMouseDragged(const GuiEvent &event)
+void GuiListBoxCtrl::onTouchDragged(const GuiEvent &event)
 {
 {
    Parent::onTouchDragged(event);
    Parent::onTouchDragged(event);
 
 
-   if(isMethod("onMouseDragged"))
-      Con::executef(this, 1, "onMouseDragged");
+   if(isMethod("onTouchDragged"))
+      Con::executef(this, 1, "onTouchDragged");
 }
 }
 
 
-void GuiListBoxCtrl::onMouseDown( const GuiEvent &event )
+void GuiListBoxCtrl::onTouchDown( const GuiEvent &event )
 {
 {
    Point2I localPoint = globalToLocalCoord(event.mousePoint);
    Point2I localPoint = globalToLocalCoord(event.mousePoint);
    
    

+ 2 - 2
engine/source/gui/guiListBoxCtrl.h

@@ -113,8 +113,8 @@ public:
    void              drawBox( const Point2I &box, S32 size, ColorI &outlineColor, ColorI &boxColor );
    void              drawBox( const Point2I &box, S32 size, ColorI &outlineColor, ColorI &boxColor );
 
 
    // Mouse Events
    // Mouse Events
-   virtual void      onMouseDown( const GuiEvent &event );
-   virtual void      onMouseDragged(const GuiEvent &event);
+   virtual void      onTouchDown( const GuiEvent &event );
+   virtual void      onTouchDragged(const GuiEvent &event);
 
 
    // String Utility
    // String Utility
    static U32        getStringElementCount( const char *string );
    static U32        getStringElementCount( const char *string );

+ 7 - 7
engine/source/gui/guiPopUpCtrl.cc

@@ -97,7 +97,7 @@ GuiPopUpBackgroundCtrl::GuiPopUpBackgroundCtrl(GuiPopUpMenuCtrl *ctrl, GuiPopupT
    mTextList = textList;
    mTextList = textList;
 }
 }
 
 
-void GuiPopUpBackgroundCtrl::onMouseDown(const GuiEvent &event)
+void GuiPopUpBackgroundCtrl::onTouchDown(const GuiEvent &event)
 {
 {
    //   mTextList->setSelectedCell(Point2I(-1,-1)); // DAW: Removed
    //   mTextList->setSelectedCell(Point2I(-1,-1)); // DAW: Removed
    mPopUpCtrl->mBackgroundCancel = true; // DAW: Set that the user didn't click within the text list.  Replaces the line above.
    mPopUpCtrl->mBackgroundCancel = true; // DAW: Set that the user didn't click within the text list.  Replaces the line above.
@@ -170,7 +170,7 @@ bool GuiPopupTextListCtrl::onKeyDown(const GuiEvent &event)
    return Parent::onKeyDown(event);
    return Parent::onKeyDown(event);
 }
 }
 
 
-void GuiPopupTextListCtrl::onMouseDown(const GuiEvent &event)
+void GuiPopupTextListCtrl::onTouchDown(const GuiEvent &event)
 {
 {
    // Moved to onMouseUp in order to capture the mouse for the entirety of the click. ADL.
    // Moved to onMouseUp in order to capture the mouse for the entirety of the click. ADL.
    // This also has the side effect of allowing the mouse to be held down and a selection made.
    // This also has the side effect of allowing the mouse to be held down and a selection made.
@@ -178,7 +178,7 @@ void GuiPopupTextListCtrl::onMouseDown(const GuiEvent &event)
    //mPopUpCtrl->closePopUp();
    //mPopUpCtrl->closePopUp();
 }
 }
 
 
-void GuiPopupTextListCtrl::onMouseUp(const GuiEvent &event)
+void GuiPopupTextListCtrl::onTouchUp(const GuiEvent &event)
 {
 {
    Parent::onTouchDown(event);
    Parent::onTouchDown(event);
    mPopUpCtrl->closePopUp();
    mPopUpCtrl->closePopUp();
@@ -1454,7 +1454,7 @@ bool GuiPopUpMenuCtrl::getColoredBox( ColorI &fontColor, S32 id )
 }
 }
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
-void GuiPopUpMenuCtrl::onMouseDown(const GuiEvent &event)
+void GuiPopUpMenuCtrl::onTouchDown(const GuiEvent &event)
 {
 {
     if ( !mVisible || !mActive || !mAwake )
     if ( !mVisible || !mActive || !mAwake )
       return;
       return;
@@ -1463,7 +1463,7 @@ void GuiPopUpMenuCtrl::onMouseDown(const GuiEvent &event)
 }
 }
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
-void GuiPopUpMenuCtrl::onMouseUp(const GuiEvent &event)
+void GuiPopUpMenuCtrl::onTouchUp(const GuiEvent &event)
 {
 {
     if ( !mVisible || !mActive || !mAwake )
     if ( !mVisible || !mActive || !mAwake )
       return;
       return;
@@ -1471,7 +1471,7 @@ void GuiPopUpMenuCtrl::onMouseUp(const GuiEvent &event)
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
 // DAW: Added
 // DAW: Added
-void GuiPopUpMenuCtrl::onMouseEnter(const GuiEvent &event)
+void GuiPopUpMenuCtrl::onTouchEnter(const GuiEvent &event)
 {
 {
     if ( !mVisible || !mActive || !mAwake )
     if ( !mVisible || !mActive || !mAwake )
       return;
       return;
@@ -1480,7 +1480,7 @@ void GuiPopUpMenuCtrl::onMouseEnter(const GuiEvent &event)
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
 // DAW: Added
 // DAW: Added
-void GuiPopUpMenuCtrl::onMouseLeave(const GuiEvent &)
+void GuiPopUpMenuCtrl::onTouchLeave(const GuiEvent &)
 {
 {
     if ( !mVisible || !mActive || !mAwake )
     if ( !mVisible || !mActive || !mAwake )
       return;
       return;

+ 7 - 7
engine/source/gui/guiPopUpCtrl.h

@@ -45,7 +45,7 @@ protected:
    GuiPopupTextListCtrl *mTextList; 
    GuiPopupTextListCtrl *mTextList; 
 public:
 public:
    GuiPopUpBackgroundCtrl(GuiPopUpMenuCtrl *ctrl, GuiPopupTextListCtrl* textList);
    GuiPopUpBackgroundCtrl(GuiPopUpMenuCtrl *ctrl, GuiPopupTextListCtrl* textList);
-   void onMouseDown(const GuiEvent &event);
+   void onTouchDown(const GuiEvent &event);
 };
 };
 
 
 class GuiPopupTextListCtrl : public GuiTextListCtrl
 class GuiPopupTextListCtrl : public GuiTextListCtrl
@@ -65,8 +65,8 @@ public:
 
 
    // GuiControl overloads:
    // GuiControl overloads:
    bool onKeyDown(const GuiEvent &event);
    bool onKeyDown(const GuiEvent &event);
-   void onMouseDown(const GuiEvent &event);
-   void onMouseUp(const GuiEvent &event);
+   void onTouchDown(const GuiEvent &event);
+   void onTouchUp(const GuiEvent &event);
    void onRenderCell(Point2I offset, Point2I cell, bool selected, bool mouseOver);
    void onRenderCell(Point2I offset, Point2I cell, bool selected, bool mouseOver);
 };
 };
 
 
@@ -137,10 +137,10 @@ public:
    void onAction();
    void onAction();
    virtual void closePopUp();
    virtual void closePopUp();
    void clear();
    void clear();
-   void onMouseDown(const GuiEvent &event);
-   void onMouseUp(const GuiEvent &event);
-   void onMouseEnter(const GuiEvent &event); // DAW: Added
-   void onMouseLeave(const GuiEvent &); // DAW: Added
+   void onTouchDown(const GuiEvent &event);
+   void onTouchUp(const GuiEvent &event);
+   void onTouchEnter(const GuiEvent &event); // DAW: Added
+   void onTouchLeave(const GuiEvent &); // DAW: Added
    void setupAutoScroll(const GuiEvent &event);
    void setupAutoScroll(const GuiEvent &event);
    void autoScroll();
    void autoScroll();
    bool onKeyDown(const GuiEvent &event);
    bool onKeyDown(const GuiEvent &event);

+ 8 - 8
engine/source/gui/guiPopUpCtrlEx.cc

@@ -97,7 +97,7 @@ GuiPopUpBackgroundCtrlEx::GuiPopUpBackgroundCtrlEx(GuiPopUpMenuCtrlEx *ctrl, Gui
    mTextList = textList;
    mTextList = textList;
 }
 }
 
 
-void GuiPopUpBackgroundCtrlEx::onMouseDown(const GuiEvent &event)
+void GuiPopUpBackgroundCtrlEx::onTouchDown(const GuiEvent &event)
 {
 {
 //   mTextList->setSelectedCell(Point2I(-1,-1)); // DAW: Removed
 //   mTextList->setSelectedCell(Point2I(-1,-1)); // DAW: Removed
    mPopUpCtrl->mBackgroundCancel = true; // DAW: Set that the user didn't click within the text list.  Replaces the line above.
    mPopUpCtrl->mBackgroundCancel = true; // DAW: Set that the user didn't click within the text list.  Replaces the line above.
@@ -181,7 +181,7 @@ bool GuiPopupTextListCtrlEx::onKeyDown(const GuiEvent &event)
    return Parent::onKeyDown(event);
    return Parent::onKeyDown(event);
 }
 }
 
 
-void GuiPopupTextListCtrlEx::onMouseUp(const GuiEvent &event)
+void GuiPopupTextListCtrlEx::onTouchUp(const GuiEvent &event)
 {
 {
     if(!mActive)
     if(!mActive)
         return;
         return;
@@ -203,7 +203,7 @@ void GuiPopupTextListCtrlEx::onMouseUp(const GuiEvent &event)
    Parent::onTouchUp(event);
    Parent::onTouchUp(event);
 }
 }
 
 
-void GuiPopupTextListCtrlEx::onMouseMove( const GuiEvent &event )
+void GuiPopupTextListCtrlEx::onTouchMove( const GuiEvent &event )
 {
 {
    if( !mPopUpCtrl || !mPopUpCtrl->isMethod("onHotTrackItem") )
    if( !mPopUpCtrl || !mPopUpCtrl->isMethod("onHotTrackItem") )
       return Parent::onTouchMove( event );
       return Parent::onTouchMove( event );
@@ -1440,7 +1440,7 @@ bool GuiPopUpMenuCtrlEx::getColoredBox( ColorI &fontColor, S32 id )
 }
 }
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
-void GuiPopUpMenuCtrlEx::onMouseDown(const GuiEvent &event)
+void GuiPopUpMenuCtrlEx::onTouchDown(const GuiEvent &event)
 {
 {
    if(!mActive)
    if(!mActive)
        return;
        return;
@@ -1449,20 +1449,20 @@ void GuiPopUpMenuCtrlEx::onMouseDown(const GuiEvent &event)
 }
 }
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
-void GuiPopUpMenuCtrlEx::onMouseUp(const GuiEvent &event)
+void GuiPopUpMenuCtrlEx::onTouchUp(const GuiEvent &event)
 {
 {
 }
 }
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
 // DAW: Added
 // DAW: Added
-void GuiPopUpMenuCtrlEx::onMouseEnter(const GuiEvent &event)
+void GuiPopUpMenuCtrlEx::onTouchEnter(const GuiEvent &event)
 {
 {
    mMouseOver = true;
    mMouseOver = true;
 }
 }
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
 // DAW: Added
 // DAW: Added
-void GuiPopUpMenuCtrlEx::onMouseLeave(const GuiEvent &)
+void GuiPopUpMenuCtrlEx::onTouchLeave(const GuiEvent &)
 {
 {
    mMouseOver = false;
    mMouseOver = false;
 }
 }
@@ -1512,7 +1512,7 @@ void GuiPopUpMenuCtrlEx::autoScroll()
       mSc->scrollByRegion(mScrollDir);
       mSc->scrollByRegion(mScrollDir);
       mScrollCount -= 1;
       mScrollCount -= 1;
    }
    }
-   mTl->onMouseMove(mEventSave);
+   mTl->onTouchMove(mEventSave);
 }
 }
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------

+ 7 - 7
engine/source/gui/guiPopUpCtrlEx.h

@@ -63,7 +63,7 @@ protected:
    GuiPopupTextListCtrlEx *mTextList; 
    GuiPopupTextListCtrlEx *mTextList; 
 public:
 public:
    GuiPopUpBackgroundCtrlEx(GuiPopUpMenuCtrlEx *ctrl, GuiPopupTextListCtrlEx* textList);
    GuiPopUpBackgroundCtrlEx(GuiPopUpMenuCtrlEx *ctrl, GuiPopupTextListCtrlEx* textList);
-   void onMouseDown(const GuiEvent &event);
+   void onTouchDown(const GuiEvent &event);
 };
 };
 
 
 class GuiPopupTextListCtrlEx : public GuiTextListCtrl
 class GuiPopupTextListCtrlEx : public GuiTextListCtrl
@@ -85,8 +85,8 @@ class GuiPopupTextListCtrlEx : public GuiTextListCtrl
 
 
       // GuiControl overloads:
       // GuiControl overloads:
       bool onKeyDown(const GuiEvent &event);
       bool onKeyDown(const GuiEvent &event);
-      void onMouseUp(const GuiEvent &event);
-      void onMouseMove(const GuiEvent &event);
+      void onTouchUp(const GuiEvent &event);
+      void onTouchMove(const GuiEvent &event);
       void onRenderCell(Point2I offset, Point2I cell, bool selected, bool mouseOver);
       void onRenderCell(Point2I offset, Point2I cell, bool selected, bool mouseOver);
 };
 };
 
 
@@ -158,10 +158,10 @@ class GuiPopUpMenuCtrlEx : public GuiControl
    void onAction();
    void onAction();
    virtual void closePopUp();
    virtual void closePopUp();
    void clear();
    void clear();
-   void onMouseDown(const GuiEvent &event);
-   void onMouseUp(const GuiEvent &event);
-   void onMouseEnter(const GuiEvent &event); // DAW: Added
-   void onMouseLeave(const GuiEvent &); // DAW: Added
+   void onTouchDown(const GuiEvent &event);
+   void onTouchUp(const GuiEvent &event);
+   void onTouchEnter(const GuiEvent &event); // DAW: Added
+   void onTouchLeave(const GuiEvent &); // DAW: Added
    void setupAutoScroll(const GuiEvent &event);
    void setupAutoScroll(const GuiEvent &event);
    void autoScroll();
    void autoScroll();
    bool onKeyDown(const GuiEvent &event);
    bool onKeyDown(const GuiEvent &event);

+ 5 - 0
engine/source/gui/guiTextEditCtrl.cc

@@ -1240,6 +1240,9 @@ void GuiTextEditCtrl::drawText( const RectI &drawRect, GuiControlState currentSt
    StringBuffer textBuffer;
    StringBuffer textBuffer;
    Point2I drawPoint = drawRect.point;
    Point2I drawPoint = drawRect.point;
 
 
+   RectI old = dglGetClipRect();
+   dglSetClipRect(drawRect);
+
    // Just a little sanity.
    // Just a little sanity.
    if(mCursorPos > (S32)mTextBuffer.length()) 
    if(mCursorPos > (S32)mTextBuffer.length()) 
       mCursorPos = (S32)mTextBuffer.length();
       mCursorPos = (S32)mTextBuffer.length();
@@ -1425,6 +1428,8 @@ void GuiTextEditCtrl::drawText( const RectI &drawRect, GuiControlState currentSt
    //draw the cursor
    //draw the cursor
    if (currentState == SelectedState && mCursorOn )
    if (currentState == SelectedState && mCursorOn )
       dglDrawLine( cursorStart, cursorEnd, mProfile->mCursorColor );
       dglDrawLine( cursorStart, cursorEnd, mProfile->mCursorColor );
+
+   dglSetClipRect(old);
 }
 }
 
 
 bool GuiTextEditCtrl::hasText()
 bool GuiTextEditCtrl::hasText()

+ 12 - 12
engine/source/gui/guiTreeViewCtrl.cc

@@ -1136,11 +1136,11 @@ bool GuiTreeViewCtrl::buildIconTable(const char * icons)
    // This is an abominal piece of code. -- BJG
    // This is an abominal piece of code. -- BJG
    if (!icons)
    if (!icons)
    {
    {
-      icons =  "common/gui/images/default:"
-               "common/gui/images/simgroup:"
-               "common/gui/images/simgroupClosed:"
-               "common/gui/images/simgroupSelected:"
-               "common/gui/images/simgroupSelectedClosed:";
+      icons =  "^Sandbox/gui/images/default:"
+               "^Sandbox/gui/images/simgroup:"
+               "^Sandbox/gui/images/simgroupClosed:"
+               "^Sandbox/gui/images/simgroupSelected:"
+               "^Sandbox/gui/images/simgroupSelectedClosed:";
    }
    }
 
 
    // Figure the size of the buffer we need...
    // Figure the size of the buffer we need...
@@ -2215,7 +2215,7 @@ bool GuiTreeViewCtrl::onKeyDown( const GuiEvent& event )
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
 // on mouse up look at the current item and check to see if it is valid
 // on mouse up look at the current item and check to see if it is valid
 // to move the selected item(s) to it.
 // to move the selected item(s) to it.
-void GuiTreeViewCtrl::onMouseUp(const GuiEvent &event)
+void GuiTreeViewCtrl::onTouchUp(const GuiEvent &event)
 {
 {
    if( !mActive || !mAwake || !mVisible )
    if( !mActive || !mAwake || !mVisible )
       return;
       return;
@@ -2608,7 +2608,7 @@ void GuiTreeViewCtrl::onMouseUp(const GuiEvent &event)
 }
 }
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
-void GuiTreeViewCtrl::onMouseDragged(const GuiEvent &event)
+void GuiTreeViewCtrl::onTouchDragged(const GuiEvent &event)
 {
 {
     if(!mSupportMouseDragging) return;
     if(!mSupportMouseDragging) return;
    if( !mActive || !mAwake || !mVisible )
    if( !mActive || !mAwake || !mVisible )
@@ -2700,7 +2700,7 @@ void GuiTreeViewCtrl::onMiddleMouseDown(const GuiEvent & event)
 }
 }
 
 
 
 
-void GuiTreeViewCtrl::onMouseDown(const GuiEvent & event)
+void GuiTreeViewCtrl::onTouchDown(const GuiEvent & event)
 {
 {
    if( !mActive || !mAwake || !mVisible )
    if( !mActive || !mAwake || !mVisible )
    {
    {
@@ -2874,7 +2874,7 @@ void GuiTreeViewCtrl::onMouseDown(const GuiEvent & event)
 
 
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
-void GuiTreeViewCtrl::onMouseMove( const GuiEvent &event )
+void GuiTreeViewCtrl::onTouchMove( const GuiEvent &event )
 {
 {
    if ( mMouseOverCell.y >= 0 && mVisibleItems.size() > mMouseOverCell.y)
    if ( mMouseOverCell.y >= 0 && mVisibleItems.size() > mMouseOverCell.y)
       mVisibleItems[mMouseOverCell.y]->mState.clear( Item::MouseOverBmp | Item::MouseOverText );
       mVisibleItems[mMouseOverCell.y]->mState.clear( Item::MouseOverBmp | Item::MouseOverText );
@@ -2902,15 +2902,15 @@ void GuiTreeViewCtrl::onMouseMove( const GuiEvent &event )
 
 
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
-void GuiTreeViewCtrl::onMouseEnter( const GuiEvent &event )
+void GuiTreeViewCtrl::onTouchEnter( const GuiEvent &event )
 {
 {
    Parent::onTouchEnter( event );
    Parent::onTouchEnter( event );
-   onMouseMove( event );
+   onTouchMove( event );
 }
 }
 
 
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
-void GuiTreeViewCtrl::onMouseLeave( const GuiEvent &event )
+void GuiTreeViewCtrl::onTouchLeave( const GuiEvent &event )
 {
 {
    if ( mMouseOverCell.y >= 0 && mVisibleItems.size() > mMouseOverCell.y)
    if ( mMouseOverCell.y >= 0 && mVisibleItems.size() > mMouseOverCell.y)
       mVisibleItems[mMouseOverCell.y]->mState.clear( Item::MouseOverBmp | Item::MouseOverText );
       mVisibleItems[mMouseOverCell.y]->mState.clear( Item::MouseOverBmp | Item::MouseOverText );

+ 6 - 6
engine/source/gui/guiTreeViewCtrl.h

@@ -376,14 +376,14 @@ protected:
       void onSleep();
       void onSleep();
       void onPreRender();
       void onPreRender();
       bool onKeyDown( const GuiEvent &event );
       bool onKeyDown( const GuiEvent &event );
-		void onMouseDown(const GuiEvent &event);
+		void onTouchDown(const GuiEvent &event);
       void onMiddleMouseDown(const GuiEvent &event);
       void onMiddleMouseDown(const GuiEvent &event);
-      void onMouseMove(const GuiEvent &event);
-      void onMouseEnter(const GuiEvent &event);
-      void onMouseLeave(const GuiEvent &event);
+      void onTouchMove(const GuiEvent &event);
+      void onTouchEnter(const GuiEvent &event);
+      void onTouchLeave(const GuiEvent &event);
       void onRightMouseDown(const GuiEvent &event);
       void onRightMouseDown(const GuiEvent &event);
-      void onMouseDragged(const GuiEvent &event);
-      void onMouseUp(const GuiEvent &event);
+      void onTouchDragged(const GuiEvent &event);
+      void onTouchUp(const GuiEvent &event);
 
 
       /// Returns false if the object is a child of one of the inner items.
       /// Returns false if the object is a child of one of the inner items.
       bool childSearch(Item * item, SimObject *obj, bool yourBaby);
       bool childSearch(Item * item, SimObject *obj, bool yourBaby);

+ 36 - 2
engine/source/gui/guiTypes.cc

@@ -173,6 +173,34 @@ S32 GuiBorderProfile::getPadding(const GuiControlState state)
 	return getMax(mPadding[getStateIndex(state)], 0);
 	return getMax(mPadding[getStateIndex(state)], 0);
 }
 }
 
 
+ConsoleType(GuiProfile, TypeGuiBorderProfile, sizeof(GuiBorderProfile*), "")
+
+ConsoleSetType(TypeGuiBorderProfile)
+{
+   GuiBorderProfile *profile = NULL;
+   if (argc == 1)
+      Sim::findObject(argv[0], profile);
+
+   AssertWarn(profile != NULL, avar("GuiBorderProfile: requested gui profile (%s) does not exist.", argv[0]));
+   if (!profile)
+      profile = dynamic_cast<GuiBorderProfile*>(Sim::findObject("GuiDefaultBorderProfile"));
+
+   AssertFatal(profile != NULL, avar("GuiBorderProfile: unable to find specified profile (%s) and GuiDefaultProfile does not exist!", argv[0]));
+
+   GuiBorderProfile **obj = (GuiBorderProfile **)dptr;
+   if ((*obj) == profile)
+      return;
+}
+
+ConsoleGetType(TypeGuiBorderProfile)
+{
+   static char returnBuffer[256];
+
+   GuiBorderProfile **obj = (GuiBorderProfile**)dptr;
+   dSprintf(returnBuffer, sizeof(returnBuffer), "%s", *obj ? (*obj)->getName() ? (*obj)->getName() : (*obj)->getIdString() : "");
+   return returnBuffer;
+}
+
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
 IMPLEMENT_CONOBJECT(GuiControlProfile);
 IMPLEMENT_CONOBJECT(GuiControlProfile);
 
 
@@ -406,7 +434,7 @@ S32 GuiControlProfile::constructBitmapArray()
 
 
 void GuiControlProfile::incRefCount()
 void GuiControlProfile::incRefCount()
 {
 {
-	if(!mRefCount++)
+	if(!mRefCount)
 	{
 	{
 		sFontCacheDirectory = Con::getVariable("$GUI::fontCacheDirectory");
 		sFontCacheDirectory = Con::getVariable("$GUI::fontCacheDirectory");
 
 
@@ -429,11 +457,17 @@ void GuiControlProfile::incRefCount()
 			mImageAsset = mImageAssetID;
 			mImageAsset = mImageAssetID;
 		}
 		}
 	}
 	}
+
+   mRefCount++;
+
 }
 }
 
 
 void GuiControlProfile::decRefCount()
 void GuiControlProfile::decRefCount()
 {
 {
-   AssertFatal(mRefCount, "GuiControlProfile::decRefCount: zero ref count");
+   // Not sure why this was being tripped when
+   // switching profiles in guieditor, but...
+
+   //AssertFatal(mRefCount, "GuiControlProfile::decRefCount: zero ref count");
    if(!mRefCount)
    if(!mRefCount)
 	  return;
 	  return;
 
 

+ 1 - 1
engine/source/gui/guiTypes.h

@@ -149,7 +149,7 @@ public:
 	const ColorI& getBorderColor(const GuiControlState state); //Returns the correct border color based on the control's state.
 	const ColorI& getBorderColor(const GuiControlState state); //Returns the correct border color based on the control's state.
 	S32 getPadding(const GuiControlState state); //Returns the padding based on the control's state.
 	S32 getPadding(const GuiControlState state); //Returns the padding based on the control's state.
 };
 };
-
+DefineConsoleType(TypeGuiBorderProfile)
 /// A GuiControlProfile is used by every GuiObject and is akin to a
 /// A GuiControlProfile is used by every GuiObject and is akin to a
 /// datablock. It is used to control information that does not change
 /// datablock. It is used to control information that does not change
 /// or is unlikely to change during execution of a program. It is also
 /// or is unlikely to change during execution of a program. It is also

+ 1 - 1
engine/source/input/actionMap.cc

@@ -2075,7 +2075,7 @@ CodeMapping gVirtualMap[] =
    { "lpov2",         SI_POV,    SI_LPOV2        },
    { "lpov2",         SI_POV,    SI_LPOV2        },
    { "rpov2",         SI_POV,    SI_RPOV2        },
    { "rpov2",         SI_POV,    SI_RPOV2        },
 
 
-   #if defined( TORQUE_OS_WIN32 ) || defined( TORQUE_OS_XENON )
+   #if defined( TORQUE_OS_WIN ) || defined( TORQUE_OS_XENON )
    //-------------------------------------- XINPUT EVENTS
    //-------------------------------------- XINPUT EVENTS
    // Controller connect / disconnect:
    // Controller connect / disconnect:
    { "connect",       XI_BUTTON, XI_CONNECT     },
    { "connect",       XI_BUTTON, XI_CONNECT     },

+ 125 - 169
engine/source/math/mMathAMD.cc

@@ -62,14 +62,7 @@ void Athlon_MatrixF_x_Point3F(const F32 *m, const F32 *p, F32 *presult)
 // r[15]= a[12]*b[3]+ a[13]*b[7]+ a[14]*b[11]+ a[15]*b[15];
 // r[15]= a[12]*b[3]+ a[13]*b[7]+ a[14]*b[11]+ a[15]*b[15];
 //============================================================
 //============================================================
 
 
-#if defined(TORQUE_SUPPORTS_NASM)
-#define ADD_3DNOW_FUNCS
-extern "C"
-{
-   void Athlon_MatrixF_x_MatrixF(const F32 *matA, const F32 *matB, F32 *result);
-}
-
-#elif defined(TORQUE_SUPPORTS_VC_INLINE_X86_ASM)
+#if defined(TORQUE_SUPPORTS_VC_INLINE_X86_ASM)
 #define ADD_3DNOW_FUNCS
 #define ADD_3DNOW_FUNCS
 // inlined version here.
 // inlined version here.
 void Athlon_MatrixF_x_MatrixF(const F32 *matA, const F32 *matB, F32 *result)
 void Athlon_MatrixF_x_MatrixF(const F32 *matA, const F32 *matB, F32 *result)
@@ -82,178 +75,141 @@ void Athlon_MatrixF_x_MatrixF(const F32 *matA, const F32 *matB, F32 *result)
       mov         edx, matB
       mov         edx, matB
       mov         eax, result
       mov         eax, result
 
 
-      prefetch    [ecx+32]       ;// These may help -
-      prefetch    [edx+32]       ;//    and probably don't hurt
-
-      movq        mm0,[ecx]      ;// a21   | a11
-      movq        mm1,[ecx+8]      ;// a41   | a31
-      movq        mm4,[edx]      ;// b21   | b11
-      punpckhdq   mm2,mm0         ;// a21   |
-      movq        mm5,[edx+16]   ;// b22   | b12
-      punpckhdq   mm3,mm1         ;// a41   |
-      movq        mm6,[edx+32]   ;// b23   | b13
-      punpckldq   mm0,mm0         ;// a11   | a11
-      punpckldq   mm1,mm1         ;// a31   | a31
-      pfmul       mm4,mm0         ;// a11*b21 | a11*b11
-      punpckhdq   mm2,mm2         ;// a21   | a21
-      pfmul       mm0,[edx+8]      ;// a11*b41 | a11*b31
-      movq        mm7,[edx+48]   ;// b24   | b14
-      pfmul       mm5,mm2         ;// a21*b22 | a21*b12
-      punpckhdq   mm3,mm3         ;// a41   | a41
-      pfmul       mm2,[edx+24]   ;// a21*b42 | a21*b32
-      pfmul       mm6,mm1         ;// a31*b23 | a31*b13
-      pfadd       mm5,mm4         ;// a21*b22 + a11*b21 | a21*b12 + a11*b11
-      pfmul       mm1,[edx+40]   ;// a31*b43 | a31*b33
-      pfadd       mm2,mm0         ;// a21*b42 + a11*b41 | a21*b32 + a11*b31
-      pfmul       mm7,mm3         ;// a41*b24 | a41*b14
-      pfadd       mm6,mm5         ;// a21*b22 + a11*b21 + a31*b23 | a21*b12 + a11*b11 + a31*b13
-      pfmul       mm3,[edx+56]   ;// a41*b44 | a41*b34
-      pfadd       mm2,mm1         ;// a21*b42 + a11*b41 + a31*b43 | a21*b32 + a11*b31 + a31*b33
-      pfadd       mm7,mm6         ;// a41*b24 + a21*b22 + a11*b21 + a31*b23 |  a41*b14 + a21*b12 + a11*b11 + a31*b13
-      movq        mm0,[ecx+16]   ;// a22   | a12
-      pfadd       mm3,mm2         ;// a41*b44 + a21*b42 + a11*b41 + a31*b43 | a41*b34 + a21*b32 + a11*b31 + a31*b33
-      movq        mm1,[ecx+24]   ;// a42   | a32
-      movq        [eax],mm7      ;// r21   | r11
-      movq        mm4,[edx]      ;// b21   | b11
-      movq        [eax+8],mm3      ;// r41   | r31
-
-      punpckhdq   mm2,mm0         ;// a22   | XXX
-      movq        mm5,[edx+16]   ;// b22   | b12
-      punpckhdq   mm3,mm1         ;// a42   | XXX
-      movq        mm6,[edx+32]   ;// b23   | b13
-      punpckldq   mm0,mm0         ;// a12   | a12
-      punpckldq   mm1,mm1         ;// a32   | a32
-      pfmul       mm4,mm0         ;// a12*b21 | a12*b11
-      punpckhdq   mm2,mm2         ;// a22   | a22
-      pfmul       mm0,[edx+8]      ;// a12*b41 | a12*b31
-      movq        mm7,[edx+48]   ;// b24   | b14
-      pfmul       mm5,mm2         ;// a22*b22 | a22*b12
-      punpckhdq   mm3,mm3         ;// a42   | a42
-      pfmul       mm2,[edx+24]   ;// a22*b42 | a22*b32
-      pfmul       mm6,mm1         ;// a32*b23 | a32*b13
-      pfadd       mm5,mm4         ;// a12*b21 + a22*b22 | a12*b11 + a22*b12
-      pfmul       mm1,[edx+40]   ;// a32*b43 | a32*b33
-      pfadd       mm2,mm0         ;// a12*b41 + a22*b42 | a12*b11 + a22*b32
-      pfmul       mm7,mm3         ;// a42*b24 | a42*b14
-      pfadd       mm6,mm5         ;// a32*b23 + a12*b21 + a22*b22 | a32*b13 + a12*b11 + a22*b12
-      pfmul       mm3,[edx+56]   ;// a42*b44 | a42*b34
-      pfadd       mm2,mm1         ;// a32*b43 + a12*b41 + a22*b42 | a32*b33 + a12*b11 + a22*b32
-      pfadd       mm7,mm6         ;// a42*b24 + a32*b23 + a12*b21 + a22*b22 | a42*b14 + a32*b13 + a12*b11 + a22*b12
-      movq        mm0,[ecx+32]   ;// a23 | a13
-      pfadd       mm3,mm2         ;// a42*b44 + a32*b43 + a12*b41 + a22*b42 | a42*b34 + a32*b33 + a12*b11 + a22*b32
-      movq        mm1,[ecx+40]   ;// a43 | a33
-      movq        [eax+16],mm7   ;// r22 | r12
-      movq        mm4,[edx]      ;// b21   | b11
-      movq        [eax+24],mm3   ;// r42 | r32
-
-      punpckhdq   mm2,mm0         ;// a23 | XXX
-      movq        mm5,[edx+16]   ;// b22 | b12
-      punpckhdq   mm3,mm1         ;// a43 | XXX
-      movq        mm6,[edx+32]   ;// b23 | b13
-      punpckldq   mm0,mm0         ;// a13 | a13
-      punpckldq   mm1,mm1         ;// a33 | a33
-      pfmul       mm4,mm0         ;// a13*b21 | a13*b11
-      punpckhdq   mm2,mm2         ;// a23 | a23
-      pfmul       mm0,[edx+8]      ;// a13*b41 | a13*b31
-      movq        mm7,[edx+48]   ;// b24 | b14
-      pfmul       mm5,mm2         ;// a23*b22 | a23*b12
-      punpckhdq   mm3,mm3         ;// a43 | a43
-      pfmul       mm2,[edx+24]   ;// a23*b42 | a23*b32
-      pfmul       mm6,mm1         ;// a33*b23 | a33*b13
-      pfadd       mm5,mm4         ;// a23*b22 + a13*b21 | a23*b12 + a13*b11
-      pfmul       mm1,[edx+40]   ;// a33*b43 | a33*b33
-      pfadd       mm2,mm0         ;// a13*b41 + a23*b42 | a13*b31 + a23*b32
-      pfmul       mm7,mm3         ;// a43*b24 | a43*b14
-      pfadd       mm6,mm5         ;// a33*b23 + a23*b22 + a13*b21 | a33*b13 + a23*b12 + a13*b11
-      pfmul       mm3,[edx+56]   ;// a43*b44 | a43*b34
-      pfadd       mm2,mm1         ;// a33*b43*a13*b41 + a23*b42 | a33*b33 + a13*b31 + a23*b32
-      pfadd       mm7,mm6         ;// a43*b24 + a33*b23 + a23*b22 + a13*b21 | a43*b14 + a33*b13 + a23*b12 + a13*b11
-      movq        mm0,[ecx+48]   ;// a24 | a14
-      pfadd       mm3,mm2         ;// a43*b44 + a33*b43*a13*b41 + a23*b42 | a43*b34 + a33*b33 + a13*b31 + a23*b32
-      movq        mm1,[ecx+56]   ;// a44 | a34
-      movq        [eax+32],mm7   ;// r23 | r13
-      movq        mm4,[edx]      ;// b21 | b11
-      movq        [eax+40],mm3   ;// r43 | r33
-
-      punpckhdq   mm2,mm0         ;// a24 | XXX
-      movq        mm5,[edx+16]   ;// b22 | b12
-      punpckhdq   mm3,mm1         ;// a44 | XXX
-      movq        mm6,[edx+32]   ;// b23 | b13
-      punpckldq   mm0,mm0         ;// a14 | a14
-      punpckldq   mm1,mm1         ;// a34 | a34
-      pfmul       mm4,mm0         ;// a14*b21 | a14*b11
-      punpckhdq   mm2,mm2         ;// a24 | a24
-      pfmul       mm0,[edx+8]      ;// a14*b41 | a14*b31
-      movq        mm7,[edx+48]   ;// b24 | b14
-      pfmul       mm5,mm2         ;// a24*b22 | a24*b12
-      punpckhdq   mm3,mm3         ;// a44 | a44
-      pfmul       mm2,[edx+24]   ;// a24*b 42 | a24*b32
-      pfmul       mm6,mm1         ;// a34*b23 | a34*b13
-      pfadd       mm5,mm4         ;// a14*b21 + a24*b22 | a14*b11 + a24*b12
-      pfmul       mm1,[edx+40]   ;// a34*b43 | a34*b33
-      pfadd       mm2,mm0         ;// a14*b41 + a24*b 42 | a14*b31 + a24*b32
-      pfmul       mm7,mm3         ;// a44*b24 | a44*b14
-      pfadd       mm6,mm5         ;// a34*b23 + a14*b21 + a24*b22 | a34*b13 + a14*b11 + a24*b12
-      pfmul       mm3,[edx+56]   ;// a44*b44 | a44*b34
-      pfadd       mm2,mm1         ;// a34*b43 + a14*b41 + a24*b 42 | a34*b33 + a14*b31 + a24*b32
-      pfadd       mm7,mm6         ;// a44*b24 + a14*b23 + a24*b 42 | a44*b14 + a14*b31 + a24*b32
-      pfadd       mm3,mm2         ;// a44*b44 + a34*b43 + a14*b41 + a24*b42 | a44*b34 + a34*b33 + a14*b31 + a24*b32
-      movq        [eax+48],mm7   ;// r24 | r14
-      movq        [eax+56],mm3   ;// r44 | r34
+      prefetch[ecx + 32];// These may help -
+      prefetch[edx + 32];//    and probably don't hurt
+
+      movq        mm0, [ecx];// a21   | a11
+      movq        mm1, [ecx + 8];// a41   | a31
+      movq        mm4, [edx];// b21   | b11
+      punpckhdq   mm2, mm0;// a21   |
+      movq        mm5, [edx + 16];// b22   | b12
+      punpckhdq   mm3, mm1;// a41   |
+      movq        mm6, [edx + 32];// b23   | b13
+      punpckldq   mm0, mm0;// a11   | a11
+      punpckldq   mm1, mm1;// a31   | a31
+      pfmul       mm4, mm0;// a11*b21 | a11*b11
+      punpckhdq   mm2, mm2;// a21   | a21
+      pfmul       mm0, [edx + 8];// a11*b41 | a11*b31
+      movq        mm7, [edx + 48];// b24   | b14
+      pfmul       mm5, mm2;// a21*b22 | a21*b12
+      punpckhdq   mm3, mm3;// a41   | a41
+      pfmul       mm2, [edx + 24];// a21*b42 | a21*b32
+      pfmul       mm6, mm1;// a31*b23 | a31*b13
+      pfadd       mm5, mm4;// a21*b22 + a11*b21 | a21*b12 + a11*b11
+      pfmul       mm1, [edx + 40];// a31*b43 | a31*b33
+      pfadd       mm2, mm0;// a21*b42 + a11*b41 | a21*b32 + a11*b31
+      pfmul       mm7, mm3;// a41*b24 | a41*b14
+      pfadd       mm6, mm5;// a21*b22 + a11*b21 + a31*b23 | a21*b12 + a11*b11 + a31*b13
+      pfmul       mm3, [edx + 56];// a41*b44 | a41*b34
+      pfadd       mm2, mm1;// a21*b42 + a11*b41 + a31*b43 | a21*b32 + a11*b31 + a31*b33
+      pfadd       mm7, mm6;// a41*b24 + a21*b22 + a11*b21 + a31*b23 |  a41*b14 + a21*b12 + a11*b11 + a31*b13
+      movq        mm0, [ecx + 16];// a22   | a12
+      pfadd       mm3, mm2;// a41*b44 + a21*b42 + a11*b41 + a31*b43 | a41*b34 + a21*b32 + a11*b31 + a31*b33
+      movq        mm1, [ecx + 24];// a42   | a32
+      movq[eax], mm7;// r21   | r11
+      movq        mm4, [edx];// b21   | b11
+      movq[eax + 8], mm3;// r41   | r31
+
+      punpckhdq   mm2, mm0;// a22   | XXX
+      movq        mm5, [edx + 16];// b22   | b12
+      punpckhdq   mm3, mm1;// a42   | XXX
+      movq        mm6, [edx + 32];// b23   | b13
+      punpckldq   mm0, mm0;// a12   | a12
+      punpckldq   mm1, mm1;// a32   | a32
+      pfmul       mm4, mm0;// a12*b21 | a12*b11
+      punpckhdq   mm2, mm2;// a22   | a22
+      pfmul       mm0, [edx + 8];// a12*b41 | a12*b31
+      movq        mm7, [edx + 48];// b24   | b14
+      pfmul       mm5, mm2;// a22*b22 | a22*b12
+      punpckhdq   mm3, mm3;// a42   | a42
+      pfmul       mm2, [edx + 24];// a22*b42 | a22*b32
+      pfmul       mm6, mm1;// a32*b23 | a32*b13
+      pfadd       mm5, mm4;// a12*b21 + a22*b22 | a12*b11 + a22*b12
+      pfmul       mm1, [edx + 40];// a32*b43 | a32*b33
+      pfadd       mm2, mm0;// a12*b41 + a22*b42 | a12*b11 + a22*b32
+      pfmul       mm7, mm3;// a42*b24 | a42*b14
+      pfadd       mm6, mm5;// a32*b23 + a12*b21 + a22*b22 | a32*b13 + a12*b11 + a22*b12
+      pfmul       mm3, [edx + 56];// a42*b44 | a42*b34
+      pfadd       mm2, mm1;// a32*b43 + a12*b41 + a22*b42 | a32*b33 + a12*b11 + a22*b32
+      pfadd       mm7, mm6;// a42*b24 + a32*b23 + a12*b21 + a22*b22 | a42*b14 + a32*b13 + a12*b11 + a22*b12
+      movq        mm0, [ecx + 32];// a23 | a13
+      pfadd       mm3, mm2;// a42*b44 + a32*b43 + a12*b41 + a22*b42 | a42*b34 + a32*b33 + a12*b11 + a22*b32
+      movq        mm1, [ecx + 40];// a43 | a33
+      movq[eax + 16], mm7;// r22 | r12
+      movq        mm4, [edx];// b21   | b11
+      movq[eax + 24], mm3;// r42 | r32
+
+      punpckhdq   mm2, mm0;// a23 | XXX
+      movq        mm5, [edx + 16];// b22 | b12
+      punpckhdq   mm3, mm1;// a43 | XXX
+      movq        mm6, [edx + 32];// b23 | b13
+      punpckldq   mm0, mm0;// a13 | a13
+      punpckldq   mm1, mm1;// a33 | a33
+      pfmul       mm4, mm0;// a13*b21 | a13*b11
+      punpckhdq   mm2, mm2;// a23 | a23
+      pfmul       mm0, [edx + 8];// a13*b41 | a13*b31
+      movq        mm7, [edx + 48];// b24 | b14
+      pfmul       mm5, mm2;// a23*b22 | a23*b12
+      punpckhdq   mm3, mm3;// a43 | a43
+      pfmul       mm2, [edx + 24];// a23*b42 | a23*b32
+      pfmul       mm6, mm1;// a33*b23 | a33*b13
+      pfadd       mm5, mm4;// a23*b22 + a13*b21 | a23*b12 + a13*b11
+      pfmul       mm1, [edx + 40];// a33*b43 | a33*b33
+      pfadd       mm2, mm0;// a13*b41 + a23*b42 | a13*b31 + a23*b32
+      pfmul       mm7, mm3;// a43*b24 | a43*b14
+      pfadd       mm6, mm5;// a33*b23 + a23*b22 + a13*b21 | a33*b13 + a23*b12 + a13*b11
+      pfmul       mm3, [edx + 56];// a43*b44 | a43*b34
+      pfadd       mm2, mm1;// a33*b43*a13*b41 + a23*b42 | a33*b33 + a13*b31 + a23*b32
+      pfadd       mm7, mm6;// a43*b24 + a33*b23 + a23*b22 + a13*b21 | a43*b14 + a33*b13 + a23*b12 + a13*b11
+      movq        mm0, [ecx + 48];// a24 | a14
+      pfadd       mm3, mm2;// a43*b44 + a33*b43*a13*b41 + a23*b42 | a43*b34 + a33*b33 + a13*b31 + a23*b32
+      movq        mm1, [ecx + 56];// a44 | a34
+      movq[eax + 32], mm7;// r23 | r13
+      movq        mm4, [edx];// b21 | b11
+      movq[eax + 40], mm3;// r43 | r33
+
+      punpckhdq   mm2, mm0;// a24 | XXX
+      movq        mm5, [edx + 16];// b22 | b12
+      punpckhdq   mm3, mm1;// a44 | XXX
+      movq        mm6, [edx + 32];// b23 | b13
+      punpckldq   mm0, mm0;// a14 | a14
+      punpckldq   mm1, mm1;// a34 | a34
+      pfmul       mm4, mm0;// a14*b21 | a14*b11
+      punpckhdq   mm2, mm2;// a24 | a24
+      pfmul       mm0, [edx + 8];// a14*b41 | a14*b31
+      movq        mm7, [edx + 48];// b24 | b14
+      pfmul       mm5, mm2;// a24*b22 | a24*b12
+      punpckhdq   mm3, mm3;// a44 | a44
+      pfmul       mm2, [edx + 24];// a24*b 42 | a24*b32
+      pfmul       mm6, mm1;// a34*b23 | a34*b13
+      pfadd       mm5, mm4;// a14*b21 + a24*b22 | a14*b11 + a24*b12
+      pfmul       mm1, [edx + 40];// a34*b43 | a34*b33
+      pfadd       mm2, mm0;// a14*b41 + a24*b 42 | a14*b31 + a24*b32
+      pfmul       mm7, mm3;// a44*b24 | a44*b14
+      pfadd       mm6, mm5;// a34*b23 + a14*b21 + a24*b22 | a34*b13 + a14*b11 + a24*b12
+      pfmul       mm3, [edx + 56];// a44*b44 | a44*b34
+      pfadd       mm2, mm1;// a34*b43 + a14*b41 + a24*b 42 | a34*b33 + a14*b31 + a24*b32
+      pfadd       mm7, mm6;// a44*b24 + a14*b23 + a24*b 42 | a44*b14 + a14*b31 + a24*b32
+      pfadd       mm3, mm2;// a44*b44 + a34*b43 + a14*b41 + a24*b42 | a44*b34 + a34*b33 + a14*b31 + a24*b32
+      movq[eax + 48], mm7;// r24 | r14
+      movq[eax + 56], mm3;// r44 | r34
       femms
       femms
    }
    }
 }
 }
-#endif
-
-
-#if 0
-/* this isn't currently used/implemented.
-void Athlon_MatrixF_x_VectorF(const F32 *matrix, const F32 *vector, F32 *result)
+#elif defined(TORQUE_SUPPORTS_NASM)
+#define ADD_3DNOW_FUNCS
+extern "C"
 {
 {
-   __asm {
-      femms
-      mov         eax,result
-      mov         ecx,vector
-      mov         edx,matrix
-
-      // Here's what we're doing:
-      // result[0] = M[0] * v[0]    +  M[1] * v[1]    +  M[2] * v[2];
-      // result[1] = M[4] * v[0]    +  M[5] * v[1]    +  M[6] * v[2];
-      // result[2] = M[8] * v[0]    +  M[9] * v[1]    +  M[10]* v[2];
-
-      movq        mm0,[ecx]         //     y   |  x
-      movd        mm1,[ecx+8]       //     0   |  z
-      movd        mm4,[edx+8]       //     0   | m_13
-      movq        mm3,mm0           //     y   |  x
-      movd        mm2,[edx+40]      //     0   | m_33 (M[10])
-      punpckldq   mm0,mm0           //     x   |  x
-      punpckldq   mm4,[edx+20]      //    m_31 | m_23
-      pfmul       mm0,[edx]         //     x * m_12 | x * m_11
-      punpckhdq   mm3,mm3           //     y   |  y
-      pfmul       mm2,mm1           //     0   |  z * m_33
-      punpckldq   mm1,mm1           //     z   |  z
-      pfmul       mm4,[ecx]         //    y * m_31 | x * m_23
-      pfmul       mm3,[edx+12]      //    y * m_22 | y * m_21
-      pfmul       mm1,[edx+24]      //    z * m_32 | z * m_32
-      pfacc       mm4,mm4           //     ?   | y * m_31 + x * m_23
-      pfadd       mm3,mm0           //     x * m_12 + y * m_22 | x * m_11 + y * m_21
-      pfadd       mm4,mm2           //     ?   | y * m_31 + x * m_23 + z * m_33
-      pfadd       mm3,mm1           //     x * m_12 + y * m_22 + z * m_32 | x * m_11 + y * m_21 + z * m_32
-      movd        [eax+8],mm4       //    r_z
-      movq        [eax],mm3         //    r_y  | r_x
-      femms
-   }
+   void Athlon_MatrixF_x_MatrixF(const F32 *matA, const F32 *matB, F32 *result);
 }
 }
-*/
-#endif
 
 
+#endif
 
 
 void mInstall_AMD_Math()
 void mInstall_AMD_Math()
 {
 {
 #if defined(ADD_3DNOW_FUNCS)
 #if defined(ADD_3DNOW_FUNCS)
-   m_matF_x_matF           = Athlon_MatrixF_x_MatrixF;
+   m_matF_x_matF = Athlon_MatrixF_x_MatrixF;
 #endif
 #endif
    // m_matF_x_point3F = Athlon_MatrixF_x_Point3F;
    // m_matF_x_point3F = Athlon_MatrixF_x_Point3F;
    // m_matF_x_vectorF = Athlon_MatrixF_x_VectorF;
    // m_matF_x_vectorF = Athlon_MatrixF_x_VectorF;
 }
 }
-

+ 1 - 0
engine/source/math/mMathFn.h

@@ -93,6 +93,7 @@ extern void (*m_matF_scale)(F32 *m,const F32* p);
 extern void (*m_matF_normalize)(F32 *m);
 extern void (*m_matF_normalize)(F32 *m);
 extern F32  (*m_matF_determinant)(const F32 *m);
 extern F32  (*m_matF_determinant)(const F32 *m);
 extern void (*m_matF_x_matF)(const F32 *a, const F32 *b, F32 *mresult);
 extern void (*m_matF_x_matF)(const F32 *a, const F32 *b, F32 *mresult);
+extern void(*m_matF_x_matF_aligned)(const F32 *a, const F32 *b, F32 *mresult);
 // extern void (*m_matF_x_point3F)(const F32 *m, const F32 *p, F32 *presult);
 // extern void (*m_matF_x_point3F)(const F32 *m, const F32 *p, F32 *presult);
 // extern void (*m_matF_x_vectorF)(const F32 *m, const F32 *v, F32 *vresult);
 // extern void (*m_matF_x_vectorF)(const F32 *m, const F32 *v, F32 *vresult);
 extern void (*m_matF_x_point4F)(const F32 *m, const F32 *p, F32 *presult);
 extern void (*m_matF_x_point4F)(const F32 *m, const F32 *p, F32 *presult);

+ 292 - 39
engine/source/math/mMathSSE.cc

@@ -25,106 +25,359 @@
 #include "math/mMatrix.h"
 #include "math/mMatrix.h"
 
 
 
 
-// if we set our flag, we always try to build the inlined asm.
-// EXCEPT if we're in an old version of Codewarrior that can't handle SSE code.
-#if defined(TORQUE_SUPPORTS_NASM)
-#define ADD_SSE_FN
-extern "C"
-{
-   void SSE_MatrixF_x_MatrixF(const F32 *matA, const F32 *matB, F32 *result);
-}
-
-#elif defined(TORQUE_SUPPORTS_VC_INLINE_X86_ASM)
+#if defined(TORQUE_SUPPORTS_VC_INLINE_X86_ASM)
 #define ADD_SSE_FN
 #define ADD_SSE_FN
 // inlined version here.
 // inlined version here.
 void SSE_MatrixF_x_MatrixF(const F32 *matA, const F32 *matB, F32 *result)
 void SSE_MatrixF_x_MatrixF(const F32 *matA, const F32 *matB, F32 *result)
 {
 {
    __asm
    __asm
    {
    {
-      mov         ecx, matA
-      mov         edx, matB
+      mov         edx, matA
+      mov         ecx, matB
       mov         eax, result
       mov         eax, result
 
 
       movss       xmm0, [edx]
       movss       xmm0, [edx]
       movups      xmm1, [ecx]
       movups      xmm1, [ecx]
       shufps      xmm0, xmm0, 0
       shufps      xmm0, xmm0, 0
-      movss       xmm2, [edx+4]
+      movss       xmm2, [edx + 4]
       mulps       xmm0, xmm1
       mulps       xmm0, xmm1
       shufps      xmm2, xmm2, 0
       shufps      xmm2, xmm2, 0
-      movups      xmm3, [ecx+10h]
-      movss       xmm7, [edx+8]
+      movups      xmm3, [ecx + 10h]
+      movss       xmm7, [edx + 8]
       mulps       xmm2, xmm3
       mulps       xmm2, xmm3
       shufps      xmm7, xmm7, 0
       shufps      xmm7, xmm7, 0
       addps       xmm0, xmm2
       addps       xmm0, xmm2
-      movups      xmm4, [ecx+20h]
-      movss       xmm2, [edx+0Ch]
+      movups      xmm4, [ecx + 20h]
+      movss       xmm2, [edx + 0Ch]
       mulps       xmm7, xmm4
       mulps       xmm7, xmm4
       shufps      xmm2, xmm2, 0
       shufps      xmm2, xmm2, 0
       addps       xmm0, xmm7
       addps       xmm0, xmm7
-      movups      xmm5, [ecx+30h]
-      movss       xmm6, [edx+10h]
+      movups      xmm5, [ecx + 30h]
+      movss       xmm6, [edx + 10h]
       mulps       xmm2, xmm5
       mulps       xmm2, xmm5
-      movss       xmm7, [edx+14h]
+      movss       xmm7, [edx + 14h]
       shufps      xmm6, xmm6, 0
       shufps      xmm6, xmm6, 0
       addps       xmm0, xmm2
       addps       xmm0, xmm2
       shufps      xmm7, xmm7, 0
       shufps      xmm7, xmm7, 0
-      movlps      [eax], xmm0
-      movhps      [eax+8], xmm0
+      movlps[eax], xmm0
+      movhps[eax + 8], xmm0
       mulps       xmm7, xmm3
       mulps       xmm7, xmm3
-      movss       xmm0, [edx+18h]
+      movss       xmm0, [edx + 18h]
       mulps       xmm6, xmm1
       mulps       xmm6, xmm1
       shufps      xmm0, xmm0, 0
       shufps      xmm0, xmm0, 0
       addps       xmm6, xmm7
       addps       xmm6, xmm7
       mulps       xmm0, xmm4
       mulps       xmm0, xmm4
-      movss       xmm2, [edx+24h]
+      movss       xmm2, [edx + 24h]
       addps       xmm6, xmm0
       addps       xmm6, xmm0
-      movss       xmm0, [edx+1Ch]
-      movss       xmm7, [edx+20h]
+      movss       xmm0, [edx + 1Ch]
+      movss       xmm7, [edx + 20h]
       shufps      xmm0, xmm0, 0
       shufps      xmm0, xmm0, 0
       shufps      xmm7, xmm7, 0
       shufps      xmm7, xmm7, 0
       mulps       xmm0, xmm5
       mulps       xmm0, xmm5
       mulps       xmm7, xmm1
       mulps       xmm7, xmm1
       addps       xmm6, xmm0
       addps       xmm6, xmm0
       shufps      xmm2, xmm2, 0
       shufps      xmm2, xmm2, 0
-      movlps      [eax+10h], xmm6
-      movhps      [eax+18h], xmm6
+      movlps[eax + 10h], xmm6
+      movhps[eax + 18h], xmm6
       mulps       xmm2, xmm3
       mulps       xmm2, xmm3
-      movss       xmm6, [edx+28h]
+      movss       xmm6, [edx + 28h]
       addps       xmm7, xmm2
       addps       xmm7, xmm2
       shufps      xmm6, xmm6, 0
       shufps      xmm6, xmm6, 0
-      movss       xmm2, [edx+2Ch]
+      movss       xmm2, [edx + 2Ch]
       mulps       xmm6, xmm4
       mulps       xmm6, xmm4
       shufps      xmm2, xmm2, 0
       shufps      xmm2, xmm2, 0
       addps       xmm7, xmm6
       addps       xmm7, xmm6
       mulps       xmm2, xmm5
       mulps       xmm2, xmm5
-      movss       xmm0, [edx+34h]
+      movss       xmm0, [edx + 34h]
       addps       xmm7, xmm2
       addps       xmm7, xmm2
       shufps      xmm0, xmm0, 0
       shufps      xmm0, xmm0, 0
-      movlps      [eax+20h], xmm7
-      movss       xmm2, [edx+30h]
-      movhps      [eax+28h], xmm7
+      movlps[eax + 20h], xmm7
+      movss       xmm2, [edx + 30h]
+      movhps[eax + 28h], xmm7
       mulps       xmm0, xmm3
       mulps       xmm0, xmm3
       shufps      xmm2, xmm2, 0
       shufps      xmm2, xmm2, 0
-      movss       xmm6, [edx+38h]
+      movss       xmm6, [edx + 38h]
       mulps       xmm2, xmm1
       mulps       xmm2, xmm1
       shufps      xmm6, xmm6, 0
       shufps      xmm6, xmm6, 0
       addps       xmm2, xmm0
       addps       xmm2, xmm0
       mulps       xmm6, xmm4
       mulps       xmm6, xmm4
-      movss       xmm7, [edx+3Ch]
+      movss       xmm7, [edx + 3Ch]
       shufps      xmm7, xmm7, 0
       shufps      xmm7, xmm7, 0
       addps       xmm2, xmm6
       addps       xmm2, xmm6
       mulps       xmm7, xmm5
       mulps       xmm7, xmm5
       addps       xmm2, xmm7
       addps       xmm2, xmm7
-      movups      [eax+30h], xmm2
+      movups[eax + 30h], xmm2
    }
    }
 }
 }
-#endif
+void SSE_MatrixF_x_MatrixF_Aligned(const F32 *matA, const F32 *matB, F32 *result)
+{
+   __asm
+   {
+      mov         edx, matA
+      mov         ecx, matB
+      mov         eax, result
+
+      movss       xmm0, [edx]
+      movaps      xmm1, [ecx]
+      shufps      xmm0, xmm0, 0
+      movss       xmm2, [edx + 4]
+      mulps       xmm0, xmm1
+      shufps      xmm2, xmm2, 0
+      movaps      xmm3, [ecx + 10h]
+      movss       xmm7, [edx + 8]
+      mulps       xmm2, xmm3
+      shufps      xmm7, xmm7, 0
+      addps       xmm0, xmm2
+      movaps      xmm4, [ecx + 20h]
+      movss       xmm2, [edx + 0Ch]
+      mulps       xmm7, xmm4
+      shufps      xmm2, xmm2, 0
+      addps       xmm0, xmm7
+      movaps      xmm5, [ecx + 30h]
+      movss       xmm6, [edx + 10h]
+      mulps       xmm2, xmm5
+      movss       xmm7, [edx + 14h]
+      shufps      xmm6, xmm6, 0
+      addps       xmm0, xmm2
+      shufps      xmm7, xmm7, 0
+      movlps[eax], xmm0
+      movhps[eax + 8], xmm0
+      mulps       xmm7, xmm3
+      movss       xmm0, [edx + 18h]
+      mulps       xmm6, xmm1
+      shufps      xmm0, xmm0, 0
+      addps       xmm6, xmm7
+      mulps       xmm0, xmm4
+      movss       xmm2, [edx + 24h]
+      addps       xmm6, xmm0
+      movss       xmm0, [edx + 1Ch]
+      movss       xmm7, [edx + 20h]
+      shufps      xmm0, xmm0, 0
+      shufps      xmm7, xmm7, 0
+      mulps       xmm0, xmm5
+      mulps       xmm7, xmm1
+      addps       xmm6, xmm0
+      shufps      xmm2, xmm2, 0
+      movlps[eax + 10h], xmm6
+      movhps[eax + 18h], xmm6
+      mulps       xmm2, xmm3
+      movss       xmm6, [edx + 28h]
+      addps       xmm7, xmm2
+      shufps      xmm6, xmm6, 0
+      movss       xmm2, [edx + 2Ch]
+      mulps       xmm6, xmm4
+      shufps      xmm2, xmm2, 0
+      addps       xmm7, xmm6
+      mulps       xmm2, xmm5
+      movss       xmm0, [edx + 34h]
+      addps       xmm7, xmm2
+      shufps      xmm0, xmm0, 0
+      movlps[eax + 20h], xmm7
+      movss       xmm2, [edx + 30h]
+      movhps[eax + 28h], xmm7
+      mulps       xmm0, xmm3
+      shufps      xmm2, xmm2, 0
+      movss       xmm6, [edx + 38h]
+      mulps       xmm2, xmm1
+      shufps      xmm6, xmm6, 0
+      addps       xmm2, xmm0
+      mulps       xmm6, xmm4
+      movss       xmm7, [edx + 3Ch]
+      shufps      xmm7, xmm7, 0
+      addps       xmm2, xmm6
+      mulps       xmm7, xmm5
+      addps       xmm2, xmm7
+      movaps[eax + 30h], xmm2
+   }
+}
+// if we set our flag, we always try to build the inlined asm.
+// EXCEPT if we're in an old version of Codewarrior that can't handle SSE code.
+// TODO: the NASM implementation of SSE_MatrixF_x_MatrixF_Aligned is missing,
+// so we temporary disable this until fixed (needed for linux dedicated build)
+#elif defined(TORQUE_SUPPORTS_NASM)
+#define ADD_SSE_FN
+extern "C"
+{
+   void SSE_MatrixF_x_MatrixF(const F32 *matA, const F32 *matB, F32 *result);
+   void SSE_MatrixF_x_MatrixF_Aligned(const F32 *matA, const F32 *matB, F32 *result);
+}
+
+#elif defined( TORQUE_COMPILER_GCC ) && (defined( TORQUE_CPU_X86 ) || defined( TORQUE_CPU_X64 ))
+#define ADD_SSE_FN
 
 
+void SSE_MatrixF_x_MatrixF(const F32 *matA, const F32 *matB, F32 *result)
+{
+   asm
+   (
+      "movss      (%%edx),%%xmm0\n"
+      "movups     (%%ecx),%%xmm1\n"
+      "shufps     $0,%%xmm0,%%xmm0\n"
+      "movss      4(%%edx),%%xmm2\n"
+      "mulps      %%xmm1,%%xmm0\n"
+      "shufps     $0,%%xmm2,%%xmm2\n"
+      "movups     0x10(%%ecx),%%xmm3\n"
+      "movss      8(%%edx),%%xmm7\n"
+      "mulps      %%xmm3,%%xmm2\n"
+      "shufps     $0,%%xmm7,%%xmm7\n"
+      "addps      %%xmm2,%%xmm0\n"
+      "movups     0x20(%%ecx),%%xmm4\n"
+      "movss      0x0c(%%edx),%%xmm2\n"
+      "mulps      %%xmm4,%%xmm7\n"
+      "shufps     $0,%%xmm2,%%xmm2\n"
+      "addps      %%xmm7,%%xmm0\n"
+      "movups     0x30(%%ecx),%%xmm5\n"
+      "movss      0x10(%%edx),%%xmm6\n"
+      "mulps      %%xmm5,%%xmm2\n"
+      "movss      0x14(%%edx),%%xmm7\n"
+      "shufps     $0,%%xmm6,%%xmm6\n"
+      "addps      %%xmm2,%%xmm0\n"
+      "shufps     $0,%%xmm7,%%xmm7\n"
+      "movlps     %%xmm0,(%%eax)\n"
+      "movhps     %%xmm0,8(%%eax)\n"
+      "mulps      %%xmm3,%%xmm7\n"
+      "movss      0x18(%%edx),%%xmm0\n"
+      "mulps      %%xmm1,%%xmm6\n"
+      "shufps     $0,%%xmm0,%%xmm0\n"
+      "addps      %%xmm7,%%xmm6\n"
+      "mulps      %%xmm4,%%xmm0\n"
+      "movss      0x24(%%edx),%%xmm2\n"
+      "addps      %%xmm0,%%xmm6\n"
+      "movss      0x1c(%%edx),%%xmm0\n"
+      "movss      0x20(%%edx),%%xmm7\n"
+      "shufps     $0,%%xmm0,%%xmm0\n"
+      "shufps     $0,%%xmm7,%%xmm7\n"
+      "mulps      %%xmm5,%%xmm0\n"
+      "mulps      %%xmm1,%%xmm7\n"
+      "addps      %%xmm0,%%xmm6\n"
+      "shufps     $0,%%xmm2,%%xmm2\n"
+      "movlps     %%xmm6,0x10(%%eax)\n"
+      "movhps     %%xmm6,0x18(%%eax)\n"
+      "mulps      %%xmm3,%%xmm2\n"
+      "movss      0x28(%%edx),%%xmm6\n"
+      "addps      %%xmm2,%%xmm7\n"
+      "shufps     $0,%%xmm6,%%xmm6\n"
+      "movss      0x2c(%%edx),%%xmm2\n"
+      "mulps      %%xmm4,%%xmm6\n"
+      "shufps     $0,%%xmm2,%%xmm2\n"
+      "addps      %%xmm6,%%xmm7\n"
+      "mulps      %%xmm5,%%xmm2\n"
+      "movss      0x34(%%edx),%%xmm0\n"
+      "addps      %%xmm2,%%xmm7\n"
+      "shufps     $0,%%xmm0,%%xmm0\n"
+      "movlps     %%xmm7,0x20(%%eax)\n"
+      "movss      0x30(%%edx),%%xmm2\n"
+      "movhps     %%xmm7,0x28(%%eax)\n"
+      "mulps      %%xmm3,%%xmm0\n"
+      "shufps     $0,%%xmm2,%%xmm2\n"
+      "movss      0x38(%%edx),%%xmm6\n"
+      "mulps      %%xmm1,%%xmm2\n"
+      "shufps     $0,%%xmm6,%%xmm6\n"
+      "addps      %%xmm0,%%xmm2\n"
+      "mulps      %%xmm4,%%xmm6\n"
+      "movss      0x3c(%%edx),%%xmm7\n"
+      "shufps     $0,%%xmm7,%%xmm7\n"
+      "addps      %%xmm6,%%xmm2\n"
+      "mulps      %%xmm5,%%xmm7\n"
+      "addps      %%xmm7,%%xmm2\n"
+      "movups     %%xmm2,0x30(%%eax)\n"
+
+      :
+   : "d" (matA),
+      "c" (matB),
+      "a" (result)
+      );
+}
+
+void SSE_MatrixF_x_MatrixF_Aligned(const F32 *matA, const F32 *matB, F32 *result)
+{
+   asm
+   (
+      "movss      (%%edx),%%xmm0\n"
+      "movaps     (%%ecx),%%xmm1\n"
+      "shufps     $0,%%xmm0,%%xmm0\n"
+      "movss      4(%%edx),%%xmm2\n"
+      "mulps      %%xmm1,%%xmm0\n"
+      "shufps     $0,%%xmm2,%%xmm2\n"
+      "movaps     0x10(%%ecx),%%xmm3\n"
+      "movss      8(%%edx),%%xmm7\n"
+      "mulps      %%xmm3,%%xmm2\n"
+      "shufps     $0,%%xmm7,%%xmm7\n"
+      "addps      %%xmm2,%%xmm0\n"
+      "movaps     0x20(%%ecx),%%xmm4\n"
+      "movss      0x0c(%%edx),%%xmm2\n"
+      "mulps      %%xmm4,%%xmm7\n"
+      "shufps     $0,%%xmm2,%%xmm2\n"
+      "addps      %%xmm7,%%xmm0\n"
+      "movaps     0x30(%%ecx),%%xmm5\n"
+      "movss      0x10(%%edx),%%xmm6\n"
+      "mulps      %%xmm5,%%xmm2\n"
+      "movss      0x14(%%edx),%%xmm7\n"
+      "shufps     $0,%%xmm6,%%xmm6\n"
+      "addps      %%xmm2,%%xmm0\n"
+      "shufps     $0,%%xmm7,%%xmm7\n"
+      "movlps     %%xmm0,(%%eax)\n"
+      "movhps     %%xmm0,8(%%eax)\n"
+      "mulps      %%xmm3,%%xmm7\n"
+      "movss      0x18(%%edx),%%xmm0\n"
+      "mulps      %%xmm1,%%xmm6\n"
+      "shufps     $0,%%xmm0,%%xmm0\n"
+      "addps      %%xmm7,%%xmm6\n"
+      "mulps      %%xmm4,%%xmm0\n"
+      "movss      0x24(%%edx),%%xmm2\n"
+      "addps      %%xmm0,%%xmm6\n"
+      "movss      0x1c(%%edx),%%xmm0\n"
+      "movss      0x20(%%edx),%%xmm7\n"
+      "shufps     $0,%%xmm0,%%xmm0\n"
+      "shufps     $0,%%xmm7,%%xmm7\n"
+      "mulps      %%xmm5,%%xmm0\n"
+      "mulps      %%xmm1,%%xmm7\n"
+      "addps      %%xmm0,%%xmm6\n"
+      "shufps     $0,%%xmm2,%%xmm2\n"
+      "movlps     %%xmm6,0x10(%%eax)\n"
+      "movhps     %%xmm6,0x18(%%eax)\n"
+      "mulps      %%xmm3,%%xmm2\n"
+      "movss      0x28(%%edx),%%xmm6\n"
+      "addps      %%xmm2,%%xmm7\n"
+      "shufps     $0,%%xmm6,%%xmm6\n"
+      "movss      0x2c(%%edx),%%xmm2\n"
+      "mulps      %%xmm4,%%xmm6\n"
+      "shufps     $0,%%xmm2,%%xmm2\n"
+      "addps      %%xmm6,%%xmm7\n"
+      "mulps      %%xmm5,%%xmm2\n"
+      "movss      0x34(%%edx),%%xmm0\n"
+      "addps      %%xmm2,%%xmm7\n"
+      "shufps     $0,%%xmm0,%%xmm0\n"
+      "movlps     %%xmm7,0x20(%%eax)\n"
+      "movss      0x30(%%edx),%%xmm2\n"
+      "movhps     %%xmm7,0x28(%%eax)\n"
+      "mulps      %%xmm3,%%xmm0\n"
+      "shufps     $0,%%xmm2,%%xmm2\n"
+      "movss      0x38(%%edx),%%xmm6\n"
+      "mulps      %%xmm1,%%xmm2\n"
+      "shufps     $0,%%xmm6,%%xmm6\n"
+      "addps      %%xmm0,%%xmm2\n"
+      "mulps      %%xmm4,%%xmm6\n"
+      "movss      0x3c(%%edx),%%xmm7\n"
+      "shufps     $0,%%xmm7,%%xmm7\n"
+      "addps      %%xmm6,%%xmm2\n"
+      "mulps      %%xmm5,%%xmm7\n"
+      "addps      %%xmm7,%%xmm2\n"
+      "movaps     %%xmm2,0x30(%%eax)\n"
+
+      :
+   : "d" (matA),
+      "c" (matB),
+      "a" (result)
+      );
+}
+
+#endif
 
 
 void mInstall_Library_SSE()
 void mInstall_Library_SSE()
 {
 {
 #if defined(ADD_SSE_FN)
 #if defined(ADD_SSE_FN)
-   m_matF_x_matF           = SSE_MatrixF_x_MatrixF;
+   m_matF_x_matF = SSE_MatrixF_x_MatrixF;
+   m_matF_x_matF_aligned = SSE_MatrixF_x_MatrixF_Aligned;
    // m_matF_x_point3F = Athlon_MatrixF_x_Point3F;
    // m_matF_x_point3F = Athlon_MatrixF_x_Point3F;
    // m_matF_x_vectorF = Athlon_MatrixF_x_VectorF;
    // m_matF_x_vectorF = Athlon_MatrixF_x_VectorF;
 #endif
 #endif

+ 1 - 0
engine/source/math/mMath_C.cc

@@ -786,6 +786,7 @@ void (*m_matF_scale)(F32 *m,const F32* p) = m_matF_scale_C;
 void (*m_matF_normalize)(F32 *m) = m_matF_normalize_C;
 void (*m_matF_normalize)(F32 *m) = m_matF_normalize_C;
 F32  (*m_matF_determinant)(const F32 *m) = m_matF_determinant_C;
 F32  (*m_matF_determinant)(const F32 *m) = m_matF_determinant_C;
 void (*m_matF_x_matF)(const F32 *a, const F32 *b, F32 *mresult)    = default_matF_x_matF_C;
 void (*m_matF_x_matF)(const F32 *a, const F32 *b, F32 *mresult)    = default_matF_x_matF_C;
+void(*m_matF_x_matF_aligned)(const F32 *a, const F32 *b, F32 *mresult) = default_matF_x_matF_C;
 // void (*m_matF_x_point3F)(const F32 *m, const F32 *p, F32 *presult) = m_matF_x_point3F_C;
 // void (*m_matF_x_point3F)(const F32 *m, const F32 *p, F32 *presult) = m_matF_x_point3F_C;
 // void (*m_matF_x_vectorF)(const F32 *m, const F32 *v, F32 *vresult) = m_matF_x_vectorF_C;
 // void (*m_matF_x_vectorF)(const F32 *m, const F32 *v, F32 *vresult) = m_matF_x_vectorF_C;
 void (*m_matF_x_point4F)(const F32 *m, const F32 *p, F32 *presult) = m_matF_x_point4F_C;
 void (*m_matF_x_point4F)(const F32 *m, const F32 *p, F32 *presult) = m_matF_x_point4F_C;

+ 1 - 1
engine/source/platform/GLExtFunc.h

@@ -122,7 +122,7 @@ GL_FUNCTION(void,       glBlendEquationEXT, (GLenum mode), return; )
 GL_GROUP_END()
 GL_GROUP_END()
 
 
 //NV_vertex_array_range
 //NV_vertex_array_range
-#ifdef TORQUE_OS_WIN32
+#ifdef TORQUE_OS_WIN
 GL_GROUP_BEGIN(NV_vertex_array_range)
 GL_GROUP_BEGIN(NV_vertex_array_range)
 GL_FUNCTION(void, glVertexArrayRangeNV, (GLsizei length, void* pointer), return; )
 GL_FUNCTION(void, glVertexArrayRangeNV, (GLsizei length, void* pointer), return; )
 GL_FUNCTION(void, glFlushVertexArrayRangeNV, (), return; )
 GL_FUNCTION(void, glFlushVertexArrayRangeNV, (), return; )

+ 1 - 1
engine/source/platform/platform.h

@@ -39,7 +39,7 @@
 #include "platform/nativeDialogs/msgBox.h"
 #include "platform/nativeDialogs/msgBox.h"
 #endif
 #endif
 
 
-#ifndef TORQUE_OS_WIN32
+#ifndef TORQUE_OS_WIN
 #include <algorithm>
 #include <algorithm>
 #endif
 #endif
 
 

+ 2 - 2
engine/source/platform/platformFileIO.cc

@@ -207,7 +207,7 @@ inline void catPath(char *dst, const char *src, U32 len)
 
 
 // converts the posix root path "/" to "c:/" for win32
 // converts the posix root path "/" to "c:/" for win32
 // FIXME: this is not ideal. the c: drive is not guaranteed to exist.
 // FIXME: this is not ideal. the c: drive is not guaranteed to exist.
-#if defined(TORQUE_OS_WIN32)
+#if defined(TORQUE_OS_WIN)
 static inline void _resolveLeadingSlash(char* buf, U32 size)
 static inline void _resolveLeadingSlash(char* buf, U32 size)
 {
 {
    if(buf[0] != '/')
    if(buf[0] != '/')
@@ -235,7 +235,7 @@ char * Platform::makeFullPathName(const char *path, char *buffer, U32 size, cons
    if(Platform::isFullPath(bspath))
    if(Platform::isFullPath(bspath))
    {
    {
       // Already a full path
       // Already a full path
-      #if defined(TORQUE_OS_WIN32)
+      #if defined(TORQUE_OS_WIN)
          _resolveLeadingSlash(bspath, sizeof(bspath));
          _resolveLeadingSlash(bspath, sizeof(bspath));
       #endif
       #endif
       dStrncpy(buffer, bspath, size);
       dStrncpy(buffer, bspath, size);

+ 1 - 1
engine/source/platform/platformGL.h

@@ -24,7 +24,7 @@
 // redirect to appropriate platform file
 // redirect to appropriate platform file
 #if defined(TORQUE_OS_OSX)
 #if defined(TORQUE_OS_OSX)
 #include "platformOSX/platformGL.h"
 #include "platformOSX/platformGL.h"
-#elif defined(TORQUE_OS_WIN32)
+#elif defined(TORQUE_OS_WIN)
 #include "platformWin32/platformGL.h"
 #include "platformWin32/platformGL.h"
 #elif defined(TORQUE_OS_LINUX) || defined(TORQUE_OS_OPENBSD) || defined(TORQUE_OS_FREEBSD)
 #elif defined(TORQUE_OS_LINUX) || defined(TORQUE_OS_OPENBSD) || defined(TORQUE_OS_FREEBSD)
 #include "platformX86UNIX/platformGL.h"
 #include "platformX86UNIX/platformGL.h"

+ 1 - 1
engine/source/platform/platformMemory.h

@@ -31,7 +31,7 @@
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
 
 
-#if defined(TORQUE_OS_WIN32)
+#if defined(TORQUE_OS_WIN)
 extern void* FN_CDECL operator new(dsize_t size, void* ptr);
 extern void* FN_CDECL operator new(dsize_t size, void* ptr);
 #endif
 #endif
 
 

+ 1 - 1
engine/source/platform/platformNet.cpp

@@ -35,7 +35,7 @@
 //#define TORQUE_DEBUG_LOOKUPS
 //#define TORQUE_DEBUG_LOOKUPS
 
 
 
 
-#if defined (TORQUE_OS_WIN32)
+#if defined (TORQUE_OS_WIN)
 #define TORQUE_USE_WINSOCK
 #define TORQUE_USE_WINSOCK
 #include <errno.h>
 #include <errno.h>
 #include <ws2tcpip.h>
 #include <ws2tcpip.h>

+ 1 - 1
engine/source/platform/platformNetAsync.cpp

@@ -26,7 +26,7 @@
 #include "platform/platformNetAsync.h"
 #include "platform/platformNetAsync.h"
 #include "console/console.h"
 #include "console/console.h"
 
 
-#if defined(TORQUE_OS_WIN32)
+#if defined(TORQUE_OS_WIN)
 #  include <winsock.h>
 #  include <winsock.h>
 #else
 #else
 #include <netdb.h>
 #include <netdb.h>

+ 6 - 0
engine/source/platform/types.codewarrior.h

@@ -53,8 +53,14 @@ typedef unsigned long long U64;     ///< Compiler independent Unsigned 64-bit in
 // Identify the Operating System
 // Identify the Operating System
 #if defined(_WIN32)
 #if defined(_WIN32)
 #  define TORQUE_OS_STRING "Win32"
 #  define TORQUE_OS_STRING "Win32"
+#  define TORQUE_OS_WIN
 #  define TORQUE_OS_WIN32
 #  define TORQUE_OS_WIN32
 #  include "platform/types.win32.h"
 #  include "platform/types.win32.h"
+#if defined(_WIN64)
+#  define TORQUE_OS_STRING "Win64"
+#  define TORQUE_OS_WIN
+#  define TORQUE_OS_WIN64
+#  include "platform/types.win32.h"
 
 
 #elif defined(macintosh) || defined(__APPLE__)
 #elif defined(macintosh) || defined(__APPLE__)
 #  define TORQUE_OS_STRING "Mac"
 #  define TORQUE_OS_STRING "Mac"

+ 6 - 1
engine/source/platform/types.gcc.h

@@ -55,7 +55,12 @@ typedef unsigned long long  U64;
 
 
 //--------------------------------------
 //--------------------------------------
 // Identify the Operating System
 // Identify the Operating System
-#if defined(__WIN32__) || defined(_WIN32)
+#if defined(_WIN64)
+#  define TORQUE_OS_STRING "Win64"
+#  define TORQUE_OS_WIN
+#  define TORQUE_OS_WIN64
+#  include "platform/types.win32.h"
+#elif defined(__WIN32__) || defined(_WIN32)
 #  define TORQUE_OS_STRING "Win32"
 #  define TORQUE_OS_STRING "Win32"
 #  define TORQUE_OS_WIN32
 #  define TORQUE_OS_WIN32
 #  define TORQUE_SUPPORTS_NASM
 #  define TORQUE_SUPPORTS_NASM

+ 21 - 12
engine/source/platform/types.visualc.h

@@ -53,20 +53,29 @@ typedef unsigned _int64 U64;
 #endif
 #endif
 
 
 
 
-//--------------------------------------
-// Identify the Operating System
-#if defined(_WIN32)
-#  define TORQUE_OS_STRING "Win32"
-#  define TORQUE_OS_WIN32
-#  include "platform/types.win32.h"
-#else 
-#  error "VC: Unsupported Operating System"
+//--------------------------------------
+// Identify the Operating System
+#if defined( _WIN32 ) && !defined ( _WIN64 )
+#  define TORQUE_OS_STRING "Win32"
+#  define TORQUE_OS_WIN
+#  define TORQUE_OS_WIN32
+#  include "platform/types.win32.h"
+#elif defined( _WIN64 )
+#  define TORQUE_OS_STRING "Win64"
+#  define TORQUE_OS_WIN
+#  define TORQUE_OS_WIN64
+#  include "platform/types.win32.h"
+#else 
+#  error "VC: Unsupported Operating System"
 #endif
 #endif
 
 
-
-//--------------------------------------
-// Identify the CPU
-#if defined(_M_IX86)
+//--------------------------------------
+// Identify the CPU
+#if defined( _M_X64 )
+#  define TORQUE_CPU_STRING "x64"
+#  define TORQUE_CPU_X64
+#  define TORQUE_LITTLE_ENDIAN
+#elif defined(_M_IX86)
 #  define TORQUE_CPU_STRING "x86"
 #  define TORQUE_CPU_STRING "x86"
 #  define TORQUE_CPU_X86
 #  define TORQUE_CPU_X86
 #  define TORQUE_LITTLE_ENDIAN
 #  define TORQUE_LITTLE_ENDIAN

+ 5 - 1
engine/source/platform/types.win32.h

@@ -29,7 +29,11 @@
 // size_t is needed to overload new
 // size_t is needed to overload new
 // size_t tends to be OS and compiler specific and may need to 
 // size_t tends to be OS and compiler specific and may need to 
 // be if/def'ed in the future
 // be if/def'ed in the future
-typedef size_t  dsize_t;
+#ifdef _WIN64
+typedef unsigned long long  dsize_t;
+#else
+typedef unsigned int  dsize_t;
+#endif // _WIN64
 
 
 
 
 /** Platform dependent file date-time structure.  The defination of this structure
 /** Platform dependent file date-time structure.  The defination of this structure

+ 0 - 167
engine/source/platformWin32/winCPUInfo.cc

@@ -30,16 +30,6 @@ extern void PlatformBlitInit();
 extern void SetProcessorInfo(TorqueSystemInfo::Processor& pInfo,
 extern void SetProcessorInfo(TorqueSystemInfo::Processor& pInfo,
    char* vendor, U32 processor, U32 properties); // platform/platformCPU.cc
    char* vendor, U32 processor, U32 properties); // platform/platformCPU.cc
 
 
-
-#if defined(TORQUE_SUPPORTS_NASM)
-// asm cpu detection routine from platform code
-extern "C"
-{
-   void detectX86CPUInfo(char *vendor, U32 *processor, U32 *properties);
-}
-#endif
-
-
 void Processor::init()
 void Processor::init()
 {
 {
    Con::printSeparator();
    Con::printSeparator();
@@ -60,168 +50,11 @@ void Processor::init()
    U32   properties = 0;
    U32   properties = 0;
    U32   processor  = 0;
    U32   processor  = 0;
 
 
-#if defined(TORQUE_SUPPORTS_NASM)
-
-   detectX86CPUInfo(vendor, &processor, &properties);
-
-#elif defined(TORQUE_SUPPORTS_VC_INLINE_X86_ASM)
-   __asm
-   {
-      //--------------------------------------
-      // is CPUID supported
-      push     ebx
-      push     edx
-      push     ecx
-      pushfd
-      pushfd                     // save EFLAGS to stack
-      pop      eax               // move EFLAGS into EAX
-      mov      ebx, eax
-      xor      eax, 0x200000     // flip bit 21
-      push     eax
-      popfd                      // restore EFLAGS
-      pushfd
-      pop      eax
-      cmp      eax, ebx
-      jz       EXIT              // doesn't support CPUID instruction
-
-      //--------------------------------------
-      // Get Vendor Informaion using CPUID eax==0
-      xor      eax, eax
-      cpuid
-
-      mov      DWORD PTR vendor, ebx
-      mov      DWORD PTR vendor+4, edx
-      mov      DWORD PTR vendor+8, ecx
-
-      // get Generic Extended CPUID info
-      mov      eax, 1
-      cpuid                      // eax=1, so cpuid queries feature information
-
-      and      eax, 0x0ff0
-      mov      processor, eax    // just store the model bits
-      mov      properties, edx
-
-      // Want to check for 3DNow(tm).  Need to see if extended cpuid functions present.
-      mov      eax, 0x80000000
-      cpuid
-      cmp      eax, 0x80000000
-      jbe      MAYBE_3DLATER
-      mov      eax, 0x80000001
-      cpuid
-      and      edx, 0x80000000      // 3DNow if bit 31 set -> put bit in our properties
-      or       properties, edx
-   MAYBE_3DLATER:
-
-
-   EXIT:
-      popfd
-      pop      ecx
-      pop      edx
-      pop      ebx
-   }
-#endif
-
    SetProcessorInfo(PlatformSystemInfo.processor, vendor, processor, properties);
    SetProcessorInfo(PlatformSystemInfo.processor, vendor, processor, properties);
 
 
 // now calculate speed of processor...
 // now calculate speed of processor...
    U16 nearmhz = 0; // nearest rounded mhz
    U16 nearmhz = 0; // nearest rounded mhz
    U16 mhz = 0; // calculated value.
    U16 mhz = 0; // calculated value.
-#if defined(TORQUE_SUPPORTS_VC_INLINE_X86_ASM) || defined(TORQUE_COMPILER_MINGW)
-   //--------------------------------------
-   // if RDTSC support calculate the aproximate Mhz of the CPU
-   if (PlatformSystemInfo.processor.properties & CPU_PROP_RDTSC &&
-       PlatformSystemInfo.processor.properties & CPU_PROP_FPU)
-   {
-      const U32 msToWait = 1000; // bigger this is, more accurate we are.
-      U32 tsLo1 = 0, tsHi1 = 0; // time stamp storage.
-      U32 tsLo2 = 0, tsHi2 = 0; // time stamp storage.
-      U16 Nearest66Mhz = 0, Delta66Mhz = 0;
-      U16 Nearest50Mhz = 0, Delta50Mhz = 0;
-      F64 tsFirst, tsSecond, tsDelta;
-      U32 ms;
-
-      // starting time marker.
-      ms = GetTickCount(); // !!!!TBD - this function may have too high an error... dunno.
-
-   #if defined(TORQUE_COMPILER_MINGW)
-      asm ("rdtsc" : "=a" (tsLo1), "=d" (tsHi1));
-   #elif defined(TORQUE_SUPPORTS_VC_INLINE_X86_ASM)  // VC|CW
-      __asm
-      {
-           push  eax
-           push  edx
-         rdtsc
-         mov  tsLo1, eax
-         mov  tsHi1, edx
-           pop  edx
-           pop  eax
-      }
-   #endif
-
-      // the faster this check and exit is, the more accurate the time-stamp-delta will be.
-      while(GetTickCount() < ms + msToWait) {};
-
-   #if defined(TORQUE_COMPILER_MINGW)
-      asm ("rdtsc" : "=a" (tsLo2), "=d" (tsHi2));
-   #elif defined(TORQUE_SUPPORTS_VC_INLINE_X86_ASM)  // VC|CW
-      __asm
-      {
-           push  eax
-           push  edx
-         rdtsc
-         mov  tsLo2, eax
-         mov  tsHi2, edx
-           pop  edx
-           pop  eax
-      }
-   #endif
-
-      // do calculations in doubles for accuracy, since we're working with 64-bit math here...
-      // grabbed this from the MINGW sample.
-      tsFirst = ((F64)tsHi1 * (F64)0x10000 * (F64)0x10000) + (F64)tsLo1;
-      tsSecond = ((F64)tsHi2 * (F64)0x10000 * (F64)0x10000) + (F64)tsLo2;
-      // get the timestamp delta.  potentially large number here, as it's in Hz.
-      tsDelta = tsSecond - tsFirst;
-
-      // adjust for slightly-off-delay -- better to assume +1ms than try to really calc.
-      tsDelta *= (F64)(msToWait + 1);
-      tsDelta /= (F64)msToWait;
-      // factor back into 1s of time.
-      tsDelta *= ((F64)1000/(F64)msToWait);
-      // then convert into Mhz
-      tsDelta /= (F64)1000000;
-      tsDelta += 0.5f; // trying to get closer to the right values, effectively rounding up.
-      mhz = (U32)tsDelta;
-
-      // Find nearest full/half multiple of 66/133 MHz
-      Nearest66Mhz = ((((mhz * 3) + 100) / 200) * 200) / 3;
-      // 660 = 1980 = 2080 = 100 = 2000 = 666
-      // 440 = 1320 = 1420 = 70 = 1400 = 466
-
-      // find delta to nearest 66 multiple.
-      Delta66Mhz = abs(Nearest66Mhz - mhz);
-
-      // Find nearest full/half multiple of 100 MHz
-      Nearest50Mhz = (((mhz + 25) / 50) * 50);
-      // 440 = 465 = 9 = 450
-
-      // find delta to nearest 50 multiple.
-      Delta50Mhz = abs(Nearest50Mhz - mhz);
-
-      if (Delta50Mhz < Delta66Mhz) // closer to a 50 boundary
-         nearmhz = Nearest50Mhz;
-      else
-      {
-         nearmhz = Nearest66Mhz;
-         if (nearmhz==666) // hack around -- !!!!TBD - other cases?!?!
-            nearmhz = 667;
-      }
-
-      // !!!TBD
-      // would be nice if we stored both the calculated and the adjusted/guessed values.
-      PlatformSystemInfo.processor.mhz = nearmhz; // hold onto adjusted value only.
-   }
-#endif
 
 
    if (mhz==0)
    if (mhz==0)
    {
    {

+ 47 - 52
engine/source/platformWin32/winFileio.cc

@@ -998,50 +998,45 @@ bool Platform::hasSubDirectory(const char *pPath)
 static bool recurseDumpDirectories(const char *basePath, const char *subPath, Vector<StringTableEntry> &directoryVector, S32 currentDepth, S32 recurseDepth, bool noBasePath)
 static bool recurseDumpDirectories(const char *basePath, const char *subPath, Vector<StringTableEntry> &directoryVector, S32 currentDepth, S32 recurseDepth, bool noBasePath)
 {
 {
    char search[1024];
    char search[1024];
-   WIN32_FIND_DATAA findData;
 
 
    //-----------------------------------------------------------------------------
    //-----------------------------------------------------------------------------
    // Compose our search string - Format : ([path]/[subpath]/*)
    // Compose our search string - Format : ([path]/[subpath]/*)
    //-----------------------------------------------------------------------------
    //-----------------------------------------------------------------------------
 
 
-   char trail = basePath[ dStrlen(basePath) - 1 ];
-   char subTrail;
-   char subLead;
-   if( subPath )
-   {
-       subTrail = subPath[ dStrlen(subPath) - 1 ];
-       subLead = subPath[0];
-   }
-
+   dsize_t trLen = basePath ? dStrlen(basePath) : 0;
+   dsize_t subtrLen = subPath ? dStrlen(subPath) : 0;
+   char trail = trLen > 0 ? basePath[trLen - 1] : '\0';
+   char subTrail = subtrLen > 0 ? subPath[subtrLen - 1] : '\0';
+   char subLead = subtrLen > 0 ? subPath[0] : '\0';
 
 
-   if( trail == '/' )
+   if (trail == '/')
    {
    {
       // we have a sub path and it's not an empty string
       // we have a sub path and it's not an empty string
-      if(  subPath  && ( dStrncmp( subPath, "", 1 ) != 0 ) )
+      if (subPath && (dStrncmp(subPath, "", 1) != 0))
       {
       {
-         if( subTrail == '/' )
-            dSprintf(search, 1024, "%s%s*", basePath,subPath );
+         if (subTrail == '/')
+            dSprintf(search, 1024, "%s%s*", basePath, subPath);
          else
          else
-            dSprintf(search, 1024, "%s%s/*", basePath,subPath );
+            dSprintf(search, 1024, "%s%s/*", basePath, subPath);
       }
       }
       else
       else
-         dSprintf( search, 1024, "%s*", basePath );
+         dSprintf(search, 1024, "%s*", basePath);
    }
    }
    else
    else
    {
    {
-      if(  subPath  && ( dStrncmp( subPath, "", 1 ) != 0 ) )
-         if( subTrail == '/' )
-            dSprintf(search, 1024, "%s%s*", basePath,subPath );
+      if (subPath && (dStrncmp(subPath, "", 1) != 0))
+         if (subTrail == '/')
+            dSprintf(search, 1024, "%s%s*", basePath, subPath);
          else
          else
-            dSprintf(search, 1024, "%s%s/*", basePath,subPath );
+            dSprintf(search, 1024, "%s%s/*", basePath, subPath);
       else
       else
-         dSprintf(search, 1024, "%s/*", basePath );
+         dSprintf(search, 1024, "%s/*", basePath);
    }
    }
 
 
    //-----------------------------------------------------------------------------
    //-----------------------------------------------------------------------------
    // See if we get any hits
    // See if we get any hits
    //-----------------------------------------------------------------------------
    //-----------------------------------------------------------------------------
-
+   WIN32_FIND_DATAA findData;
    HANDLE handle = FindFirstFileA(search, &findData);
    HANDLE handle = FindFirstFileA(search, &findData);
    if (handle == INVALID_HANDLE_VALUE)
    if (handle == INVALID_HANDLE_VALUE)
       return false;
       return false;
@@ -1049,39 +1044,39 @@ static bool recurseDumpDirectories(const char *basePath, const char *subPath, Ve
    //-----------------------------------------------------------------------------
    //-----------------------------------------------------------------------------
    // add path to our return list ( provided it is valid )
    // add path to our return list ( provided it is valid )
    //-----------------------------------------------------------------------------
    //-----------------------------------------------------------------------------
-   if( !Platform::isExcludedDirectory( subPath ) )
+   if (!Platform::isExcludedDirectory(subPath))
    {
    {
 
 
-      if( noBasePath )
+      if (noBasePath)
       {
       {
          // We have a path and it's not an empty string or an excluded directory
          // We have a path and it's not an empty string or an excluded directory
-         if( ( subPath  && ( dStrncmp( subPath, "", 1 ) != 0 ) ) )
-            directoryVector.push_back( StringTable->insert( subPath ) );
+         if ((subPath && (dStrncmp(subPath, "", 1) != 0)))
+            directoryVector.push_back(StringTable->insert(subPath));
       }
       }
       else
       else
       {
       {
-         if( ( subPath  && ( dStrncmp( subPath, "", 1 ) != 0 ) ) )
+         if ((subPath && (dStrncmp(subPath, "", 1) != 0)))
          {
          {
-            char szPath [ 1024 ];
-            dMemset( szPath, 0, 1024 );
-            if ( trail == '/' )
+            char szPath[1024];
+            dMemset(szPath, 0, 1024);
+            if (trail == '/')
             {
             {
-                if ( subLead == '/' )
-                   dSprintf( szPath, 1024, "%s%s", basePath, &subPath[1] );
-                else
-                   dSprintf( szPath, 1024, "%s%s", basePath, subPath );
+               if (subLead == '/')
+                  dSprintf(szPath, 1024, "%s%s", basePath, &subPath[1]);
+               else
+                  dSprintf(szPath, 1024, "%s%s", basePath, subPath);
             }
             }
             else
             else
             {
             {
-                if( subLead == '/' )
-                   dSprintf( szPath, 1024, "%s%s", basePath, subPath );
-                else
-                   dSprintf( szPath, 1024, "%s/%s", basePath, subPath );
+               if (subLead == '/')
+                  dSprintf(szPath, 1024, "%s%s", basePath, subPath);
+               else
+                  dSprintf(szPath, 1024, "%s/%s", basePath, subPath);
             }
             }
-            directoryVector.push_back( StringTable->insert( szPath ) );
+            directoryVector.push_back(StringTable->insert(szPath));
          }
          }
          else
          else
-            directoryVector.push_back( StringTable->insert( basePath ) );
+            directoryVector.push_back(StringTable->insert(basePath));
       }
       }
    }
    }
 
 
@@ -1098,42 +1093,42 @@ static bool recurseDumpDirectories(const char *basePath, const char *subPath, Ve
             continue;
             continue;
 
 
          // skip excluded directories
          // skip excluded directories
-         if( Platform::isExcludedDirectory( findData.cFileName ) )
+         if (Platform::isExcludedDirectory(findData.cFileName))
             continue;
             continue;
 
 
-         if( ( subPath  && ( dStrncmp( subPath, "", 1 ) != 0 ) ))
+         if ((subPath && (dStrncmp(subPath, "", 1) != 0)))
          {
          {
             char child[1024];
             char child[1024];
 
 
-            if( subTrail == '/' )
+            if (subTrail == '/')
                dSprintf(child, sizeof(child), "%s%s", subPath, findData.cFileName);
                dSprintf(child, sizeof(child), "%s%s", subPath, findData.cFileName);
             else
             else
                dSprintf(child, sizeof(child), "%s/%s", subPath, findData.cFileName);
                dSprintf(child, sizeof(child), "%s/%s", subPath, findData.cFileName);
 
 
-            if( currentDepth < recurseDepth || recurseDepth == -1 )
-               recurseDumpDirectories(basePath, child, directoryVector, currentDepth+1, recurseDepth, noBasePath );
+            if (currentDepth < recurseDepth || recurseDepth == -1)
+               recurseDumpDirectories(basePath, child, directoryVector, currentDepth + 1, recurseDepth, noBasePath);
 
 
          }
          }
          else
          else
          {
          {
             char child[1024];
             char child[1024];
 
 
-            if( trail == '/' )
-               dStrcpy( child, findData.cFileName );
+            if (trail == '/')
+               dStrcpy(child, findData.cFileName);
             else
             else
                dSprintf(child, sizeof(child), "/%s", findData.cFileName);
                dSprintf(child, sizeof(child), "/%s", findData.cFileName);
 
 
-            if( currentDepth < recurseDepth || recurseDepth == -1 )
-               recurseDumpDirectories(basePath, child, directoryVector, currentDepth+1, recurseDepth, noBasePath );
+            if (currentDepth < recurseDepth || recurseDepth == -1)
+               recurseDumpDirectories(basePath, child, directoryVector, currentDepth + 1, recurseDepth, noBasePath);
          }
          }
-      }      
-   }
-   while(FindNextFileA(handle, &findData));
+      }
+   } while (FindNextFileA(handle, &findData));
 
 
    FindClose(handle);
    FindClose(handle);
    return true;
    return true;
 }
 }
 
 
+
 bool Platform::dumpDirectories( const char *path, Vector<StringTableEntry> &directoryVector, S32 depth, bool noBasePath )
 bool Platform::dumpDirectories( const char *path, Vector<StringTableEntry> &directoryVector, S32 depth, bool noBasePath )
 {
 {
    ResourceManager->initExcludedDirectories();
    ResourceManager->initExcludedDirectories();

+ 115 - 0
toybox/GuiEditorToy/1/assets/gui/ColorSelectorTool.gui

@@ -0,0 +1,115 @@
+//--- Created With GUIEDITORTOY ---//
+%guiContent = new GuiControl() {
+   canSaveDynamicFields = "0";
+   isContainer = "1";
+   Profile = "GuiDefaultProfile";
+   HorizSizing = "width";
+   VertSizing = "height";
+   Position = "0 0";
+   Extent = "1024 748";
+   MinExtent = "8 2";
+   canSave = "1";
+   Visible = "1";
+   Active = "0";
+   tooltipWidth = "250";
+   hovertime = "1000";
+
+   new GuiWindowCtrl(CBBWindow) {
+      canSaveDynamicFields = "0";
+      isContainer = "1";
+      Profile = "GuiWindowProfile";
+      HorizSizing = "right";
+      VertSizing = "bottom";
+      Position = "384 272";
+      Extent = "200 208";
+      MinExtent = "8 2";
+      canSave = "1";
+      Visible = "1";
+      Active = "1";
+      tooltipWidth = "250";
+      hovertime = "1000";
+      Text = "Colour Picker";
+      resizeWidth = "1";
+      resizeHeight = "1";
+      canMove = "1";
+      canClose = "1";
+      canMinimize = "0";
+      canMaximize = "0";
+      minSize = "50 50";
+
+      new GuiColorPickerCtrl(CBBC) {
+         canSaveDynamicFields = "0";
+         isContainer = "0";
+         Profile = "GuiDefaultProfile";
+         HorizSizing = "right";
+         VertSizing = "bottom";
+         Position = "16 32";
+         Extent = "136 128";
+         MinExtent = "8 2";
+         canSave = "1";
+         Visible = "1";
+         Active = "1";
+         tooltipWidth = "250";
+         hovertime = "1000";
+         BaseColor = "Red";
+         PickColor = "Black";
+         SelectorGap = "1";
+         DisplayMode = "BlendColor";
+         ActionOnMove = "1";
+         ShowSelector = "1";
+      };
+      new GuiColorPickerCtrl(CBVC) {
+         canSaveDynamicFields = "0";
+         isContainer = "0";
+         Profile = "GuiDefaultProfile";
+         HorizSizing = "right";
+         VertSizing = "bottom";
+         Position = "160 32";
+         Extent = "24 128";
+         MinExtent = "8 2";
+         canSave = "1";
+         Visible = "1";
+         Active = "1";
+         tooltipWidth = "250";
+         hovertime = "1000";
+         BaseColor = "Red";
+         PickColor = "Black";
+         SelectorGap = "1";
+         DisplayMode = "VertColor";
+         ActionOnMove = "1";
+         ShowSelector = "1";
+      };
+      new GuiSliderCtrl() {
+         canSaveDynamicFields = "0";
+         isContainer = "0";
+         Profile = "GuiSliderProfile";
+         HorizSizing = "right";
+         VertSizing = "bottom";
+         Position = "16 168";
+         Extent = "168 16";
+         MinExtent = "8 2";
+         canSave = "1";
+         Visible = "1";
+         Active = "1";
+         tooltipWidth = "250";
+         hovertime = "1000";
+         range = "0.000 1.000";
+         ticks = "0";
+         Value = "1";
+      };
+   };
+};
+//--- GUIEDITORTOY END ---//
+
+function CBBC::onAction(%this)
+{
+	%col = CBBC.getFieldValue("PickColor");
+	echo(%col);
+}
+
+function CBVC::onAction(%this)
+{
+	%col = CBVC.getFieldValue("PickColor");
+	CBBC.setFieldValue("BaseColor", %col);
+	CBBC.updateColor();
+}

+ 73 - 0
toybox/GuiEditorToy/1/assets/gui/guiEditorCtrl.gui

@@ -0,0 +1,73 @@
+//--- OBJECT WRITE BEGIN ---
+%guiContent = new GuiControl(GuiEditorCtrl) {
+   parentGroup = "GuiEditorContent";
+   position = "0 0";
+   Extent = "1024 768";
+   minExtent = "8 2";
+   horizSizing = "right";
+   vertSizing = "bottom";
+   profile = "GuiDefaultProfile";
+   visible = "1";
+   active = "1";
+   tooltipProfile = "GuiToolTipProfile";
+   hovertime = "1000";
+   isContainer = "1";
+   canSave = "1";
+   canSaveDynamicFields = "1";
+   
+    new GuiBitmapCtrl() {
+		HorizSizing = "width";
+        VertSizing = "height";
+        Position = "0 0";
+        Extent = "1024 768";
+        MinExtent = "8 2";
+        canSave = "1";
+        Visible = "1";
+        hovertime = "1000";
+        bitmap = "./images/gridTiny2";
+        wrap = "1";
+	};
+   
+    new GuiControl(GuiEditorContent) {
+        canSaveDynamicFields = "0";
+        isContainer = "1";
+        Profile = "GuiDefaultProfile";
+        HorizSizing = "width";
+        VertSizing = "height";
+        Position = "0 0";
+        Extent = "1024 768";
+        MinExtent = "8 2";
+        canSave = "1";
+        Visible = "1";
+        hovertime = "1000";
+				  
+		new GuiControl(GuiBlank) {
+            canSaveDynamicFields = "0";
+            isContainer = "1";
+            Profile = "GuiDefaultProfile";
+            HorizSizing = "width";
+            VertSizing = "height";
+            Position = "0 0";
+            Extent = "1024 768";
+            MinExtent = "8 2";
+            canSave = "1";
+            Visible = "1";
+            hovertime = "1000";
+		};
+	};
+		
+	new GuiEditCtrl(GuiEditor) {
+		canSaveDynamicFields = "0";
+		isContainer = "0";
+		Profile = "GuiTextEditProfile";
+		HorizSizing = "width";
+		VertSizing = "height";
+		Position = "0 0";
+		Extent = "1024 768";
+		minExtent = "8 2";
+		canSave = "1";
+		Visible = "1";
+		hovertime = "1000";
+	};
+};
+//--- OBJECT WRITE END ---

+ 204 - 0
toybox/GuiEditorToy/1/assets/gui/guiToolbox.gui

@@ -0,0 +1,204 @@
+%guiContent = new GuiControl(GuiToolboxGui) {
+    position = "0 0";
+    extent = "1024 768";
+    minExtent = "8 2";
+    horizSizing = "right";
+    vertSizing = "bottom";
+    profile = "GuiDefaultProfile";
+    visible = "1";
+    active = "1";
+    tooltipProfile = "GuiToolTipProfile";
+    hovertime = "1000";
+    isContainer = "1";
+    canSave = "1";
+    canSaveDynamicFields = "1";
+   
+	new GuiWindowCtrl(GuiToolbox) {
+		canSaveDynamicFields = "0";
+		internalName = "toolbox";
+		isContainer = "1";
+		Profile = "GuiWindowProfile";
+		HorizSizing = "left";
+		VertSizing = "bottom";
+		position = "640 40";
+		Extent = "220 380";
+		MinExtent = "8 2";
+		canSave = "1";
+		Visible = "1";
+		hovertime = "1000";
+		text = "GUI Toolbox";
+		maxLength = "1024";
+		resizeWidth = "1";
+		resizeHeight = "1";
+		canMove = "1";
+		canClose = "0";
+		canMinimize = "1";
+		canMaximize = "0";
+		minSize = "50 50";
+		
+		new GuiScrollCtrl() {
+            canSaveDynamicFields = "0";
+            isContainer = "1";
+            Profile="GuiTransparentScrollProfile";
+			ThumbProfile = "GuiScrollThumbProfile";
+			TrackProfile = "GuiScrollTrackProfile";
+			ArrowProfile = "GuiScrollArrowProfile";
+            HorizSizing = "width";
+            VertSizing = "height";
+            position = "0 20";
+            Extent = "220 340";
+            MinExtent = "8 2";
+            canSave = "1";
+            Visible = "1";
+            hovertime = "1000";
+            willFirstRespond = "1";
+            hScrollBar = "alwaysOff";
+            vScrollBar = "dynamic";
+			constantThumbHeight="0";
+			showArrowButtons="0";
+			scrollBarThickness="14";
+		
+			new GuiListBoxCtrl() {
+				canSaveDynamicFields = "0";
+				internalName = "toolboxList";
+				superclass = "GuiEditorToolboxDrag";
+				isContainer = "0";
+				Profile = "GuiListBoxProfile";
+				HorizSizing = "width";
+				VertSizing = "height";
+				position = "2 20";
+				Extent = "218 1260";
+				MinExtent = "8 2";
+				canSave = "1";
+				Visible = "1";
+				hovertime = "1000";
+				AllowMultipleSelections = "0";
+				fitParentWidth = "1";
+			};
+		};
+	};
+	
+	new GuiWindowCtrl(GuiInspectorWindow) {
+		canSaveDynamicFields = "0";
+		isContainer = "1";
+		Profile = "GuiWindowProfile";
+		HorizSizing = "left";
+		VertSizing = "bottom";
+		position = "60 40";
+		Extent = "360 380";
+		MinExtent = "8 2";
+		canSave = "1";
+		Visible = "1";
+		hovertime = "1000";
+		text = "GUI Inspector";
+		maxLength = "1024";
+		resizeWidth = "1";
+		resizeHeight = "1";
+		canMove = "1";
+		canClose = "0";
+		canMinimize = "1";
+		canMaximize = "0";
+		minSize = "50 50";
+		
+		new GuiScrollCtrl() {
+            canSaveDynamicFields = "0";
+            isContainer = "1";
+            Profile="GuiTransparentScrollProfile";
+			ThumbProfile = "GuiScrollThumbProfile";
+			TrackProfile = "GuiScrollTrackProfile";
+			ArrowProfile = "GuiScrollArrowProfile";
+            HorizSizing = "width";
+            VertSizing = "height";
+            position = "0 20";
+            Extent = "360 340";
+            MinExtent = "8 2";
+            canSave = "1";
+            Visible = "1";
+            hovertime = "1000";
+            willFirstRespond = "1";
+            hScrollBar = "alwaysOff";
+            vScrollBar = "alwaysOn";
+			constantThumbHeight="0";
+			showArrowButtons="0";
+			scrollBarThickness="14";
+		
+			new GuiChainCtrl(GuiEditorCtrlProperties) {
+                isContainer = "1";
+                Position = "0 20";
+                Extent = "340 40";
+				HorizSizing = "width";
+				VertSizing = "height";
+            };
+		};
+	};
+	
+	new GuiWindowCtrl(GuiTreeViewWindow) {
+		canSaveDynamicFields = "0";
+		isContainer = "1";
+		Profile = "GuiWindowProfile";
+		HorizSizing = "left";
+		VertSizing = "bottom";
+		position = "360 40";
+		Extent = "220 380";
+		MinExtent = "8 2";
+		canSave = "1";
+		Visible = "1";
+		hovertime = "1000";
+		text = "Current GUI";
+		maxLength = "1024";
+		resizeWidth = "1";
+		resizeHeight = "1";
+		canMove = "1";
+		canClose = "0";
+		canMinimize = "1";
+		canMaximize = "0";
+		minSize = "50 50";
+		
+		new GuiScrollCtrl() {
+            canSaveDynamicFields = "0";
+            isContainer = "1";
+            Profile="GuiTransparentScrollProfile";
+			ThumbProfile = "GuiScrollThumbProfile";
+			TrackProfile = "GuiScrollTrackProfile";
+			ArrowProfile = "GuiScrollArrowProfile";
+            HorizSizing = "width";
+            VertSizing = "height";
+            position = "0 20";
+            Extent = "220 340";
+            MinExtent = "8 2";
+            canSave = "1";
+            Visible = "1";
+            hovertime = "1000";
+            willFirstRespond = "1";
+            hScrollBar = "alwaysOff";
+            vScrollBar = "alwaysOn";
+			constantThumbHeight="0";
+			showArrowButtons="0";
+			scrollBarThickness="14";
+		
+			new GuiTreeViewCtrl(GuiEditorTreeView) {
+               canSaveDynamicFields = "0";
+               isContainer = "1";
+               Profile = "GuiTreeViewProfile";
+               HorizSizing = "width";
+               VertSizing = "height";
+               Position = "1 1";
+               Extent = "200 20";
+               MinExtent = "8 2";
+               canSave = "1";
+               Visible = "1";
+               hovertime = "1000";
+               tabSize = "16";
+               textOffset = "2";
+               fullRowSelect = "0";
+               itemHeight = "21";
+               destroyTreeOnSleep = "1";
+               MouseDragging = "1";
+               MultipleSelections = "1";
+               DeleteObjectAllowed = "1";
+               DragToItemAllowed = "1";
+            };
+		};
+	};
+	
+};

BIN
toybox/GuiEditorToy/1/assets/gui/images/gridTiny2.PNG


+ 521 - 0
toybox/GuiEditorToy/1/assets/scripts/GuiEditorCtrlProperties.cs

@@ -0,0 +1,521 @@
+$currentTarget = "";
+// Doing this in script might end up being a waste of time
+// but because of the way the current inspector is messing about
+// it is needed.
+
+function GuiEditorCtrlProperties::update(%this, %target)
+{
+	// We can only get here from the guiEdit so its definitely a 
+	// gui control, no need to check.
+	if(%target == 0)
+	{
+		GuiEditorCtrlProperties.clear();
+		$currentTarget = "";
+	}
+	else
+	{
+		if($currentTarget != %target)
+		{
+			%this.build(%target);
+		}
+		else
+		{
+			%this.updateValues(%target);
+		}
+	}
+}
+
+function GuiEditorCtrlProperties::updateValues(%this, %target)
+{
+	%count = %target.getFieldCount();
+	for(%i = 0; %i < %count; %i++)
+	{
+		%field = %target.getField(%i);
+		%fieldType = %target.getFieldType(%field);
+		if(%fieldType $= "Point2I")
+		{
+			%fieldVal = %target.getFieldValue(%field);
+			%fieldEditX = %field @ "editX";
+			%fieldEditY = %field @ "editY";
+			%fieldEditX.setText(%fieldVal.x);
+			%fieldEditY.setText(%fieldVal.y);
+			
+		}
+		else if(%fieldType $= "bool")
+		{
+			%fieldEdit = %field @ "edit";
+			%fieldEdit.setStateOn(%target.getFieldValue(%field));
+		}
+		else
+		{
+			%fieldEdit = %field @ "edit";
+			%fieldEdit.setText(%target.getFieldValue(%field));
+		}
+	}
+}
+
+function GuiEditorCtrlProperties::build(%this, %target)
+{
+	$dynSim = new SimSet();
+	$currentTarget = %target;
+	GuiEditorCtrlProperties.clear();
+	%count = %target.getFieldCount();
+	for(%i = 0; %i < %count; %i++)
+	{
+		
+		%fieldCtrl = new GuiControl()
+		{
+			extent = "320 30";
+			horizSizing = "right";
+			vertSizing = "bottom";
+			profile = "GuiDefaultProfile";
+			visible = "1";
+		};
+		
+		%field = %target.getField(%i);
+		
+		%fieldLabel = new GuiControl()
+		{
+			text = %field @ ": ";
+			profile = "GuiTextRightProfile";
+			Position = "10 0";
+			extent = "150 30";
+			horizSizing = "right";
+			vertSizing = "bottom";
+			visible = "1";
+		};
+		
+		%fieldType = %target.getFieldType(%field);
+		%fieldVal = %target.getFieldValue(%field);
+		%fieldEdit = %this.buildEdit(%field,%fieldType,%fieldVal);
+		%fieldCtrl.add(%fieldLabel);
+		%fieldCtrl.add(%fieldEdit);
+
+		GuiEditorCtrlProperties.add(%fieldCtrl);
+	}
+	%dynCtrl = new GuiPanelCtrl()
+	{
+		position = "10 0";
+		extent = "320 20";
+		horizSizing = "right";
+		vertSizing = "bottom";
+		profile = "GuiPanelProfile";
+		visible = "1";
+		Text = "Dynamic Fields";
+	};
+	
+	GuiEditorCtrlProperties.add(%dynCtrl);
+	
+	%addDyn = new GuiControl()
+	{
+		Position = "0 20";
+		extent = "320 30";
+		horizSizing = "right";
+		vertSizing = "bottom";
+		profile = "GuiDefaultProfile";
+		visible = "1";
+	};
+	
+	%label = new GuiControl()
+	{
+		text = "Add Dynamic Field";
+		profile = "GuiTextProfile";
+		Position = "10 0";
+		extent = "150 30";
+		horizSizing = "right";
+		vertSizing = "bottom";
+		visible = "1";
+	};
+	
+	%bttn = new GuiButtonCtrl()
+	{
+		text = "+";
+		profile = "GuiButtonDynProfile";
+		Position = "280 0";
+		extent = "30 30";
+		Command = "GuiEditorCtrlProperties.addDynamic();";
+	};
+	
+	%addDyn.add(%label);
+	%addDyn.add(%bttn);
+	%dynCtrl.add(%addDyn);
+	
+	%dynChain = new GuiChainCtrl(DynamicContainer)
+	{
+		position = "0 50";
+		extent = "320 30";
+	};
+	
+	%dynCtrl.add(%dynChain);
+	
+	GuiEditorCtrlProperties.updateDynamicFields();
+}
+
+function GuiEditorCtrlProperties::addDynamic(%this)
+{
+	%name = "dynamicField" @ $currentTarget.getDynamicFieldCount();
+	$currentTarget.setFieldValue(%name,"defaultValue");
+	
+	GuiEditorCtrlProperties.updateDynamicFields();
+}
+
+function GuiEditorCtrlProperties::removeDynamic(%this, %field)
+{
+	$currentTarget.setFieldValue(%field,"");
+	GuiEditorCtrlProperties.updateDynamicFields();
+}
+
+function GuiEditorCtrlProperties::renameDynamic(%this, %field, %newName, %fieldVal)
+{
+	$currentTarget.setFieldValue(%newName, %fieldVal);
+	$currentTarget.setFieldValue(%field,"");
+	GuiEditorCtrlProperties.updateDynamicFields();
+}
+
+function GuiEditorCtrlProperties::updateDynamicFields(%this)
+{
+	%count = $currentTarget.getDynamicFieldCount();
+	DynamicContainer.clear();
+	for(%i = 0; %i < %count; %i++)
+	{
+		%field = $currentTarget.getDynamicField(%i);
+		%fieldVal = $currentTarget.getFieldValue(%field);
+		
+		
+		%dynCtrl = new GuiControl()
+		{
+			extent = "320 30";
+			horizSizing = "right";
+			vertSizing = "bottom";
+			profile = "GuiDefaultProfile";
+			visible = "1";
+		};
+		
+		%label = new GuiTextEditCtrl()
+		{
+			text = %field;
+			profile = "GuiTextEditProfile";
+			Position = "10 0";
+			extent = "130 30";
+			horizSizing = "right";
+			vertSizing = "bottom";
+			visible = "1";
+		};
+		
+		%val = new GuiTextEditCtrl()
+		{
+			text = %fieldVal;
+			profile = "GuiTextEditProfile";
+			Position = "140 0";
+			extent = "130 30";
+			horizSizing = "right";
+			vertSizing = "bottom";
+			visible = "1";
+		};
+		%label.setFieldValue("AltCommand", "GuiEditorCtrlProperties.renameDynamic(" @ %field @ "," @ %label.getId()  @ ".getText()," @ %val.getId()  @ ".getText());");
+		%label.setFieldValue("Validate", "GuiEditorCtrlProperties.renameDynamic(" @ %field @ "," @ %label.getId()  @ ".getText()," @ %val.getId()  @ ".getText());");
+		
+		%val.setFieldValue("AltCommand", "GuiEditorCtrlProperties.setData(" @ %field @ "," @ %val.getId() @ ".getText());");
+		%val.setFieldValue("Validate", "GuiEditorCtrlProperties.setData(" @ %field @ "," @ %val.getId() @ ".getText());");
+		
+		%bttn = new GuiButtonCtrl()
+		{
+			text = "X";
+			profile = "GuiButtonDynProfile";
+			Position = "280 0";
+			extent = "30 30";
+		};
+		
+		%bttn.setFieldValue("Command", "GuiEditorCtrlProperties.removeDynamic(" @ %field @ ");");
+		%dynCtrl.add(%label);
+		%dynCtrl.add(%val);
+		%dynCtrl.add(%bttn);
+		DynamicContainer.add(%dynCtrl);
+		DynamicContainer.getParent().setExpanded(0);
+		DynamicContainer.getParent().setExpanded(1);
+	}
+}
+
+function GuiEditorCtrlProperties::setData(%this,%field, %val)
+{
+	$currentTarget.setEditFieldValue(%field, %val);
+}
+
+function GuiEditorCtrlProperties::buildEdit(%this,%field,%fieldType,%fieldVal)
+{
+	// items yet to be added:
+	// filename
+	// RectI
+	// assetIdString
+	// audioAssetPtr
+	
+	%fieldEdit = %field @ "edit";
+	echo(%field TAB %fieldType TAB %fieldVal);
+	switch$(%fieldType)
+	{
+		case "float":
+			%ctrl = new GuiTextEditCtrl(%fieldEdit)
+				{
+					Text = %fieldVal;
+					Position = "160 0";
+					extent = "160 30";
+					horizSizing = "right";
+					vertSizing = "bottom";
+					visible = "1";
+					Profile = "GuiTextEditProfile";
+				};
+			%ctrl.setFieldValue("AltCommand", "GuiEditorCtrlProperties.setData(" @ %field @ "," @ %ctrl.getId() @ ".getText());");
+			%ctrl.setFieldValue("Validate", "GuiEditorCtrlProperties.setData(" @ %field @ "," @ %ctrl.getId() @ ".getText());");
+			return %ctrl;
+			
+		case "ColorF":
+			%ctrl = new GuiTextEditCtrl(%fieldEdit)
+				{
+					Text = %fieldVal;
+					Position = "160 0";
+					extent = "160 30";
+					horizSizing = "right";
+					vertSizing = "bottom";
+					visible = "1";
+					Profile = "GuiTextEditProfile";
+				};
+			%ctrl.setFieldValue("AltCommand", "GuiEditorCtrlProperties.setData(" @ %field @ "," @ %ctrl.getId() @ ".getText());");
+			%ctrl.setFieldValue("Validate", "GuiEditorCtrlProperties.setData(" @ %field @ "," @ %ctrl.getId() @ ".getText());");
+			return %ctrl;
+			
+		case "ColorI":
+			%ctrl = new GuiTextEditCtrl(%fieldEdit)
+				{
+					Text = %fieldVal;
+					Position = "160 0";
+					extent = "160 30";
+					horizSizing = "right";
+					vertSizing = "bottom";
+					visible = "1";
+					Profile = "GuiTextEditProfile";
+				};
+			%ctrl.setFieldValue("AltCommand", "GuiEditorCtrlProperties.setData(" @ %field @ "," @ %ctrl.getId() @ ".getText());");
+			%ctrl.setFieldValue("Validate", "GuiEditorCtrlProperties.setData(" @ %field @ "," @ %ctrl.getId() @ ".getText());");
+			return %ctrl;
+			
+		case "string":
+			%ctrl = new GuiTextEditCtrl(%fieldEdit)
+				{
+					Text = %fieldVal;
+					Position = "160 0";
+					extent = "160 30";
+					horizSizing = "right";
+					vertSizing = "bottom";
+					visible = "1";
+					Profile = "GuiTextEditProfile";
+				};
+			%ctrl.setFieldValue("AltCommand", "GuiEditorCtrlProperties.setData(" @ %field @ "," @ %ctrl.getId() @ ".getText());");
+			%ctrl.setFieldValue("Validate", "GuiEditorCtrlProperties.setData(" @ %field @ "," @ %ctrl.getId() @ ".getText());");
+			return %ctrl;
+			
+		case "SimObjectPtr":
+		return	%ctrl = new GuiControl(%fieldEdit)
+				{
+					Text = %fieldVal;
+					Position = "160 0";
+					extent = "160 30";
+					horizSizing = "right";
+					vertSizing = "bottom";
+					visible = "1";
+					Profile = "GuiTextProfile";
+				};
+				
+		case "caseString":
+			%ctrl = new GuiTextEditCtrl(%fieldEdit)
+			{
+				Text = %fieldVal;
+				Position = "160 0";
+				extent = "160 30";
+				horizSizing = "right";
+				vertSizing = "bottom";
+				visible = "1";
+				Profile = "GuiTextEditProfile";
+				
+			};
+			%ctrl.setFieldValue("AltCommand", "GuiEditorCtrlProperties.setData(" @ %field @ "," @ %ctrl.getId() @ ".getText());");
+			%ctrl.setFieldValue("Validate", "GuiEditorCtrlProperties.setData(" @ %field @ "," @ %ctrl.getId() @ ".getText());");
+			return %ctrl;
+			
+		case "int":
+			%ctrl = new GuiTextEditCtrl(%fieldEdit)
+				{
+					Text = %fieldVal;
+					Position = "160 0";
+					extent = "160 30";
+					horizSizing = "right";
+					vertSizing = "bottom";
+					visible = "1";
+					Profile = "GuiNumberEditProfile";
+				};
+			%ctrl.setFieldValue("AltCommand", "GuiEditorCtrlProperties.setData(" @ %field @ "," @ %ctrl.getId() @ ".getText());");
+			%ctrl.setFieldValue("Validate", "GuiEditorCtrlProperties.setData(" @ %field @ "," @ %ctrl.getId() @ ".getText());");
+			return %ctrl;
+			
+		case "bool":
+			%ctrl = new GuiCheckBoxCtrl(%fieldEdit)
+				{
+					text = "";
+					stateOn = %fieldVal;
+					Position = "160 0";
+					extent = "160 30";
+					horizSizing = "relative";
+					vertSizing = "relative";
+					visible = "1";
+					Profile = "GuiCheckBoxProfile";
+				};
+			%ctrl.setFieldValue("Command", "GuiEditorCtrlProperties.setData(" @ %field @ "," @ %ctrl.getId() @ ".getStateOn());");
+			return %ctrl;
+			
+		case "Point2I":
+			return	%this.buildPoint2ICtrl(%field,%fieldVal);
+			
+		case "Point2F":
+			return	%this.buildPoint2ICtrl(%field,%fieldVal);
+			
+		case "enumval":
+			%ctrl = new GuiPopUpMenuCtrl(%fieldEdit)
+				{
+					text = %fieldVal;
+					Position = "160 6";
+					extent = "160 18";
+					Profile="GuiPopUpMenuProfile2";
+					HorizSizing="relative";
+					VertSizing="relative";
+					maxLength="1024";
+					maxPopupHeight="200";
+					bitmapBounds="16 16";
+				};
+			%cl = $currentTarget.getClassName();
+			%ctrl.setEnumContent(%cl, %field);
+			%ctrl.sort();
+			%ctrl.setFieldValue("Command", "GuiEditorCtrlProperties.setData(" @ %field @ "," @ %ctrl.getId() @ ".getText());");
+			return %ctrl;
+			
+		case "GuiProfile":
+			return %ctrl = %this.buildGuiProfileCtrl(%field, %fieldVal);
+			
+		default:
+			echo("Field type not handled");
+			%ctrl = 0;
+	}
+	
+}
+
+function GuiEditorCtrlProperties::buildGuiProfileCtrl(%this,%field,%fieldVal)
+{
+	%fieldEdit = %field @ "edit";
+	%ctrl = new GuiPopUpMenuCtrl(%fieldEdit)
+	{
+		text = %fieldVal;
+		Position = "160 6";
+		extent = "160 18";
+		Profile="GuiPopUpMenuProfile2";
+		HorizSizing="relative";
+		VertSizing="relative";
+		maxLength="1024";
+		maxPopupHeight="200";
+		bitmapBounds="16 16";
+	};
+	%count = GuiDataGroup.getCount();
+	for(%i = 0; %i < %count; %i++)
+	{
+		%obj = GuiDataGroup.getObject(%i);
+		if(%obj.getClassName() $= "GuiControlProfile")
+		{
+			if(%obj.getName() !$= "")
+			{
+				%ctrl.add(%obj.getName(), 0);
+			}
+		}
+	}
+	%ctrl.sort();
+	%ctrl.setFieldValue("Command", "GuiEditorCtrlProperties.setData(" @ %field @ "," @ %ctrl.getId() @ ".getText());");
+	return %ctrl;
+	
+}
+
+function GuiEditorCtrlProperties::buildPoint2ICtrl(%this,%field, %fieldVal)
+{
+	%fieldEditX = %field @ "editX";
+	%fieldEditY = %field @ "editY";
+	
+	%cont = new GuiControl()
+	{
+		extent = "160 30";
+		Position = "160 0";
+		horizSizing = "right";
+		vertSizing = "bottom";
+		profile = "GuiDefaultProfile";
+		visible = "1";
+	};
+	
+	%xLabel = new GuiControl()
+	{
+		text = "x:";
+		extent = "30 30";
+		Position = "0 0";
+		horizSizing = "right";
+		vertSizing = "bottom";
+		profile = "GuiTextRightProfile";
+		visible = "1";
+	}; 
+	
+	
+	
+	%ctrlX = new GuiTextEditCtrl(%fieldEditX)
+	{
+		Text = %fieldVal.x;
+		Position = "30 0";
+		extent = "50 30";
+		horizSizing = "right";
+		vertSizing = "bottom";
+		visible = "1";
+		Profile = "GuiTextEditProfile";
+	};
+	
+	
+	
+	%yLabel = new GuiControl()
+	{
+		text = "y:";
+		extent = "30 30";
+		Position = "80 0";
+		horizSizing = "right";
+		vertSizing = "bottom";
+		profile = "GuiTextRightProfile";
+		visible = "1";
+	}; 
+	
+	
+	
+	%ctrlY = new GuiTextEditCtrl(%fieldEditY)
+	{
+		Text = %fieldVal.y;
+		Position = "110 0";
+		extent = "50 30";
+		horizSizing = "right";
+		vertSizing = "bottom";
+		visible = "1";
+		Profile = "GuiTextEditProfile";
+	};
+	
+	%ctrlX.setFieldValue("AltCommand", "GuiEditorCtrlProperties.setData(" @ %field @ "," @ %ctrlX.getId() @ ".getText() SPC " @ %ctrlY.getId() @ ".getText());");
+	%ctrlX.setFieldValue("Validate", "GuiEditorCtrlProperties.setData(" @ %field @ "," @ %ctrlX.getId() @ ".getText() SPC " @ %ctrlY.getId() @ ".getText());");
+	%ctrlY.setFieldValue("AltCommand", "GuiEditorCtrlProperties.setData(" @ %field @ "," @ %ctrlX.getId() @ ".getText() SPC " @ %ctrlY.getId() @ ".getText());");
+	%ctrlY.setFieldValue("Validate", "GuiEditorCtrlProperties.setData(" @ %field @ "," @ %ctrlX.getId() @ ".getText() SPC " @ %ctrlY.getId() @ ".getText());");
+	
+	%cont.add(%xLabel);
+	%cont.add(%ctrlX);
+	%cont.add(%yLabel);
+	%cont.add(%ctrlY);
+	
+	return %cont;
+	
+}
+
+

+ 360 - 0
toybox/GuiEditorToy/1/main.cs

@@ -0,0 +1,360 @@
+//-----------------------------------------------------------------------------
+// Copyright (c) 2013 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 GuiEditorToy::create( %this )
+{
+	exec("./assets/gui/guiEditorCtrl.gui");
+	exec("./assets/gui/guiToolbox.gui");
+	exec("./assets/gui/ColorSelectorTool.gui");
+	exec("./assets/scripts/GuiEditorCtrlProperties.cs");
+    // Set the sandbox drag mode availability.
+    Sandbox.allowManipulation( pan );
+    Sandbox.allowManipulation( pull );
+    
+    // Set the manipulation mode.
+    Sandbox.useManipulation( pull );
+	SandboxScene.clear();
+    //SandboxWindow.delete();
+	GuiEditor.blankGui = new GuiControl();
+	
+	// Init menu
+	GuiEditorToy.initMenus();
+	
+    // Reset the toy initially.
+    GuiEditorToy.reset();
+	
+}
+
+function GuiEditorToy::initMenus( %this )
+{
+   if( isObject( %this.menuGroup ) )
+      %this.menuGroup.delete();
+      
+   %this.menuGroup = new SimGroup();
+   
+   //set up %cmdctrl variable so that it matches OS standards
+   %cmdCtrl = $platform $= "macos" ? "Cmd" : "Ctrl";
+
+   %filemenu = new PopupMenu()
+   {
+      superClass = "MenuBuilder";
+      barPosition = 0;
+      barName = "File";
+      
+      item[0] = "New Gui..." TAB %cmdCtrl SPC "N" TAB "GuiEditorStartCreate();";
+      item[1] = "Open Gui..." TAB %cmdCtrl SPC "O" TAB "GuiEditorOpenGui();";
+      item[2] = "-";
+      item[3] = "Save Gui..." TAB %cmdCtrl SPC "S" TAB "GuiEditorToy.save();";
+   };
+
+   %layoutmenu = new PopupMenu()
+   {
+      superClass = "MenuBuilder";
+      barPosition = 1;
+      barName = "Layout";
+      
+      item[0] = "Align Left" TAB %cmdCtrl SPC "L" TAB "GuiEditor.Justify(0);";
+      item[1] = "Align Right" TAB %cmdCtrl SPC "R" TAB "GuiEditor.Justify(2);";
+      item[2] = "Align Top" TAB %cmdCtrl SPC "T" TAB "GuiEditor.Justify(3);";
+      item[3] = "Align Bottom" TAB %cmdCtrl SPC "B" TAB "GuiEditor.Justify(4);";
+      item[4] = "-";
+      item[5] = "Center Horizontally" TAB "" TAB "GuiEditor.Justify(1);";
+      item[6] = "Space Vertically" TAB "" TAB "GuiEditor.Justify(5);";
+      item[7] = "Space Horizontally" TAB "" TAB "GuiEditor.Justify(6);";
+      item[8] = "-";
+      item[9] = "Bring to Front" TAB "" TAB "GuiEditor.BringToFront();";
+      item[10] = "Send to Back" TAB "" TAB "GuiEditor.PushToBack();";
+      item[11] = "Lock Selection" TAB "" TAB "GuiEditorTreeView.lockSelection(true);";
+      item[12] = "Unlock Selection" TAB "" TAB "GuiEditorTreeView.lockSelection(false);";
+   };
+   
+   %movemenu = new PopupMenu()
+   {
+      superClass = "MenuBuilder";
+      barPosition = 2;
+      barName = "Move";
+      
+      item[0] = "Nudge Up" TAB "Up" TAB "GuiEditor.moveSelection(0,-1);";
+      item[1] = "Nudge Down" TAB "Down" TAB "GuiEditor.moveSelection(0,1);";
+	  item[2] = "Nudge Right" TAB "Right" TAB "GuiEditor.moveSelection(1,0);";
+	  item[3] = "Nudge Left" TAB "Left" TAB "GuiEditor.moveSelection(-1,0);";
+   };
+   
+   // add menus to a group
+   %this.menuGroup.add(%fileMenu);
+   %this.menuGroup.add(%layoutmenu);
+   %this.menuGroup.add(%movemenu);
+   
+   for( %i = 0; %i < %this.menuGroup.getCount(); %i++ )
+     %this.menuGroup.getObject( %i ).attachToMenuBar();
+   
+}
+
+//-----------------------------------------------------------------------------
+
+function GuiEditorToy::destroy( %this )
+{   
+}
+
+//-----------------------------------------------------------------------------
+
+function GuiEditorToy::reset(%this)
+{
+    // Clear the scene.
+    
+	Canvas.setContent(GuiEditorCtrl);
+	
+	GuiEditorContent.add(GuiEditor.blankGui);
+	GuiEditorCtrl.add(GuiTreeViewWindow);
+	
+	$GuiRootElement = GuiBlank;
+	%rootSize = $GuiRootElement.extent;
+	
+	GuiEditor.setRoot(GuiBlank);
+	GuiEditorTreeView.open(GuiBlank);
+	
+	GuiEditor.setFirstResponder();
+	
+	GuiEditor.setSnapToGrid("8");
+	
+    GuiEditorCtrl.add(GuiToolbox);
+    GuiEditorCtrl.add(GuiInspectorWindow);
+    
+    //GuiEditorCtrl.add(CBBWindow);
+	
+}
+
+function GuiEditorToy::save(%this)
+{
+	%guiObj = GuiEditorContent.getObject(0);
+	if(%guiObj == -1)
+	{
+		return;
+	}
+	
+	if(%guiObj.getName() !$= "")
+	{
+		%name = %guiObj.getName() @ ".gui";
+	}
+	else
+	{
+		%name = "untitled.gui";
+	}
+	
+	%fo = new FileObject();
+	%fo.openForWrite(%name);
+	%fo.writeLine("//--- Created With GUIEDITORTOY ---//");
+	%fo.writeObject(%guiObj, "%guiContent = ");
+	%fo.writeLine("//--- GUIEDITORTOY END ---//");
+	%fo.close();
+	%fo.delete();
+	
+}
+
+//-----------------------------------------------------------------------------
+
+function GuiToolbox::onWake(%this)
+{
+	%controls = enumerateConsoleClasses("GuiControl");
+	%this-->toolboxList.clearItems();
+	for(%i = 0; %i < getFieldCount(%controls); %i++)
+	{
+		%field = getField(%controls, %i);
+		%this-->toolboxList.addItem(%field);
+	}
+}
+
+//-----------------------------------------------------------------------------
+
+function GuiEditorToolboxDrag::onTouchDragged(%this)
+{
+	%position = %this.getGlobalPosition();
+	%cursorpos = Canvas.getCursorPos();
+   
+	%class = %this.getItemText(%this.getSelectedItem());
+	%payload = eval("return new " @ %class @ "();");
+	if(!isObject(%payload))
+		return;
+      
+	%xOffset = getWord(%payload.extent, 0) / 2;
+	%yOffset = getWord(%payload.extent, 1) / 2; 
+	
+	// position where the drag will start, to prevent visible jumping.
+	%xPos = getWord(%cursorpos, 0) - %xOffset;
+	%yPos = getWord(%cursorpos, 1) - %yOffset;
+	   
+	%dragCtrl = new GuiDragAndDropControl() {
+		canSaveDynamicFields = "0";
+		Profile = "GuiDefaultProfile";
+		HorizSizing = "right";
+		VertSizing = "bottom";
+		Position = %xPos SPC %yPos;
+		extent = %payload.extent;
+		MinExtent = "32 32";
+		canSave = "1";
+		Visible = "1";
+		hovertime = "1000";
+		deleteOnMouseUp = true;
+	};
+
+	%dragCtrl.add(%payload);
+	Canvas.getContent().add(%dragCtrl);
+	   
+	%dragCtrl.startDragging(%xOffset, %yOffset);
+}
+
+//-----------------------------------------------------------------------------
+
+function GuiEditor::onControlDragged(%this, %payload, %position)
+{
+	%pos = VectorSub(%position, GuiEditorContent.getGlobalPosition());
+	%x = getWord(%pos, 0);
+	%y = getWord(%pos, 1);
+	%target = GuiEditorContent.findHitControl(%x, %y);
+	
+	while(! %target.isContainer )
+	{
+		%target = %target.getParent();
+	}
+	
+	if(%target != %this.getCurrentAddset())
+	{
+		%this.setCurrentAddSet(%target);
+	}
+	GuiEditorCtrlProperties.update(%ctrl);
+}
+
+//-----------------------------------------------------------------------------
+
+function GuiEditor::onControlDropped(%this, %payload, %position)
+{  
+   %pos = %payload.getGlobalPosition();
+   %x = getWord(%pos, 0);
+   %y = getWord(%pos, 1);
+   
+   if(%x > $GuiRootElement.extent.x || %y > $GuiRootElement.extent.y)
+   {
+      messageBox("Error", "Cannot add a control outside the root gui element!");
+      return;
+   }
+   
+   %this.addNewCtrl(%payload);
+   
+   %payload.setPositionGlobal(%x, %y);
+   %this.setFirstResponder();
+}
+
+//-----------------------------------------------------------------------------
+
+function GuiEditor::onSelect(%this, %ctrl)
+{
+	GuiEditorCtrlProperties.update(%ctrl);
+	GuiEditor.clearSelection();
+	GuiEditor.select(%ctrl);
+	GuiEditorTreeView.addSelection(%ctrl);
+}
+
+function GuiEditor::onSelectionMoved(%this, %ctrl)
+{
+	GuiEditorCtrlProperties.update(%ctrl);
+}
+
+function GuiEditor::onClearSelected(%this)
+{ 
+   GuiEditorTreeView.clearSelection();
+}
+
+function GuiEditor::onSelectionParentChange(%this)
+{
+	GuiEditorTreeView.update();
+}
+
+function GuiEditor::onDelete(%this)
+{
+	GuiEditorTreeView.update();
+	GuiEditorCtrlProperties.update(0);
+}
+
+function GuiEditor::onAddSelected(%this,%ctrl)
+{
+   GuiEditorTreeView.addSelection(%ctrl);
+   GuiEditorTreeView.scrollVisibleByObjectId(%ctrl);
+}
+
+function GuiEditor::onRemoveSelected(%this,%ctrl)
+{
+   GuiEditorTreeView.removeSelection(%ctrl); 
+}
+
+//-----------------------------------------------------------------------------
+
+function GuiEditorTreeView::update(%this)
+{
+	%obj = GuiEditorContent.getObject(0);
+	
+	if(!isObject(%obj))
+	{
+		GuiEditorTreeView.clear();
+	}
+	else
+	{
+		GuiEditorTreeView.open(GuiEditorContent.getObject(0));
+	}
+}
+
+function GuiEditorTreeView::onRightMouseDown(%this, %item, %pts, %obj)
+{
+   if(%obj)
+   {
+      GuiEditor.setCurrentAddSet(%obj);
+   }
+}
+
+function GuiEditorTreeView::onAddSelection(%this, %ctrl)
+{
+	GuiEditor.setFirstResponder();
+}
+
+function GuiEditorTreeView::onRemoveSelection(%this, %ctrl)
+{
+	GuiEditor.removeSelection(%ctrl);
+}
+
+function GuiEditorTreeView::onDeleteSelection(%this)
+{ 
+   GuiEditor.clearSelection();
+}
+
+function GuiEditorTreeView::onSelect(%this, %obj)
+{
+
+   if(isObject(%obj))
+   {
+      GuiEditorCtrlProperties.update(%obj);
+      GuiEditor.select(%obj);
+   }
+}
+
+
+
+
+

+ 10 - 0
toybox/GuiEditorToy/1/module.taml

@@ -0,0 +1,10 @@
+<ModuleDefinition
+    ModuleId="GuiEditorToy"
+    VersionId="1"
+	Enabled="1"
+    Description="Gui Editor for T2D MIT."
+    Type="toy"
+    ToyCategoryIndex="2"
+    ScriptFile="main.cs"
+    CreateFunction="create"
+    DestroyFunction="destroy"/>

+ 142 - 7
toybox/Sandbox/1/gui/guiProfiles.cs

@@ -78,13 +78,65 @@ new GuiCursor(DefaultCursor)
     bitmapName = "^Sandbox/gui/images/defaultCursor";
     bitmapName = "^Sandbox/gui/images/defaultCursor";
 };
 };
 
 
+new GuiCursor(LeftRightCursor)
+{
+   hotSpot = "0.5 0";
+   renderOffset = "0.5 0";
+   bitmapName = "./Images/leftRight";
+};
+
+new GuiCursor(UpDownCursor)
+{
+   hotSpot = "1 1";
+   renderOffset = "0 1";
+   bitmapName = "./Images/upDown";
+};
+
+new GuiCursor(NWSECursor)
+{
+   hotSpot = "1 1";
+   renderOffset = "0.5 0.5";
+   bitmapName = "./Images/NWSE";
+};
+
+new GuiCursor(NESWCursor)
+{
+   hotSpot = "1 1";
+   renderOffset = "0.5 0.5";
+   bitmapName = "./Images/NESW";
+};
+
+new GuiCursor(MoveCursor)
+{
+   hotSpot = "1 1";
+   renderOffset = "0.5 0.5";
+   bitmapName = "./Images/move";
+};
+
 if (!isObject(GuiDefaultBorderProfile)) new GuiBorderProfile (GuiDefaultBorderProfile)
 if (!isObject(GuiDefaultBorderProfile)) new GuiBorderProfile (GuiDefaultBorderProfile)
 {
 {
+	// Default margin
+	margin = 0;
+	marginHL = 0;
+	marginSL = 0;
+	marginNA = 0;
+	//Default Border
 	border = 0;
 	border = 0;
-    borderColor   = $color1;
-    borderColorHL = AdjustColorValue($color1, 10);
-    borderColorSL = AdjustColorValue($color1, 10);
-    borderColorNA = SetColorAlpha($color1, 100);
+	borderHL = 0;
+	borderSL = 0;
+	borderNA = 0;
+	//Default border color
+	borderColor   = "100 100 100 255";
+	borderColorHL = "128 128 128";
+	borderColorSL = "255 255 255 50";
+	borderColorNA = "64 64 64";
+	//Default Padding
+	padding = 0;
+	paddingHL = 0;
+	paddingSL = 0;
+	paddingNA = 0;
+	//Default underfill
+	underfill = true;
 };
 };
 
 
 if (!isObject(GuiBrightBorderProfile)) new GuiBorderProfile (GuiBrightBorderProfile : GuiDefaultBorderProfile)
 if (!isObject(GuiBrightBorderProfile)) new GuiBorderProfile (GuiBrightBorderProfile : GuiDefaultBorderProfile)
@@ -125,15 +177,72 @@ if(!isObject(GuiDefaultProfile)) new GuiControlProfile (GuiDefaultProfile)
 	cursorColor = "0 0 0 255";
 	cursorColor = "0 0 0 255";
 
 
 	borderDefault = GuiDefaultBorderProfile;
 	borderDefault = GuiDefaultBorderProfile;
+	borderTop = GuiDefaultBorderProfile;
+	borderLeft = GuiDefaultBorderProfile;
+	borderRight = GuiDefaultBorderProfile;
+	borderBottom = GuiDefaultBorderProfile;
+};
+
+if(!isObject(GuiPanelProfile)) new GuiControlProfile (GuiPanelProfile : GuiDefaultProfile)
+{
+	fillColor = $color1;
+    fillColorHL = AdjustColorValue($color1, 10);
+    fillColorSL = AdjustColorValue($color1, 15);
+    fillColorNA = SetColorAlpha($color1, 100);
+	borderDefault = GuiDarkBorderProfile;
+	borderTop = GuiBrightBorderProfile;
+	borderBottom = GuiBrightBorderProfile;
+	borderLeft = GuiBrightBorderProfile;
+	borderRight = GuiBrightBorderProfile;
+};
+
+if(!isObject(GuiListBoxProfile)) new GuiControlProfile (GuiListBoxProfile : GuiDefaultProfile)
+{
+    // fill color
+    fillColor = $color1;
+    fillColorHL = AdjustColorValue($color1, 10);
+    fillColorSL = AdjustColorValue($color1, 15);
+    fillColorNA = SetColorAlpha($color1, 100);
+	align = left;
+	tab = true;
+	canKeyFocus = true;
+};
+
+if(!isObject(GuiWindowProfile)) new GuiControlProfile (GuiWindowProfile : GuiDefaultProfile)
+{
+   opaque = true;
+   modal = true;
+   justify = "center";
+   textOffset = "10 4";
+   bitmap = "./images/window";
+   fillColor = "37 36 35 255";
+   fontColor = "white";
 };
 };
 
 
 if(!isObject(GuiTransparentProfile)) new GuiControlProfile (GuiTransparentProfile : GuiDefaultProfile);
 if(!isObject(GuiTransparentProfile)) new GuiControlProfile (GuiTransparentProfile : GuiDefaultProfile);
+if(!isObject(GuiGridProfile)) new GuiControlProfile (GuiGridProfile : GuiDefaultProfile);
+if(!isObject(GuiChainProfile)) new GuiControlProfile (GuiChainProfile : GuiDefaultProfile);
 
 
 if(!isObject(GuiSpriteProfile)) new GuiControlProfile (GuiSpriteProfile : GuiDefaultProfile)
 if(!isObject(GuiSpriteProfile)) new GuiControlProfile (GuiSpriteProfile : GuiDefaultProfile)
 {
 {
 	FillColor = "255 255 255 255";
 	FillColor = "255 255 255 255";
 };
 };
 
 
+// ----------------------------------------------------------------------------
+if (!isObject(GuiTreeViewProfile)) new GuiControlProfile (GuiTreeViewProfile : GuiDefaultProfile)
+{
+	fontColor = "255 255 255 255";
+    fontColorHL = "232 240 248 255";
+    fontColorSL= "255 255 255 255";
+    fontColorNA = "0 0 0 255";
+	fillColor = $color1;
+	fillColorHL = AdjustColorValue($color1, 10);
+	fillColorSL = AdjustColorValue($color1, 15);
+	fillColorNA = SetColorAlpha($color1, 100);
+	bitmap = "./images/treeView";
+	canKeyFocus = true;
+	autoSizeHeight = true;
+};
 // ----------------------------------------------------------------------------
 // ----------------------------------------------------------------------------
 
 
 if (!isObject(GuiSolidBorderProfile)) new GuiBorderProfile (GuiSolidBorderProfile : GuiDefaultBorderProfile)
 if (!isObject(GuiSolidBorderProfile)) new GuiBorderProfile (GuiSolidBorderProfile : GuiDefaultBorderProfile)
@@ -187,12 +296,19 @@ if (!isObject(GuiPopUpMenuDefault)) new GuiControlProfile (GuiPopUpMenuDefault :
 
 
 if (!isObject(GuiPopUpMenuProfile)) new GuiControlProfile (GuiPopUpMenuProfile : GuiPopUpMenuDefault)
 if (!isObject(GuiPopUpMenuProfile)) new GuiControlProfile (GuiPopUpMenuProfile : GuiPopUpMenuDefault)
 {
 {
-    textOffset = "6 3";
     align = "center";
     align = "center";
-    bitmap = "^Sandbox/gui/images/dropDown";
+    bitmap = "^Sandbox/gui/images/dropDown1";
     profileForChildren = GuiPopUpMenuDefault;
     profileForChildren = GuiPopUpMenuDefault;
 };
 };
 
 
+if (!isObject(GuiPopUpMenuProfile2)) new GuiControlProfile (GuiPopUpMenuProfile2 : GuiPopUpMenuProfile)
+{
+	fontColor = $color3;
+    bitmap = "^Sandbox/gui/images/dropDown2";
+    profileForChildren = GuiPopUpMenuDefault;
+};
+
+
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
 
 
 if (!isObject(GuiTextProfile)) new GuiControlProfile (GuiTextProfile : GuiDefaultProfile)
 if (!isObject(GuiTextProfile)) new GuiControlProfile (GuiTextProfile : GuiDefaultProfile)
@@ -207,6 +323,18 @@ if (!isObject(GuiTextProfile)) new GuiControlProfile (GuiTextProfile : GuiDefaul
     cursorColor = "0 0 0 255";
     cursorColor = "0 0 0 255";
 };
 };
 
 
+if(!isObject(GuiTextArrayProfile)) new GuiControlProfile (GuiTextArrayProfile : GuiTextProfile)
+{
+   fontColorHL = $color3;
+   fillColorHL = AdjustColorValue($color1, 10);
+};
+
+if (!isObject(GuiTextRightProfile)) new GuiControlProfile (GuiTextRightProfile : GuiTextProfile)
+{
+
+    align = "right";
+};
+
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
 
 
 if (!isObject(GuiCheckBoxProfile)) new GuiControlProfile (GuiCheckBoxProfile : GuiDefaultProfile)
 if (!isObject(GuiCheckBoxProfile)) new GuiControlProfile (GuiCheckBoxProfile : GuiDefaultProfile)
@@ -237,7 +365,7 @@ if (!isObject(GuiTextEditProfile)) new GuiControlProfile (GuiTextEditProfile : G
     fillColor = "232 240 248 255";
     fillColor = "232 240 248 255";
     fillColorHL = "251 170 0 255";
     fillColorHL = "251 170 0 255";
     fillColorNA = "127 127 127 52";
     fillColorNA = "127 127 127 52";
-    bitmap = "^Sandbox/gui/images/textEdit.png";
+    bitmap = "^Sandbox/gui/images/smallButtonContainer.png";
     fontColor = "27 59 95 255";
     fontColor = "27 59 95 255";
     fontColorHL = "232 240 248 255";
     fontColorHL = "232 240 248 255";
     fontColorNA = "0 0 0 52";
     fontColorNA = "0 0 0 52";
@@ -354,6 +482,13 @@ if (!isObject(GuiButtonProfile)) new GuiControlProfile (GuiButtonProfile : GuiDe
     bitmap = "^Sandbox/gui/images/smallButtonContainer";
     bitmap = "^Sandbox/gui/images/smallButtonContainer";
 };
 };
 
 
+if (!isObject(GuiButtonDynProfile)) new GuiControlProfile (GuiButtonDynProfile : GuiButtonProfile)
+{
+    fontColor = "0 0 0 255";
+    fontColorHL = $color5;
+    bitmap = "^Sandbox/gui/images/smallButtonContainer";
+};
+
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
 
 
 if (!isObject(GuiNorthButtonProfile)) new GuiControlProfile (GuiNorthButtonProfile : GuiDefaultProfile)
 if (!isObject(GuiNorthButtonProfile)) new GuiControlProfile (GuiNorthButtonProfile : GuiDefaultProfile)

BIN
toybox/Sandbox/1/gui/images/NESW.png


BIN
toybox/Sandbox/1/gui/images/NWSE.png


BIN
toybox/Sandbox/1/gui/images/default.png


BIN
toybox/Sandbox/1/gui/images/dropDown1.png


BIN
toybox/Sandbox/1/gui/images/dropDown2.png


BIN
toybox/Sandbox/1/gui/images/leftRight.png


BIN
toybox/Sandbox/1/gui/images/move.png


BIN
toybox/Sandbox/1/gui/images/radioButton.png


BIN
toybox/Sandbox/1/gui/images/radioButton2.png


BIN
toybox/Sandbox/1/gui/images/simGroupSelected.png


BIN
toybox/Sandbox/1/gui/images/simGroupSelectedClosed.png


BIN
toybox/Sandbox/1/gui/images/simgroup.png


BIN
toybox/Sandbox/1/gui/images/simgroupClosed.png


BIN
toybox/Sandbox/1/gui/images/treeView.png


BIN
toybox/Sandbox/1/gui/images/upDown.png


BIN
toybox/Sandbox/1/gui/images/window.png


+ 25 - 16
toybox/Sandbox/1/scripts/scene.cs

@@ -28,11 +28,11 @@ function createSandboxWindow()
         // Create the scene window.
         // Create the scene window.
         new SceneWindow(SandboxWindow);
         new SceneWindow(SandboxWindow);
 
 
-        // Set profile.        
+        // Set profile.
         SandboxWindow.Profile = SandboxWindowProfile;
         SandboxWindow.Profile = SandboxWindowProfile;
-        
+
         // Push the window.
         // Push the window.
-        Canvas.setContent( SandboxWindow );                     
+        Canvas.setContent( SandboxWindow );
     }
     }
 
 
     // Set camera to a canonical state.
     // Set camera to a canonical state.
@@ -58,7 +58,7 @@ function destroySandboxWindow()
     // Finish if no window available.
     // Finish if no window available.
     if ( !isObject(SandboxWindow) )
     if ( !isObject(SandboxWindow) )
         return;
         return;
-    
+
     // Delete the window.
     // Delete the window.
     SandboxWindow.delete();
     SandboxWindow.delete();
 }
 }
@@ -70,19 +70,19 @@ function createSandboxScene()
     // Destroy the scene if it already exists.
     // Destroy the scene if it already exists.
     if ( isObject(SandboxScene) )
     if ( isObject(SandboxScene) )
         destroySandboxScene();
         destroySandboxScene();
-    
+
     // Create the scene.
     // Create the scene.
     new Scene(SandboxScene);
     new Scene(SandboxScene);
-            
+
     // Sanity!
     // Sanity!
     if ( !isObject(SandboxWindow) )
     if ( !isObject(SandboxWindow) )
     {
     {
         error( "Sandbox: Created scene but no window available." );
         error( "Sandbox: Created scene but no window available." );
         return;
         return;
     }
     }
-        
+
     // Set window to scene.
     // Set window to scene.
-    setSceneToWindow();    
+    setSceneToWindow();
 }
 }
 
 
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
@@ -107,7 +107,7 @@ function setSceneToWindow()
         error( "Cannot set Sandbox Scene to Window as the Scene is invalid." );
         error( "Cannot set Sandbox Scene to Window as the Scene is invalid." );
         return;
         return;
     }
     }
-    
+
      // Set scene to window.
      // Set scene to window.
     SandboxWindow.setScene( SandboxScene );
     SandboxWindow.setScene( SandboxScene );
 
 
@@ -125,12 +125,12 @@ function setSceneToWindow()
     SandboxWindow.setCameraSize( 100, 75 );
     SandboxWindow.setCameraSize( 100, 75 );
     SandboxWindow.setCameraZoom( 1 );
     SandboxWindow.setCameraZoom( 1 );
     SandboxWindow.setCameraAngle( 0 );
     SandboxWindow.setCameraAngle( 0 );
-    
+
     // Update the toolbox options.
     // Update the toolbox options.
     updateToolboxOptions();
     updateToolboxOptions();
-    
+
     // reset the sandbox manipulation modes.
     // reset the sandbox manipulation modes.
-    Sandbox.resetManipulationModes();       
+    Sandbox.resetManipulationModes();
 }
 }
 
 
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
@@ -143,13 +143,22 @@ function setCustomScene( %scene )
         error( "Cannot set Sandbox to use an invalid Scene." );
         error( "Cannot set Sandbox to use an invalid Scene." );
         return;
         return;
     }
     }
-   
-    // Destroy the existing scene.  
+
+    // Destroy the existing scene.
     destroySandboxScene();
     destroySandboxScene();
 
 
     // The Sandbox needs the scene to be named this.
     // The Sandbox needs the scene to be named this.
-    %scene.setName( "SandboxScene" );    
-    
+    %scene.setName( "SandboxScene" );
+
     // Set the scene to the window.
     // Set the scene to the window.
     setSceneToWindow();
     setSceneToWindow();
 }
 }
+
+function SceneWindow::onExtentChange(%this)
+{
+    %extent = Canvas.extent;
+    %aspect = %extent.x / %extent.y;
+    %cam = SandboxWindow.getCameraSize();
+    %cam.x = %cam.y * %aspect;
+    %this.setCameraSize(%cam);
+}