aboutsummaryrefslogtreecommitdiff
path: root/contrib/vmap3_assembler
diff options
context:
space:
mode:
authorclick <none@none>2010-06-05 17:44:46 +0200
committerclick <none@none>2010-06-05 17:44:46 +0200
commit8aed0837829bb95cd54c07f5692dfbbe511252e1 (patch)
treed117f8fa597890ce8aa6bb1c92a6ed8b2ad2dfce /contrib/vmap3_assembler
parentc19db366c4065eceb2285a468f0c73c4837fa800 (diff)
rename extractors to reflect that they are for version 3
--HG-- branch : trunk rename : contrib/vmap_assembler/CMakeLists.txt => contrib/vmap3_assembler/CMakeLists.txt rename : contrib/vmap_assembler/VC90/vmap_assembler.vcproj => contrib/vmap3_assembler/VC90/vmap_assembler.vcproj rename : contrib/vmap_assembler/splitConfig.txt => contrib/vmap3_assembler/splitConfig.txt rename : contrib/vmap_assembler/vmap_assembler.cpp => contrib/vmap3_assembler/vmap_assembler.cpp rename : contrib/vmap_assembler/vmap_assemblerVC90.sln => contrib/vmap3_assembler/vmap_assemblerVC90.sln rename : contrib/vmap_extractor_v2/CMakeLists.txt => contrib/vmap3_extractor/CMakeLists.txt rename : contrib/vmap_extractor_v2/vmapextract/CMakeLists.txt => contrib/vmap3_extractor/vmapextract/CMakeLists.txt rename : contrib/vmap_extractor_v2/vmapextract/adtfile.cpp => contrib/vmap3_extractor/vmapextract/adtfile.cpp rename : contrib/vmap_extractor_v2/vmapextract/adtfile.h => contrib/vmap3_extractor/vmapextract/adtfile.h rename : contrib/vmap_extractor_v2/vmapextract/dbcfile.cpp => contrib/vmap3_extractor/vmapextract/dbcfile.cpp rename : contrib/vmap_extractor_v2/vmapextract/dbcfile.h => contrib/vmap3_extractor/vmapextract/dbcfile.h rename : contrib/vmap_extractor_v2/vmapextract/loadlib/loadlib.h => contrib/vmap3_extractor/vmapextract/loadlib/loadlib.h rename : contrib/vmap_extractor_v2/vmapextract/model.cpp => contrib/vmap3_extractor/vmapextract/model.cpp rename : contrib/vmap_extractor_v2/vmapextract/model.h => contrib/vmap3_extractor/vmapextract/model.h rename : contrib/vmap_extractor_v2/vmapextract/modelheaders.h => contrib/vmap3_extractor/vmapextract/modelheaders.h rename : contrib/vmap_extractor_v2/vmapextract/mpq_libmpq.cpp => contrib/vmap3_extractor/vmapextract/mpq_libmpq.cpp rename : contrib/vmap_extractor_v2/vmapextract/mpq_libmpq04.h => contrib/vmap3_extractor/vmapextract/mpq_libmpq04.h rename : contrib/vmap_extractor_v2/vmapextract/vec3d.h => contrib/vmap3_extractor/vmapextract/vec3d.h rename : contrib/vmap_extractor_v2/vmapextract/vmapexport.cpp => contrib/vmap3_extractor/vmapextract/vmapexport.cpp rename : contrib/vmap_extractor_v2/vmapextract/vmapexport.h => contrib/vmap3_extractor/vmapextract/vmapexport.h rename : contrib/vmap_extractor_v2/vmapextract/wdtfile.cpp => contrib/vmap3_extractor/vmapextract/wdtfile.cpp rename : contrib/vmap_extractor_v2/vmapextract/wdtfile.h => contrib/vmap3_extractor/vmapextract/wdtfile.h rename : contrib/vmap_extractor_v2/vmapextract/wmo.cpp => contrib/vmap3_extractor/vmapextract/wmo.cpp rename : contrib/vmap_extractor_v2/vmapextract/wmo.h => contrib/vmap3_extractor/vmapextract/wmo.h rename : contrib/vmap_extractor_v2/win/vmapExtractor3_VC90.sln => contrib/vmap3_extractor/win/vmapExtractor3_VC90.sln
Diffstat (limited to 'contrib/vmap3_assembler')
-rw-r--r--contrib/vmap3_assembler/CMakeLists.txt85
-rw-r--r--contrib/vmap3_assembler/VC90/vmap_assembler.vcproj249
-rw-r--r--contrib/vmap3_assembler/splitConfig.txt21
-rw-r--r--contrib/vmap3_assembler/vmap_assembler.cpp120
-rw-r--r--contrib/vmap3_assembler/vmap_assemblerVC90.sln42
5 files changed, 517 insertions, 0 deletions
diff --git a/contrib/vmap3_assembler/CMakeLists.txt b/contrib/vmap3_assembler/CMakeLists.txt
new file mode 100644
index 00000000000..42c7817699f
--- /dev/null
+++ b/contrib/vmap3_assembler/CMakeLists.txt
@@ -0,0 +1,85 @@
+# Copyright (C) 2005-2009 MaNGOS project <http://getmangos.com/>
+#
+# This file is free software; as a special exception the author gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+cmake_minimum_required (VERSION 2.6)
+project (MANGOS_VMAP_ASSEMB_IO)
+
+set(CMAKE_VERBOSE_MAKEFILE true)
+
+# uncomment next line to disable debug mode
+ADD_DEFINITIONS("-DIOMAP_DEBUG")
+
+ADD_DEFINITIONS("-Wall")
+ADD_DEFINITIONS("-ggdb")
+ADD_DEFINITIONS("-O3")
+
+include_directories(../../src/shared/vmap/)
+include_directories(../../dep/include/g3dlite/)
+include_directories(../../dep/ACE_wrappers/)
+include_directories(../../objdir/dep/ACE_wrappers)
+include_directories(../../src/framework/)
+
+add_library(g3dlite ../../dep/src/g3dlite/AABox.cpp
+ ../../dep/src/g3dlite/Box.cpp
+ ../../dep/src/g3dlite/Crypto.cpp
+ ../../dep/src/g3dlite/format.cpp
+ ../../dep/src/g3dlite/Matrix3.cpp
+ ../../dep/src/g3dlite/Plane.cpp
+ ../../dep/src/g3dlite/System.cpp
+ ../../dep/src/g3dlite/Triangle.cpp
+ ../../dep/src/g3dlite/Vector3.cpp
+ ../../dep/src/g3dlite/Vector4.cpp
+ ../../dep/src/g3dlite/debugAssert.cpp
+ ../../dep/src/g3dlite/fileutils.cpp
+ ../../dep/src/g3dlite/g3dmath.cpp
+ ../../dep/src/g3dlite/g3dfnmatch.cpp
+ ../../dep/src/g3dlite/prompt.cpp
+ ../../dep/src/g3dlite/stringutils.cpp
+ ../../dep/src/g3dlite/Any.cpp
+ ../../dep/src/g3dlite/BinaryFormat.cpp
+ ../../dep/src/g3dlite/BinaryInput.cpp
+ ../../dep/src/g3dlite/BinaryOutput.cpp
+ ../../dep/src/g3dlite/Capsule.cpp
+ ../../dep/src/g3dlite/CollisionDetection.cpp
+ ../../dep/src/g3dlite/CoordinateFrame.cpp
+ ../../dep/src/g3dlite/Cylinder.cpp
+ ../../dep/src/g3dlite/Line.cpp
+ ../../dep/src/g3dlite/LineSegment.cpp
+ ../../dep/src/g3dlite/Log.cpp
+ ../../dep/src/g3dlite/Matrix4.cpp
+ ../../dep/src/g3dlite/MemoryManager.cpp
+ ../../dep/src/g3dlite/Quat.cpp
+ ../../dep/src/g3dlite/Random.cpp
+ ../../dep/src/g3dlite/Ray.cpp
+ ../../dep/src/g3dlite/ReferenceCount.cpp
+ ../../dep/src/g3dlite/Sphere.cpp
+ ../../dep/src/g3dlite/TextInput.cpp
+ ../../dep/src/g3dlite/TextOutput.cpp
+ ../../dep/src/g3dlite/UprightFrame.cpp
+ ../../dep/src/g3dlite/Vector2.cpp
+ )
+
+add_library(vmap
+ ../../src/shared/vmap/BIH.cpp
+ ../../src/shared/vmap/VMapManager2.cpp
+ ../../src/shared/vmap/MapTree.cpp
+ ../../src/shared/vmap/TileAssembler.cpp
+ ../../src/shared/vmap/WorldModel.cpp
+ ../../src/shared/vmap/ModelInstance.cpp
+ )
+
+target_link_libraries(vmap g3dlite z)
+
+add_executable(vmap_assembler vmap_assembler.cpp)
+target_link_libraries(vmap_assembler vmap)
+
+# add_executable(vmap_test coordinate_test.cpp)
+# target_link_libraries(vmap_test vmap)
+
diff --git a/contrib/vmap3_assembler/VC90/vmap_assembler.vcproj b/contrib/vmap3_assembler/VC90/vmap_assembler.vcproj
new file mode 100644
index 00000000000..aff990d01cc
--- /dev/null
+++ b/contrib/vmap3_assembler/VC90/vmap_assembler.vcproj
@@ -0,0 +1,249 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="vmap_assembler"
+ ProjectGUID="{572FFF74-480C-4472-8ABF-81733BB4049D}"
+ RootNamespace="vmap_assembler"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="..\bin\$(PlatformName)_$(ConfigurationName)\"
+ IntermediateDirectory="bin\$(ProjectName)__$(PlatformName)_$(ConfigurationName)\"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\dep\include\g3dlite;..\..\..\src\shared\vmap;"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ EnableEnhancedInstructionSet="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/vmap_assembler.exe"
+ LinkIncremental="1"
+ IgnoreDefaultLibraryNames=""
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/vmap_assembler.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="..\bin\$(PlatformName)_$(ConfigurationName)\"
+ IntermediateDirectory="bin\$(ProjectName)__$(PlatformName)_$(ConfigurationName)\"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\dep\include\g3dlite;..\..\..\src\shared\vmap;..\..\..\src\framework;..\..\..\dep\ACE_wrappers"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ EnableEnhancedInstructionSet="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/vmap_assembler.exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\..\vmap_assembler.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="vmaplib"
+ >
+ <File
+ RelativePath="..\..\..\src\shared\vmap\BIH.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\shared\vmap\BIH.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\shared\vmap\MapTree.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\shared\vmap\MapTree.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\shared\vmap\ModelInstance.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\shared\vmap\ModelInstance.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\shared\vmap\TileAssembler.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\shared\vmap\TileAssembler.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\shared\vmap\VMapManager2.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\shared\vmap\VMapManager2.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\shared\vmap\VMapTools.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\shared\vmap\WorldModel.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\shared\vmap\WorldModel.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/contrib/vmap3_assembler/splitConfig.txt b/contrib/vmap3_assembler/splitConfig.txt
new file mode 100644
index 00000000000..8d217b8e967
--- /dev/null
+++ b/contrib/vmap3_assembler/splitConfig.txt
@@ -0,0 +1,21 @@
+# list of map names
+
+509 #AhnQiraj
+469 #BlackwingLair
+189 #MonasteryInstances
+030 #PVPZone01
+037 #PVPZone02
+033 #Shadowfang
+533 #Stratholme Raid
+209 #TanarisInstance
+309 #Zul'gurub
+560 #HillsbradPast
+534 #HyjalPast
+532 #Karazahn
+543 #HellfireRampart
+568 #ZulAman
+564 #BlackTemple
+574 #UtgardeKeep
+575 #UtgardePinnacle
+609 #EbonHold
+628 #IsleOfConquest \ No newline at end of file
diff --git a/contrib/vmap3_assembler/vmap_assembler.cpp b/contrib/vmap3_assembler/vmap_assembler.cpp
new file mode 100644
index 00000000000..6666b54356c
--- /dev/null
+++ b/contrib/vmap3_assembler/vmap_assembler.cpp
@@ -0,0 +1,120 @@
+#include <stdlib.h>
+#include <stdio.h>
+#include <string>
+
+#include "TileAssembler.h"
+
+//=======================================================
+// remove last return or LF and tailing SPACE
+// remove all char after a #
+
+void chompAndTrim(std::string& str)
+{
+ for(unsigned int i=0;i<str.length(); ++i) {
+ char lc = str[i];
+ if(lc == '#') {
+ str = str.substr(0,i);
+ break;
+ }
+ }
+
+ while(str.length() >0) {
+ char lc = str[str.length()-1];
+ if(lc == '\r' || lc == '\n' || lc == ' ') {
+ str = str.substr(0,str.length()-1);
+ } else {
+ break;
+ }
+ }
+}
+
+//=======================================================
+/**
+This callback method is called for each model found in the dir file.
+return true if it should be included in the vmap
+*/
+bool modelNameFilter(char *pName)
+{
+#if 0
+ bool result;
+ result = !Wildcard::wildcardfit("*bush[0-9]*", pName);
+ if(result) result = !Wildcard::wildcardfit("*shrub[0-9]*", pName);
+ if(result) result = !Wildcard::wildcardfit("*_Bushes_*", pName);
+ if(result) result = !Wildcard::wildcardfit("*_Bush_*", pName);
+ if(!result) {
+ printf("%s",pName);
+ }
+#endif
+ return true;
+}
+
+//=======================================================
+/**
+File contains map names that should be split into tiles
+A '#' at the beginning of a line defines a comment
+*/
+
+/* bool readConfigFile(char *pConffile, VMAP::TileAssembler* pTa)
+{
+ bool result = false;
+ char buffer[501];
+ FILE *cf = fopen(pConffile, "rb");
+ if(cf) {
+ while(fgets(buffer, 500, cf)) {
+ std::string name = std::string(buffer);
+ size_t pos = name.find_first_not_of(' ');
+ name = name.substr(pos);
+ chompAndTrim(name); // just to be sure
+ if(name[0] != '#' && name.size() >0) { // comment?
+ unsigned int mapId = atoi(name.c_str());
+ pTa->addWorldAreaMapId(mapId);
+ }
+ }
+ fclose(cf);
+ result = true;
+ }
+ return(result);
+} */
+//=======================================================
+int main(int argc, char* argv[])
+{
+ if(argc != 3 && argc != 4)
+ {
+ printf("\nusage: %s <raw data dir> <vmap dest dir> [config file name]\n", argv[0]);
+ return 1;
+ }
+
+ char *src = argv[1];
+ char *dest = argv[2];
+ char *conffile = NULL;
+ if(argc >= 4)
+ conffile = argv[3];
+
+ VMAP::TileAssembler* ta = new VMAP::TileAssembler(std::string(src), std::string(dest));
+ ta->setModelNameFilterMethod(modelNameFilter);
+
+ /*
+ All the names in the list are considered to be world maps or huge instances.
+ These maps will be spilt into tiles in the vmap assemble process
+ */
+ /* if(conffile != NULL)
+ {
+ if(!readConfigFile(conffile, ta))
+ {
+ printf("Can not open file config file: %s\n", conffile);
+ delete ta;
+ return 1;
+ }
+ } */
+
+ if(!ta->convertWorld2())
+ {
+ printf("exit with errors\n");
+ delete ta;
+ return 1;
+ }
+
+ delete ta;
+ printf("Ok, all done\n");
+ return 0;
+}
diff --git a/contrib/vmap3_assembler/vmap_assemblerVC90.sln b/contrib/vmap3_assembler/vmap_assemblerVC90.sln
new file mode 100644
index 00000000000..9e94e750661
--- /dev/null
+++ b/contrib/vmap3_assembler/vmap_assemblerVC90.sln
@@ -0,0 +1,42 @@
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual C++ Express 2008
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vmap_assembler", "VC90\vmap_assembler.vcproj", "{572FFF74-480C-4472-8ABF-81733BB4049D}"
+ ProjectSection(ProjectDependencies) = postProject
+ {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2} = {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}
+ {8072769E-CF10-48BF-B9E1-12752A5DAC6E} = {8072769E-CF10-48BF-B9E1-12752A5DAC6E}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "..\..\win\VC90\zlib.vcproj", "{8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g3dlite", "..\..\win\VC90\g3dlite.vcproj", "{8072769E-CF10-48BF-B9E1-12752A5DAC6E}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug_NoPCH|Win32 = Debug_NoPCH|Win32
+ Debug|Win32 = Debug|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {572FFF74-480C-4472-8ABF-81733BB4049D}.Debug_NoPCH|Win32.ActiveCfg = Debug|Win32
+ {572FFF74-480C-4472-8ABF-81733BB4049D}.Debug_NoPCH|Win32.Build.0 = Debug|Win32
+ {572FFF74-480C-4472-8ABF-81733BB4049D}.Debug|Win32.ActiveCfg = Debug|Win32
+ {572FFF74-480C-4472-8ABF-81733BB4049D}.Debug|Win32.Build.0 = Debug|Win32
+ {572FFF74-480C-4472-8ABF-81733BB4049D}.Release|Win32.ActiveCfg = Release|Win32
+ {572FFF74-480C-4472-8ABF-81733BB4049D}.Release|Win32.Build.0 = Release|Win32
+ {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Debug_NoPCH|Win32.ActiveCfg = Debug_NoPCH|Win32
+ {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Debug_NoPCH|Win32.Build.0 = Debug_NoPCH|Win32
+ {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Debug|Win32.ActiveCfg = Debug|Win32
+ {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Debug|Win32.Build.0 = Debug|Win32
+ {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Release|Win32.ActiveCfg = Release|Win32
+ {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Release|Win32.Build.0 = Release|Win32
+ {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug_NoPCH|Win32.ActiveCfg = Debug_NoPCH|Win32
+ {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug_NoPCH|Win32.Build.0 = Debug_NoPCH|Win32
+ {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug|Win32.Build.0 = Debug|Win32
+ {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Release|Win32.ActiveCfg = Release|Win32
+ {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal