Browse Source

Changes around FuzzyLite library based on patch by q4a.
http://forum.vcmi.eu/viewtopic.php?p=6592#6592

Michał W. Urbańczyk 13 years ago
parent
commit
0ef1085555
7 changed files with 260 additions and 70 deletions
  1. 192 0
      AI/FuzzyLite/FuzzyLite.vcxproj
  2. 23 0
      AI/FuzzyLite/defs.h
  3. 27 11
      AI/FuzzyLite/test.cpp
  4. 0 29
      AI/VCAI/Fuzzy.cpp
  5. 0 22
      AI/VCAI/Fuzzy.h
  6. 10 8
      AI/VCAI/VCAI.vcxproj
  7. 8 0
      VCMI_VS10.sln

+ 192 - 0
AI/FuzzyLite/FuzzyLite.vcxproj

@@ -0,0 +1,192 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="RD|Win32">
+      <Configuration>RD</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="RD|x64">
+      <Configuration>RD</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="AreaCentroidAlgorithm.cpp" />
+    <ClCompile Include="CompoundTerm.cpp" />
+    <ClCompile Include="DescriptiveAntecedent.cpp" />
+    <ClCompile Include="DiscreteTerm.cpp" />
+    <ClCompile Include="FunctionTerm.cpp" />
+    <ClCompile Include="FuzzyAnd.cpp" />
+    <ClCompile Include="FuzzyAntecedent.cpp" />
+    <ClCompile Include="FuzzyConsequent.cpp" />
+    <ClCompile Include="FuzzyDefuzzifier.cpp" />
+    <ClCompile Include="FuzzyEngine.cpp" />
+    <ClCompile Include="FuzzyException.cpp" />
+    <ClCompile Include="FuzzyExceptions.cpp" />
+    <ClCompile Include="FuzzyModulation.cpp" />
+    <ClCompile Include="FuzzyOperation.cpp" />
+    <ClCompile Include="FuzzyOperator.cpp" />
+    <ClCompile Include="FuzzyOr.cpp" />
+    <ClCompile Include="FuzzyRule.cpp" />
+    <ClCompile Include="Hedge.cpp" />
+    <ClCompile Include="HedgeSet.cpp" />
+    <ClCompile Include="InfixToPostfix.cpp" />
+    <ClCompile Include="InputLVar.cpp" />
+    <ClCompile Include="LinguisticTerm.cpp" />
+    <ClCompile Include="LinguisticVariable.cpp" />
+    <ClCompile Include="main.cpp" />
+    <ClCompile Include="MamdaniConsequent.cpp" />
+    <ClCompile Include="MamdaniRule.cpp" />
+    <ClCompile Include="OutputLVar.cpp" />
+    <ClCompile Include="RectangularTerm.cpp" />
+    <ClCompile Include="RuleBlock.cpp" />
+    <ClCompile Include="ShoulderTerm.cpp" />
+    <ClCompile Include="SingletonTerm.cpp" />
+    <ClCompile Include="StrOp.cpp" />
+    <ClCompile Include="TakagiSugenoConsequent.cpp" />
+    <ClCompile Include="TakagiSugenoRule.cpp" />
+    <ClCompile Include="TakagiSugenoTerm.cpp" />
+    <ClCompile Include="test.cpp" />
+    <ClCompile Include="TrapezoidalTerm.cpp" />
+    <ClCompile Include="TriangularTerm.cpp" />
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{D15B34EC-A32C-4968-9B0B-66998B579364}</ProjectGuid>
+    <RootNamespace>FuzzyLite</RootNamespace>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='RD|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='RD|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\VCMI_global.props" />
+  </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="..\..\VCMI_global.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='RD|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\VCMI_global.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='RD|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\VCMI_global.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <OutDir>$(SolutionDir)\AI\</OutDir>
+    <IncludePath>$(IncludePath)</IncludePath>
+    <LibraryPath>$(LibraryPath)</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <OutDir>$(SolutionDir)\AI\</OutDir>
+    <IncludePath>$(IncludePath)</IncludePath>
+    <LibraryPath>$(LibraryPath)</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='RD|Win32'">
+    <OutDir>$(SolutionDir)$(Configuration)\bin\AI\</OutDir>
+    <IncludePath>$(IncludePath)</IncludePath>
+    <LibraryPath>$(LibraryPath)</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='RD|x64'">
+    <OutDir>$(SolutionDir)$(Configuration)\bin\AI\</OutDir>
+    <IncludePath>$(IncludePath)</IncludePath>
+    <LibraryPath>$(LibraryPath)</LibraryPath>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>$(OutDir)..;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <OutputFile>$(OutDir)FuzzyLite.dll</OutputFile>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>$(OutDir)..;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <OutputFile>$(OutDir)FuzzyLite.dll</OutputFile>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='RD|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>$(OutDir)..;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <OutputFile>$(OutDir)FuzzyLite.dll</OutputFile>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='RD|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>$(OutDir)..;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <OutputFile>$(OutDir)FuzzyLite.dll</OutputFile>
+    </Link>
+  </ItemDefinitionGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>

+ 23 - 0
AI/FuzzyLite/defs.h

@@ -22,6 +22,29 @@
 #ifndef FL_DEFS_H
 #define	FL_DEFS_H
 
+#ifndef NAN
+    static const unsigned long __nan[2] = {0xffffffff, 0x7fffffff};
+    #define NAN (*(const float *) __nan)
+#endif
+
+#ifdef _MSC_VER
+    #ifndef INFINITY
+    union MSVC_FL
+    {
+       unsigned __int8 Bytes[4];
+       float Value;
+    };
+    static union MSVC_FL INFINITY_HACK = {{0x00, 0x00, 0x80, 0x7F}};
+    #define INFINITY (INFINITY_HACK.Value)
+    #endif
+    #define isnan(x) ((x) != (x))
+    template <typename T> bool isinf (T val)
+    {
+        return val == INFINITY || val == -INFINITY;
+    }
+    //#include <windows.h> //nees for S
+#endif
+
 #include <iostream>
 #include <sstream>
 #include <assert.h>

+ 27 - 11
AI/FuzzyLite/test.cpp

@@ -232,24 +232,36 @@ namespace fl {
     }
 
     void Test::main(int args, char** argv) {
-    	FL_LOG("Starting in 2 second");
-    	FL_LOG("Example: Simple Mamdani");
-    	FL_LOG("=======================");
-    	sleep(2);
-    	SimpleMamdani();
-    	FL_LOG("=======================\n");
-
-    	FL_LOG("Starting in 2 second");
-    	FL_LOG("Example: Complex Mamdani");
-    	FL_LOG("========================");
-    	sleep(2);
+        FL_LOG("Starting in 2 second");
+        FL_LOG("Example: Simple Mamdani");
+        FL_LOG("=======================");
+#ifdef _MSC_VER
+        //Sleep(2);
+#else
+        sleep(2);
+#endif
+        SimpleMamdani();
+        FL_LOG("=======================\n");
+
+        FL_LOG("Starting in 2 second");
+        FL_LOG("Example: Complex Mamdani");
+        FL_LOG("========================");
+#ifdef _MSC_VER
+        //Sleep(2);
+#else
+        sleep(2);
+#endif
         ComplexMamdani();
         FL_LOG("=======================\n");
 
         FL_LOG("Starting in 2 second");
         FL_LOG("Example: Simple Pendulum");
         FL_LOG("========================");
+#ifdef _MSC_VER
+        //Sleep(2);
+#else
         sleep(2);
+#endif
 
         SimplePendulum();
         FL_LOG("=======================\n");
@@ -257,7 +269,11 @@ namespace fl {
         FL_LOG("Starting in 2 second");
         FL_LOG("Example: Simple Takagi-Sugeno");
         FL_LOG("========================");
+#ifdef _MSC_VER
+        //Sleep(2);
+#else
         sleep(2);
+#endif
 
         SimpleTakagiSugeno();
         FL_LOG("=======================\n");

+ 0 - 29
AI/VCAI/Fuzzy.cpp

@@ -1,35 +1,6 @@
 #include "StdInc.h"
 #include "Fuzzy.h"
 #include "../../lib/CObjectHandler.h"
-#include "../FuzzyLite/AreaCentroidAlgorithm.cpp"
-#include "../FuzzyLite/CompoundTerm.cpp"
-#include "../FuzzyLite/DescriptiveAntecedent.cpp"
-#include "../FuzzyLite/FuzzyEngine.cpp"
-#include "../FuzzyLite/FuzzyAnd.cpp"
-#include "../FuzzyLite/FuzzyOr.cpp"
-#include "../FuzzyLite/InputLVar.cpp"
-#include "../FuzzyLite/OutputLVar.cpp"
-#include "../FuzzyLite/FuzzyAntecedent.cpp"
-#include "../FuzzyLite/FuzzyConsequent.cpp"
-#include "../FuzzyLite/FuzzyDefuzzifier.cpp"
-#include "../FuzzyLite/FuzzyModulation.cpp"
-#include "../FuzzyLite/FuzzyOperator.cpp"
-#include "../FuzzyLite/FuzzyOperation.cpp"
-#include "../FuzzyLite/FuzzyException.cpp"
-#include "../FuzzyLite/FuzzyExceptions.cpp"
-#include "../FuzzyLite/FuzzyRule.cpp"
-#include "../FuzzyLite/HedgeSet.cpp"
-#include "../FuzzyLite/Hedge.cpp"
-#include "../FuzzyLite/SingletonTerm.cpp"
-#include "../FuzzyLite/TrapezoidalTerm.cpp"
-#include "../FuzzyLite/TriangularTerm.cpp"
-#include "../FuzzyLite/LinguisticTerm.cpp"
-#include "../FuzzyLite/LinguisticVariable.cpp"
-#include "../FuzzyLite/RuleBlock.cpp"
-#include "../FuzzyLite/ShoulderTerm.cpp"
-#include "../FuzzyLite/StrOp.cpp"
-#include "../FuzzyLite/MamdaniRule.cpp"
-#include "../FuzzyLite/MamdaniConsequent.cpp"
 
 /*
  * Fuzzy.cpp, part of VCMI engine

+ 0 - 22
AI/VCAI/Fuzzy.h

@@ -1,20 +1,3 @@
-#ifndef NAN
-    static const unsigned long __nan[2] = {0xffffffff, 0x7fffffff};
-    #define NAN (*(const float *) __nan)
-#endif
-
-#ifdef _MSC_VER
-	#ifndef INFINITY
-	union MSVC_FL
-	{
-	   unsigned __int8 Bytes[4];
-	   float Value;
-	};
-	static union MSVC_FL INFINITY_HACK = {{0x00, 0x00, 0x80, 0x7F}};
-	#define INFINITY (INFINITY_HACK.Value)
-	#endif
-#endif
-
 #include "../FuzzyLite/FuzzyLite.h"
 
 /*
@@ -30,11 +13,6 @@
 class VCAI;
 class CArmedInstance;
 
-template <typename T> bool isinf (T val)
-{
-	return val == INFINITY || val == -INFINITY;
-}
-
 class FuzzyHelper
 {
 	friend class VCAI;

+ 10 - 8
AI/VCAI/VCAI.vcxproj

@@ -97,8 +97,8 @@
     </ClCompile>
     <Link>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>VCMI_lib.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>$(OutDir)..;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>VCMI_lib.lib;FuzzyLite.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>$(OutDir)..;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <OutputFile>$(OutDir)VCAI.dll</OutputFile>
     </Link>
   </ItemDefinitionGroup>
@@ -114,8 +114,8 @@
     </ClCompile>
     <Link>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>VCMI_lib.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>$(OutDir)..;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>VCMI_lib.lib;FuzzyLite.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>$(OutDir)..;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <OutputFile>$(OutDir)VCAI.dll</OutputFile>
     </Link>
   </ItemDefinitionGroup>
@@ -135,8 +135,8 @@
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
-      <AdditionalDependencies>VCMI_lib.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>$(OutDir)..;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>VCMI_lib.lib;FuzzyLite.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>$(OutDir)..;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <OutputFile>$(OutDir)VCAI.dll</OutputFile>
     </Link>
   </ItemDefinitionGroup>
@@ -156,12 +156,13 @@
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
-      <AdditionalDependencies>VCMI_lib.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>$(OutDir)..;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>VCMI_lib.lib;FuzzyLite.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>$(OutDir)..;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <OutputFile>$(OutDir)StupidAI.dll</OutputFile>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
+    <ClCompile Include="Fuzzy.cpp" />
     <ClCompile Include="main.cpp" />
     <ClCompile Include="StdInc.cpp">
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
@@ -172,6 +173,7 @@
     <ClCompile Include="VCAI.cpp" />
   </ItemGroup>
   <ItemGroup>
+    <ClInclude Include="Fuzzy.h" />
     <ClInclude Include="StdInc.h" />
     <ClInclude Include="VCAI.h" />
   </ItemGroup>

+ 8 - 0
VCMI_VS10.sln

@@ -19,6 +19,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ERM", "Scripting\ERM\ERM.vc
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VCAI", "AI\VCAI\VCAI.vcxproj", "{276C3DB0-7A6B-4417-8E5C-322B08633AAC}"
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FuzzyLite", "AI\FuzzyLite\FuzzyLite.vcxproj", "{D15B34EC-A32C-4968-9B0B-66998B579364}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Win32 = Debug|Win32
@@ -73,6 +75,12 @@ Global
 		{276C3DB0-7A6B-4417-8E5C-322B08633AAC}.RD|Win32.ActiveCfg = RD|Win32
 		{276C3DB0-7A6B-4417-8E5C-322B08633AAC}.RD|Win32.Build.0 = RD|Win32
 		{276C3DB0-7A6B-4417-8E5C-322B08633AAC}.RD|x64.ActiveCfg = RD|Win32
+		{D15B34EC-A32C-4968-9B0B-66998B579364}.Debug|Win32.ActiveCfg = Debug|Win32
+		{D15B34EC-A32C-4968-9B0B-66998B579364}.Debug|Win32.Build.0 = Debug|Win32
+		{D15B34EC-A32C-4968-9B0B-66998B579364}.Debug|x64.ActiveCfg = Debug|Win32
+		{D15B34EC-A32C-4968-9B0B-66998B579364}.RD|Win32.ActiveCfg = RD|Win32
+		{D15B34EC-A32C-4968-9B0B-66998B579364}.RD|Win32.Build.0 = RD|Win32
+		{D15B34EC-A32C-4968-9B0B-66998B579364}.RD|x64.ActiveCfg = RD|Win32
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE