diff --git a/ModularizedTacticalAI/ModularizedTacticalAI.vcproj b/ModularizedTacticalAI/ModularizedTacticalAI.vcproj
deleted file mode 100644
index efef7fe1..00000000
--- a/ModularizedTacticalAI/ModularizedTacticalAI.vcproj
+++ /dev/null
@@ -1,221 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ModularizedTacticalAI/ModularizedTacticalAI_VS2005.vcproj b/ModularizedTacticalAI/ModularizedTacticalAI_VS2005.vcproj
new file mode 100644
index 00000000..683b42ac
--- /dev/null
+++ b/ModularizedTacticalAI/ModularizedTacticalAI_VS2005.vcproj
@@ -0,0 +1,405 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ModularizedTacticalAI/ModularizedTacticalAI_VS2008.vcproj b/ModularizedTacticalAI/ModularizedTacticalAI_VS2008.vcproj
new file mode 100644
index 00000000..85769efd
--- /dev/null
+++ b/ModularizedTacticalAI/ModularizedTacticalAI_VS2008.vcproj
@@ -0,0 +1,407 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ja2.props b/ja2.props
index 8e19258b..5b5bcae6 100644
--- a/ja2.props
+++ b/ja2.props
@@ -24,7 +24,7 @@
- ..\.;.\.;.\ext\VFS\include;..\ext\VFS\include;..\Utils;.\Utils;..\TileEngine;.\TileEngine;..\TacticalAI;.\TacticalAI;..\Tactical;.\Tactical;..\Strategic;.\Strategic;..\Standard Gaming Platform;.\Standard Gaming Platform;..\Res;.\Res;..\lua;.\lua;..\Laptop;.\Laptop;..\Multiplayer;.\Multiplayer;..\Multiplayer\raknet;.\Multiplayer\raknet;..\Editor;.\Editor;..\Console;.\Console;.\ext\libpng;..\ext\libpng;.\ext\zlib;..\ext\zlib;;$(NOINHERIT)
+ ..\.;.\.;.\ext\VFS\include;..\ext\VFS\include;..\Utils;.\Utils;..\TileEngine;.\TileEngine;..\TacticalAI;.\TacticalAI;..\ModularizedTacticalAI;.\ModularizedTacticalAI;..\Tactical;.\Tactical;..\Strategic;.\Strategic;..\Standard Gaming Platform;.\Standard Gaming Platform;..\Res;.\Res;..\lua;.\lua;..\Laptop;.\Laptop;..\Multiplayer;.\Multiplayer;..\Multiplayer\raknet;.\Multiplayer\raknet;..\Editor;.\Editor;..\Console;.\Console;.\ext\libpng;..\ext\libpng;.\ext\zlib;..\ext\zlib;;$(NOINHERIT)
JA2;CINTERFACE;XML_STATIC;VFS_STATIC;VFS_WITH_SLF;VFS_WITH_7ZIP;USE_VFS;_CRT_SECURE_NO_DEPRECATE;$(JA2Language);%(PreprocessorDefinitions)
diff --git a/ja2.vsprops b/ja2.vsprops
index a9c0e584..4a7c02ca 100644
--- a/ja2.vsprops
+++ b/ja2.vsprops
@@ -6,7 +6,7 @@
>
diff --git a/ja2_LinkerVS2005.vsprops b/ja2_LinkerVS2005.vsprops
index e538a723..119111ee 100644
--- a/ja2_LinkerVS2005.vsprops
+++ b/ja2_LinkerVS2005.vsprops
@@ -7,6 +7,6 @@
diff --git a/ja2_LinkerVS2008.vsprops b/ja2_LinkerVS2008.vsprops
index 6ca9f6f9..f862c7d6 100644
--- a/ja2_LinkerVS2008.vsprops
+++ b/ja2_LinkerVS2008.vsprops
@@ -7,6 +7,6 @@
diff --git a/ja2_LinkerVS2010.props b/ja2_LinkerVS2010.props
index e8d46e9b..5bd2c604 100644
--- a/ja2_LinkerVS2010.props
+++ b/ja2_LinkerVS2010.props
@@ -8,7 +8,7 @@
$(SolutionDir)\lib\VS2010\$(JA2Config)_$(JA2LangPrefix)\$(Configuration);$(SolutionDir)\lib\VS2010\$(Configuration);%(AdditionalLibraryDirectories)
- Console.lib;Editor.lib;Laptop.lib;lua.lib;SGP.lib;Strategic.lib;Tactical.lib;TacticalAI.lib;TileEngine.lib;Utils.lib;VFS.lib;7z.lib;libpng.lib;zlib.lib;%(AdditionalDependencies)
+ Console.lib;Editor.lib;Laptop.lib;lua.lib;SGP.lib;Strategic.lib;Tactical.lib;TacticalAI.lib;ModularizedTacticalAI.lib;TileEngine.lib;Utils.lib;VFS.lib;7z.lib;libpng.lib;zlib.lib;%(AdditionalDependencies)
diff --git a/ja2_VS2005.sln b/ja2_VS2005.sln
index 6661f33f..4f86e969 100644
--- a/ja2_VS2005.sln
+++ b/ja2_VS2005.sln
@@ -113,6 +113,12 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "7z", "ext\VFS\build\7z_VS20
Release.AspNetCompiler.Debug = "False"
EndProjectSection
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ModularizedTacticalAI", "ModularizedTacticalAI\ModularizedTacticalAI_VS2005.vcproj", "{FF0A809E-A370-4640-A301-17B76D7A5B4E}"
+ ProjectSection(WebsiteProperties) = preProject
+ Debug.AspNetCompiler.Debug = "True"
+ Release.AspNetCompiler.Debug = "False"
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -277,6 +283,16 @@ Global
{9AD14886-DB5C-4EFF-AE17-35F9BD684692}.Release_WithDebugInfo|Win32.Build.0 = Release_WithDebugInfo|Win32
{9AD14886-DB5C-4EFF-AE17-35F9BD684692}.Release|Win32.ActiveCfg = Release|Win32
{9AD14886-DB5C-4EFF-AE17-35F9BD684692}.Release|Win32.Build.0 = Release|Win32
+ {FF0A809E-A370-4640-A301-17B76D7A5B4E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {FF0A809E-A370-4640-A301-17B76D7A5B4E}.Debug|Win32.Build.0 = Debug|Win32
+ {FF0A809E-A370-4640-A301-17B76D7A5B4E}.MapEditor|Win32.ActiveCfg = Release|Win32
+ {FF0A809E-A370-4640-A301-17B76D7A5B4E}.MapEditor|Win32.Build.0 = Release|Win32
+ {FF0A809E-A370-4640-A301-17B76D7A5B4E}.MapEditorD|Win32.ActiveCfg = Release|Win32
+ {FF0A809E-A370-4640-A301-17B76D7A5B4E}.MapEditorD|Win32.Build.0 = Release|Win32
+ {FF0A809E-A370-4640-A301-17B76D7A5B4E}.Release_WithDebugInfo|Win32.ActiveCfg = Release|Win32
+ {FF0A809E-A370-4640-A301-17B76D7A5B4E}.Release_WithDebugInfo|Win32.Build.0 = Release|Win32
+ {FF0A809E-A370-4640-A301-17B76D7A5B4E}.Release|Win32.ActiveCfg = Release|Win32
+ {FF0A809E-A370-4640-A301-17B76D7A5B4E}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/ja2_VS2005Linker.vsprops b/ja2_VS2005Linker.vsprops
index e538a723..119111ee 100644
--- a/ja2_VS2005Linker.vsprops
+++ b/ja2_VS2005Linker.vsprops
@@ -7,6 +7,6 @@
diff --git a/ja2_VS2008.sln b/ja2_VS2008.sln
index a7602769..34fbd65f 100644
--- a/ja2_VS2008.sln
+++ b/ja2_VS2008.sln
@@ -1,6 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual C++ Express 2008
+# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ja2", "ja2_VS2008.vcproj", "{B112F6BA-AF32-489C-B405-916C0F182D10}"
ProjectSection(ProjectDependencies) = postProject
{0BE7070B-C8C5-409A-82DD-0701D54A1C6C} = {0BE7070B-C8C5-409A-82DD-0701D54A1C6C}
@@ -50,7 +50,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ja2export", "ext\export\ja2
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "7z", "ext\VFS\build\7z_VS2008.vcproj", "{9AD14886-DB5C-4EFF-AE17-35F9BD684692}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ModularizedTacticalAI", "ModularizedTacticalAI\ModularizedTacticalAI.vcproj", "{FF0A809E-A370-4640-A301-17B76D7A5B4E}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ModularizedTacticalAI", "ModularizedTacticalAI\ModularizedTacticalAI_VS2008.vcproj", "{FF0A809E-A370-4640-A301-17B76D7A5B4E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/ja2_VS2008.vsprops b/ja2_VS2008.vsprops
index 7ee35b0a..f7ae52de 100644
--- a/ja2_VS2008.vsprops
+++ b/ja2_VS2008.vsprops
@@ -6,7 +6,7 @@
>
diff --git a/ja2_VS2008Linker.vsprops b/ja2_VS2008Linker.vsprops
index 6ca9f6f9..f862c7d6 100644
--- a/ja2_VS2008Linker.vsprops
+++ b/ja2_VS2008Linker.vsprops
@@ -7,6 +7,6 @@