summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Noonan <steven@uplinklabs.net>2009-10-15 15:38:10 -0700
committerSteven Noonan <steven@uplinklabs.net>2009-10-15 15:54:40 -0700
commit2ae01123576c82be94c1e593b76b1660d571c8b4 (patch)
tree0d59eb7dacd70e393febea3567d7a0065c4715df
parent4e50731697e5b2f22662d494838d900b5e5f16fa (diff)
downloadcrawl-ref-2ae01123576c82be94c1e593b76b1660d571c8b4.tar.gz
crawl-ref-2ae01123576c82be94c1e593b76b1660d571c8b4.zip
msvc: add tile build support
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
-rw-r--r--.gitmodules3
-rw-r--r--crawl-ref/.gitignore12
-rw-r--r--crawl-ref/source/MSVC/Common.vsprops1
-rw-r--r--crawl-ref/source/MSVC/Tiles.vsprops4
-rw-r--r--crawl-ref/source/MSVC/crawl-ref.sln33
-rw-r--r--crawl-ref/source/MSVC/crawl.vcproj20
-rw-r--r--crawl-ref/source/MSVC/tilegen.vcproj16
-rw-r--r--crawl-ref/source/contrib/.gitignore4
-rw-r--r--crawl-ref/source/contrib/Common.vsprops26
-rw-r--r--crawl-ref/source/contrib/Contribs.sln133
-rw-r--r--crawl-ref/source/contrib/DLL.vsprops16
-rw-r--r--crawl-ref/source/contrib/Debug.vsprops12
-rw-r--r--crawl-ref/source/contrib/LIB.vsprops11
-rw-r--r--crawl-ref/source/contrib/Release.vsprops21
m---------crawl-ref/source/contrib/freetype0
m---------crawl-ref/source/contrib/libpng0
m---------crawl-ref/source/contrib/lua0
m---------crawl-ref/source/contrib/pcre0
m---------crawl-ref/source/contrib/sdl0
m---------crawl-ref/source/contrib/sdl-image0
m---------crawl-ref/source/contrib/sqlite0
m---------crawl-ref/source/contrib/zlib0
-rw-r--r--crawl-ref/source/msvc.h133
23 files changed, 329 insertions, 116 deletions
diff --git a/.gitmodules b/.gitmodules
index cde4b47733..55f4bc3c71 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -19,3 +19,6 @@
[submodule "crawl-ref/source/contrib/libpng"]
path = crawl-ref/source/contrib/libpng
url = git://crawl-ref.git.sourceforge.net/gitroot/crawl-ref/libpng
+[submodule "crawl-ref/source/contrib/zlib"]
+ path = crawl-ref/source/contrib/zlib
+ url = git://crawl-ref.git.sourceforge.net/gitroot/crawl-ref/zlib
diff --git a/crawl-ref/.gitignore b/crawl-ref/.gitignore
index 3dc93c1b27..c6b1a6b67f 100644
--- a/crawl-ref/.gitignore
+++ b/crawl-ref/.gitignore
@@ -42,8 +42,6 @@ makefile.dep
# The Crawl executable.
/source/crawl
-/source/crawl.exe
-/source/crawl.pdb
# Level-compiler generated files.
/source/util/*.cc
@@ -59,3 +57,13 @@ makefile.dep
*.pbxuser
*.perspectivev3
*.mode1v3
+
+# Visual C++ cruft
+*.suo
+*.ncb
+*.vcproj.*.user
+
+# Visual C++ outputs
+/source/*.exe
+/source/*.[pi]db
+/source/*.dll
diff --git a/crawl-ref/source/MSVC/Common.vsprops b/crawl-ref/source/MSVC/Common.vsprops
index a24da65f90..19345f5858 100644
--- a/crawl-ref/source/MSVC/Common.vsprops
+++ b/crawl-ref/source/MSVC/Common.vsprops
@@ -8,6 +8,7 @@
>
<Tool
Name="VCCLCompilerTool"
+ PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
/>
</VisualStudioPropertySheet>
diff --git a/crawl-ref/source/MSVC/Tiles.vsprops b/crawl-ref/source/MSVC/Tiles.vsprops
index 9fc3b2bcbf..58f6db88e2 100644
--- a/crawl-ref/source/MSVC/Tiles.vsprops
+++ b/crawl-ref/source/MSVC/Tiles.vsprops
@@ -6,12 +6,12 @@
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="C:\SDKs\SDL\include;C:\SDKs\SDL_image\include;C:\SDKs\libpng\include;C:\SDKs\zlib\include;C:\SDKs\freetype\include"
+ AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\contrib\sdl\include&quot;;&quot;$(SolutionDir)\..\contrib\sdl-image&quot;;&quot;$(SolutionDir)\..\contrib\libpng&quot;;&quot;$(SolutionDir)\..\contrib\freetype\include&quot;;&quot;$(SolutionDir)\..\contrib\zlib&quot;"
PreprocessorDefinitions="WIN32TILES;USE_TILE"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="SDL.lib SDL_image.lib SDLmain.lib libpng.lib zlib.lib freetype.lib opengl32.lib glu32.lib"
- AdditionalLibraryDirectories="C:\SDKs\SDL\lib;C:\SDKs\SDL_image\lib;C:\SDKs\libpng\lib;C:\SDKs\zlib\lib;C:\SDKs\freetype\lib"
+ AdditionalLibraryDirectories="&quot;$(SolutionDir)\..\contrib\bin\8.0\$(PlatformName)&quot;"
/>
</VisualStudioPropertySheet>
diff --git a/crawl-ref/source/MSVC/crawl-ref.sln b/crawl-ref/source/MSVC/crawl-ref.sln
index 6f36d961b8..5b3feb698e 100644
--- a/crawl-ref/source/MSVC/crawl-ref.sln
+++ b/crawl-ref/source/MSVC/crawl-ref.sln
@@ -3,18 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "crawl", "crawl.vcproj", "{3189AF12-90EF-4D3E-BFEC-4AB90D7D32DA}"
ProjectSection(ProjectDependencies) = postProject
- {5783572B-479A-4EE8-8F16-1FDB24DDD1A0} = {5783572B-479A-4EE8-8F16-1FDB24DDD1A0}
{DAE92A45-087B-445B-8E94-BA864173A73F} = {DAE92A45-087B-445B-8E94-BA864173A73F}
- {A61349B6-4099-4688-AA1A-00D91397857D} = {A61349B6-4099-4688-AA1A-00D91397857D}
- {A0FDC72E-0BE5-4542-B381-6A482DAC2125} = {A0FDC72E-0BE5-4542-B381-6A482DAC2125}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lua", "..\contrib\lua\src\lua.vcproj", "{A61349B6-4099-4688-AA1A-00D91397857D}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite", "..\contrib\sqlite\sqlite.vcproj", "{5783572B-479A-4EE8-8F16-1FDB24DDD1A0}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pcre", "..\contrib\pcre\pcre.vcproj", "{A0FDC72E-0BE5-4542-B381-6A482DAC2125}"
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tilegen", "tilegen.vcproj", "{DAE92A45-087B-445B-8E94-BA864173A73F}"
EndProject
Global
@@ -33,30 +24,6 @@ Global
{3189AF12-90EF-4D3E-BFEC-4AB90D7D32DA}.Release Console|Win32.Build.0 = Release Console|Win32
{3189AF12-90EF-4D3E-BFEC-4AB90D7D32DA}.Release Tiles|Win32.ActiveCfg = Release Tiles|Win32
{3189AF12-90EF-4D3E-BFEC-4AB90D7D32DA}.Release Tiles|Win32.Build.0 = Release Tiles|Win32
- {A61349B6-4099-4688-AA1A-00D91397857D}.Debug Console|Win32.ActiveCfg = Debug|Win32
- {A61349B6-4099-4688-AA1A-00D91397857D}.Debug Console|Win32.Build.0 = Debug|Win32
- {A61349B6-4099-4688-AA1A-00D91397857D}.Debug Tiles|Win32.ActiveCfg = Debug|Win32
- {A61349B6-4099-4688-AA1A-00D91397857D}.Debug Tiles|Win32.Build.0 = Debug|Win32
- {A61349B6-4099-4688-AA1A-00D91397857D}.Release Console|Win32.ActiveCfg = Release|Win32
- {A61349B6-4099-4688-AA1A-00D91397857D}.Release Console|Win32.Build.0 = Release|Win32
- {A61349B6-4099-4688-AA1A-00D91397857D}.Release Tiles|Win32.ActiveCfg = Release|Win32
- {A61349B6-4099-4688-AA1A-00D91397857D}.Release Tiles|Win32.Build.0 = Release|Win32
- {5783572B-479A-4EE8-8F16-1FDB24DDD1A0}.Debug Console|Win32.ActiveCfg = Debug|Win32
- {5783572B-479A-4EE8-8F16-1FDB24DDD1A0}.Debug Console|Win32.Build.0 = Debug|Win32
- {5783572B-479A-4EE8-8F16-1FDB24DDD1A0}.Debug Tiles|Win32.ActiveCfg = Debug|Win32
- {5783572B-479A-4EE8-8F16-1FDB24DDD1A0}.Debug Tiles|Win32.Build.0 = Debug|Win32
- {5783572B-479A-4EE8-8F16-1FDB24DDD1A0}.Release Console|Win32.ActiveCfg = Release|Win32
- {5783572B-479A-4EE8-8F16-1FDB24DDD1A0}.Release Console|Win32.Build.0 = Release|Win32
- {5783572B-479A-4EE8-8F16-1FDB24DDD1A0}.Release Tiles|Win32.ActiveCfg = Release|Win32
- {5783572B-479A-4EE8-8F16-1FDB24DDD1A0}.Release Tiles|Win32.Build.0 = Release|Win32
- {A0FDC72E-0BE5-4542-B381-6A482DAC2125}.Debug Console|Win32.ActiveCfg = Debug|Win32
- {A0FDC72E-0BE5-4542-B381-6A482DAC2125}.Debug Console|Win32.Build.0 = Debug|Win32
- {A0FDC72E-0BE5-4542-B381-6A482DAC2125}.Debug Tiles|Win32.ActiveCfg = Debug|Win32
- {A0FDC72E-0BE5-4542-B381-6A482DAC2125}.Debug Tiles|Win32.Build.0 = Debug|Win32
- {A0FDC72E-0BE5-4542-B381-6A482DAC2125}.Release Console|Win32.ActiveCfg = Release|Win32
- {A0FDC72E-0BE5-4542-B381-6A482DAC2125}.Release Console|Win32.Build.0 = Release|Win32
- {A0FDC72E-0BE5-4542-B381-6A482DAC2125}.Release Tiles|Win32.ActiveCfg = Release|Win32
- {A0FDC72E-0BE5-4542-B381-6A482DAC2125}.Release Tiles|Win32.Build.0 = Release|Win32
{DAE92A45-087B-445B-8E94-BA864173A73F}.Debug Console|Win32.ActiveCfg = Debug|Win32
{DAE92A45-087B-445B-8E94-BA864173A73F}.Debug Console|Win32.Build.0 = Debug|Win32
{DAE92A45-087B-445B-8E94-BA864173A73F}.Debug Tiles|Win32.ActiveCfg = Debug|Win32
diff --git a/crawl-ref/source/MSVC/crawl.vcproj b/crawl-ref/source/MSVC/crawl.vcproj
index 0cd46d23fa..c82de4b927 100644
--- a/crawl-ref/source/MSVC/crawl.vcproj
+++ b/crawl-ref/source/MSVC/crawl.vcproj
@@ -18,8 +18,9 @@
<Configuration
Name="Debug Console|Win32"
OutputDirectory="$(SolutionDir)\.."
+ IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets=".\Debug.vsprops;.\Console.vsprops;.\Common.vsprops"
+ InheritedPropertySheets=".\Console.vsprops;.\Debug.vsprops;.\Common.vsprops"
CharacterSet="0"
WholeProgramOptimization="0"
>
@@ -97,7 +98,7 @@
Name="Release Console|Win32"
OutputDirectory="$(SolutionDir)\.."
ConfigurationType="1"
- InheritedPropertySheets=".\Release.vsprops;.\Console.vsprops;.\Common.vsprops"
+ InheritedPropertySheets=".\Console.vsprops;.\Release.vsprops;.\Common.vsprops"
CharacterSet="0"
WholeProgramOptimization="0"
>
@@ -174,7 +175,7 @@
Name="Debug Tiles|Win32"
OutputDirectory="$(SolutionDir)\.."
ConfigurationType="1"
- InheritedPropertySheets=".\Debug.vsprops;.\Common.vsprops;.\Tiles.vsprops"
+ InheritedPropertySheets=".\Tiles.vsprops;.\Debug.vsprops;.\Common.vsprops"
CharacterSet="0"
WholeProgramOptimization="0"
>
@@ -197,7 +198,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".;..;../contrib/lua/src;../contrib/sqlite;../contrib/pcre;../rltiles"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;_USE_MATH_DEFINES"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;_USE_MATH_DEFINES"
MinimalRebuild="true"
BasicRuntimeChecks="3"
UsePrecompiledHeader="2"
@@ -218,9 +219,10 @@
/>
<Tool
Name="VCLinkerTool"
+ AdditionalDependencies="SDL.lib SDL_image.lib libpng.lib lua.lib pcre.lib sqlite.lib zlib.lib"
LinkIncremental="2"
GenerateDebugInformation="true"
- SubSystem="1"
+ SubSystem="2"
TargetMachine="1"
/>
<Tool
@@ -252,7 +254,7 @@
Name="Release Tiles|Win32"
OutputDirectory="$(SolutionDir)\.."
ConfigurationType="1"
- InheritedPropertySheets=".\Release.vsprops;.\Common.vsprops;.\Tiles.vsprops"
+ InheritedPropertySheets=".\Tiles.vsprops;.\Release.vsprops;.\Common.vsprops"
CharacterSet="0"
WholeProgramOptimization="0"
>
@@ -274,7 +276,7 @@
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=".;..;../contrib/lua/src;../contrib/sqlite;../contrib/pcre;../rltiles"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;_USE_MATH_DEFINES"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;_USE_MATH_DEFINES"
UsePrecompiledHeader="2"
PrecompiledHeaderThrough="AppHdr.h"
WarningLevel="3"
@@ -293,9 +295,11 @@
/>
<Tool
Name="VCLinkerTool"
+ AdditionalDependencies="SDL.lib SDL_image.lib libpng.lib lua.lib pcre.lib sqlite.lib zlib.lib"
LinkIncremental="1"
+ AdditionalLibraryDirectories="$(ProjectDir)\..\contrib\bin\8.0"
GenerateDebugInformation="true"
- SubSystem="1"
+ SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
diff --git a/crawl-ref/source/MSVC/tilegen.vcproj b/crawl-ref/source/MSVC/tilegen.vcproj
index 1a7e979d01..aec998c047 100644
--- a/crawl-ref/source/MSVC/tilegen.vcproj
+++ b/crawl-ref/source/MSVC/tilegen.vcproj
@@ -17,6 +17,7 @@
<Configurations>
<Configuration
Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\.."
ConfigurationType="1"
InheritedPropertySheets=".\Common.vsprops;.\Tiles.vsprops;.\Debug.vsprops"
CharacterSet="1"
@@ -39,13 +40,12 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
+ AdditionalIncludeDirectories="$(SolutionDir)\..\contrib\sdl\include;$(SolutionDir)\..\contrib\sdl-image;$(SolutionDir)\..\contrib\libpng;$(SolutionDir)\..\contrib\zlib"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
UsePrecompiledHeader="0"
WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -58,7 +58,9 @@
/>
<Tool
Name="VCLinkerTool"
+ AdditionalDependencies="SDL.lib SDL_image.lib libpng.lib"
LinkIncremental="2"
+ AdditionalLibraryDirectories="$(ProjectDir)\..\contrib\bin\8.0"
GenerateDebugInformation="true"
SubSystem="1"
TargetMachine="1"
@@ -86,11 +88,13 @@
/>
<Tool
Name="VCPostBuildEventTool"
- CommandLine="cd &quot;$(SolutionDir)\..\rltiles&quot;&#x0D;&#x0A;echo Generating main.png...&#x0D;&#x0A;&quot;$(SolutionDir)\bin\$(ProjectName)\$(ConfigurationName)\$(ProjectName).exe&quot; dc-main.txt&#x0D;&#x0A;echo Generating dngn.png...&#x0D;&#x0A;&quot;$(SolutionDir)\bin\$(ProjectName)\$(ConfigurationName)\$(ProjectName).exe&quot; dc-dngn.txt&#x0D;&#x0A;echo Generating player.png...&#x0D;&#x0A;&quot;$(SolutionDir)\bin\$(ProjectName)\$(ConfigurationName)\$(ProjectName).exe&quot; dc-player.txt&#x0D;&#x0A;echo Generating gui.png...&#x0D;&#x0A;&quot;$(SolutionDir)\bin\$(ProjectName)\$(ConfigurationName)\$(ProjectName).exe&quot; dc-gui.txt&#x0D;&#x0A;copy *.png ..\dat\tiles\"
+ CommandLine="cd &quot;$(SolutionDir)\..\rltiles&quot;&#x0D;&#x0A;echo Generating main.png...&#x0D;&#x0A;&quot;$(SolutionDir)\bin\$(ProjectName)\$(ConfigurationName)\$(ProjectName).exe&quot; dc-main.txt&#x0D;&#x0A;echo Generating dngn.png...&#x0D;&#x0A;&quot;$(SolutionDir)\bin\$(ProjectName)\$(ConfigurationName)\$(ProjectName).exe&quot; dc-dngn.txt&#x0D;&#x0A;echo Generating player.png...&#x0D;&#x0A;&quot;$(SolutionDir)\bin\$(ProjectName)\$(ConfigurationName)\$(ProjectName).exe&quot; dc-player.txt&#x0D;&#x0A;echo Generating gui.png...&#x0D;&#x0A;&quot;$(SolutionDir)\bin\$(ProjectName)\$(ConfigurationName)\$(ProjectName).exe&quot; dc-gui.txt&#x0D;&#x0A;copy *.png ..\dat\tiles\&#x0D;&#x0A;"
/>
</Configuration>
<Configuration
Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\.."
+ IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets=".\Common.vsprops;.\Tiles.vsprops;.\Release.vsprops"
CharacterSet="1"
@@ -113,10 +117,10 @@
/>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="$(SolutionDir)\..\contrib\sdl\include;$(SolutionDir)\..\contrib\sdl-image;$(SolutionDir)\..\contrib\libpng;$(SolutionDir)\..\contrib\zlib"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
UsePrecompiledHeader="0"
WarningLevel="3"
- Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
@@ -130,7 +134,9 @@
/>
<Tool
Name="VCLinkerTool"
+ AdditionalDependencies="SDL.lib SDL_image.lib libpng.lib"
LinkIncremental="1"
+ AdditionalLibraryDirectories="&quot;$(SolutionDir)\..\contrib\bin\8.0\$(PlatformName)&quot;"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
@@ -160,7 +166,7 @@
/>
<Tool
Name="VCPostBuildEventTool"
- CommandLine="cd &quot;$(SolutionDir)\..\rltiles&quot;&#x0D;&#x0A;echo Generating main.png...&#x0D;&#x0A;&quot;$(SolutionDir)\bin\$(ProjectName)\$(ConfigurationName)\$(ProjectName).exe&quot; dc-main.txt&#x0D;&#x0A;echo Generating dngn.png...&#x0D;&#x0A;&quot;$(SolutionDir)\bin\$(ProjectName)\$(ConfigurationName)\$(ProjectName).exe&quot; dc-dngn.txt&#x0D;&#x0A;echo Generating player.png...&#x0D;&#x0A;&quot;$(SolutionDir)\bin\$(ProjectName)\$(ConfigurationName)\$(ProjectName).exe&quot; dc-player.txt&#x0D;&#x0A;echo Generating gui.png...&#x0D;&#x0A;&quot;$(SolutionDir)\bin\$(ProjectName)\$(ConfigurationName)\$(ProjectName).exe&quot; dc-gui.txt&#x0D;&#x0A;copy *.png ..\dat\tiles\"
+ CommandLine="cd &quot;$(SolutionDir)\..\rltiles&quot;&#x0D;&#x0A;echo Generating main.png...&#x0D;&#x0A;&quot;$(TargetPath)&quot; dc-main.txt&#x0D;&#x0A;echo Generating dngn.png...&#x0D;&#x0A;&quot;$(TargetPath)&quot; dc-dngn.txt&#x0D;&#x0A;echo Generating player.png...&#x0D;&#x0A;&quot;$(TargetPath)&quot; dc-player.txt&#x0D;&#x0A;echo Generating gui.png...&#x0D;&#x0A;&quot;$(TargetPath)&quot; dc-gui.txt&#x0D;&#x0A;copy *.png ..\dat\tiles\&#x0D;&#x0A;"
/>
</Configuration>
</Configurations>
diff --git a/crawl-ref/source/contrib/.gitignore b/crawl-ref/source/contrib/.gitignore
index 849627de30..4457c4298a 100644
--- a/crawl-ref/source/contrib/.gitignore
+++ b/crawl-ref/source/contrib/.gitignore
@@ -1,2 +1,6 @@
# Xcode build outputs
Frameworks
+
+# Visual C++ outputs
+bin
+obj
diff --git a/crawl-ref/source/contrib/Common.vsprops b/crawl-ref/source/contrib/Common.vsprops
new file mode 100644
index 0000000000..3c63883009
--- /dev/null
+++ b/crawl-ref/source/contrib/Common.vsprops
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="Common"
+ OutputDirectory="$(SolutionDir)\bin\8.0\$(PlatformName)"
+ IntermediateDirectory="$(SolutionDir)\obj\$(ProjectName)\$(ConfigurationName)"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="C:\SDKs\DirectX\Include;C:\SDKs\Windows\v6.1\Include;C:\SDKs\OpenAL\include;C:\SDKs\OpenGL\include"
+ PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE"
+ StringPooling="true"
+ MinimalRebuild="true"
+ ExceptionHandling="0"
+ BufferSecurityCheck="false"
+ ProgramDataBaseFileName="$(TargetDir)$(TargetName).pdb"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalLibraryDirectories="../../contrib/bin/8.0/$(PlatformName)"
+ GenerateDebugInformation="true"
+ />
+</VisualStudioPropertySheet>
diff --git a/crawl-ref/source/contrib/Contribs.sln b/crawl-ref/source/contrib/Contribs.sln
new file mode 100644
index 0000000000..7aba8fd4d7
--- /dev/null
+++ b/crawl-ref/source/contrib/Contribs.sln
@@ -0,0 +1,133 @@
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "freetype\builds\win32\vc2005\freetype.vcproj", "{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpng", "libpng\projects\visualc8\libpng.vcproj", "{69C22A64-61EF-4206-816C-6D36766652A6}"
+ ProjectSection(ProjectDependencies) = postProject
+ {3D9F174B-2909-4834-A3D7-892E8D442A5D} = {3D9F174B-2909-4834-A3D7-892E8D442A5D}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL", "sdl\VisualC\SDL\SDL.vcproj", "{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL_image", "sdl-image\VisualC\SDL_image.vcproj", "{2BD5534E-00E2-4BEA-AC96-D9A92EA24696}"
+ ProjectSection(ProjectDependencies) = postProject
+ {69C22A64-61EF-4206-816C-6D36766652A6} = {69C22A64-61EF-4206-816C-6D36766652A6}
+ {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68} = {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lua", "lua\src\lua.vcproj", "{A61349B6-4099-4688-AA1A-00D91397857D}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite", "sqlite\sqlite.vcproj", "{5783572B-479A-4EE8-8F16-1FDB24DDD1A0}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pcre", "pcre\pcre.vcproj", "{A0FDC72E-0BE5-4542-B381-6A482DAC2125}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "zlib\projects\visualc2005\zlib.vcproj", "{3D9F174B-2909-4834-A3D7-892E8D442A5D}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDLmain", "sdl\VisualC\SDLmain\SDLmain.vcproj", "{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release_NoSTDIO|Win32 = Release_NoSTDIO|Win32
+ Release_NoSTDIO|x64 = Release_NoSTDIO|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|Win32.ActiveCfg = Debug Multithreaded|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|Win32.Build.0 = Debug Multithreaded|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|x64.ActiveCfg = Debug|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release_NoSTDIO|Win32.ActiveCfg = Release Singlethreaded|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release_NoSTDIO|Win32.Build.0 = Release Singlethreaded|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release_NoSTDIO|x64.ActiveCfg = Release Singlethreaded|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|Win32.ActiveCfg = Release Multithreaded|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|Win32.Build.0 = Release Multithreaded|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|x64.ActiveCfg = Release|Win32
+ {69C22A64-61EF-4206-816C-6D36766652A6}.Debug|Win32.ActiveCfg = LIB ASM Debug|Win32
+ {69C22A64-61EF-4206-816C-6D36766652A6}.Debug|Win32.Build.0 = LIB ASM Debug|Win32
+ {69C22A64-61EF-4206-816C-6D36766652A6}.Debug|x64.ActiveCfg = DLL VB|Win32
+ {69C22A64-61EF-4206-816C-6D36766652A6}.Release_NoSTDIO|Win32.ActiveCfg = LIB ASM Debug|Win32
+ {69C22A64-61EF-4206-816C-6D36766652A6}.Release_NoSTDIO|Win32.Build.0 = LIB ASM Debug|Win32
+ {69C22A64-61EF-4206-816C-6D36766652A6}.Release_NoSTDIO|x64.ActiveCfg = LIB ASM Debug|Win32
+ {69C22A64-61EF-4206-816C-6D36766652A6}.Release|Win32.ActiveCfg = LIB ASM Release|Win32
+ {69C22A64-61EF-4206-816C-6D36766652A6}.Release|Win32.Build.0 = LIB ASM Release|Win32
+ {69C22A64-61EF-4206-816C-6D36766652A6}.Release|x64.ActiveCfg = LIB ASM Debug|Win32
+ {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|Win32.ActiveCfg = Debug|Win32
+ {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|Win32.Build.0 = Debug|Win32
+ {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|x64.ActiveCfg = Debug|x64
+ {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|x64.Build.0 = Debug|x64
+ {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release_NoSTDIO|Win32.ActiveCfg = Release|x64
+ {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release_NoSTDIO|x64.ActiveCfg = Release|x64
+ {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release_NoSTDIO|x64.Build.0 = Release|x64
+ {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|Win32.ActiveCfg = Release|Win32
+ {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|Win32.Build.0 = Release|Win32
+ {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|x64.ActiveCfg = Release|x64
+ {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|x64.Build.0 = Release|x64
+ {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Debug|Win32.Build.0 = Debug|Win32
+ {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Debug|x64.ActiveCfg = Debug|x64
+ {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Debug|x64.Build.0 = Debug|x64
+ {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Release_NoSTDIO|Win32.ActiveCfg = Release|x64
+ {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Release_NoSTDIO|x64.ActiveCfg = Release|x64
+ {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Release_NoSTDIO|x64.Build.0 = Release|x64
+ {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Release|Win32.ActiveCfg = Release|Win32
+ {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Release|Win32.Build.0 = Release|Win32
+ {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Release|x64.ActiveCfg = Release|x64
+ {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Release|x64.Build.0 = Release|x64
+ {A61349B6-4099-4688-AA1A-00D91397857D}.Debug|Win32.ActiveCfg = Debug|Win32
+ {A61349B6-4099-4688-AA1A-00D91397857D}.Debug|Win32.Build.0 = Debug|Win32
+ {A61349B6-4099-4688-AA1A-00D91397857D}.Debug|x64.ActiveCfg = Debug|Win32
+ {A61349B6-4099-4688-AA1A-00D91397857D}.Release_NoSTDIO|Win32.ActiveCfg = Release|Win32
+ {A61349B6-4099-4688-AA1A-00D91397857D}.Release_NoSTDIO|Win32.Build.0 = Release|Win32
+ {A61349B6-4099-4688-AA1A-00D91397857D}.Release_NoSTDIO|x64.ActiveCfg = Release|Win32
+ {A61349B6-4099-4688-AA1A-00D91397857D}.Release|Win32.ActiveCfg = Release|Win32
+ {A61349B6-4099-4688-AA1A-00D91397857D}.Release|Win32.Build.0 = Release|Win32
+ {A61349B6-4099-4688-AA1A-00D91397857D}.Release|x64.ActiveCfg = Release|Win32
+ {5783572B-479A-4EE8-8F16-1FDB24DDD1A0}.Debug|Win32.ActiveCfg = Debug|Win32
+ {5783572B-479A-4EE8-8F16-1FDB24DDD1A0}.Debug|Win32.Build.0 = Debug|Win32
+ {5783572B-479A-4EE8-8F16-1FDB24DDD1A0}.Debug|x64.ActiveCfg = Debug|Win32
+ {5783572B-479A-4EE8-8F16-1FDB24DDD1A0}.Release_NoSTDIO|Win32.ActiveCfg = Release|Win32
+ {5783572B-479A-4EE8-8F16-1FDB24DDD1A0}.Release_NoSTDIO|Win32.Build.0 = Release|Win32
+ {5783572B-479A-4EE8-8F16-1FDB24DDD1A0}.Release_NoSTDIO|x64.ActiveCfg = Release|Win32
+ {5783572B-479A-4EE8-8F16-1FDB24DDD1A0}.Release|Win32.ActiveCfg = Release|Win32
+ {5783572B-479A-4EE8-8F16-1FDB24DDD1A0}.Release|Win32.Build.0 = Release|Win32
+ {5783572B-479A-4EE8-8F16-1FDB24DDD1A0}.Release|x64.ActiveCfg = Release|Win32
+ {A0FDC72E-0BE5-4542-B381-6A482DAC2125}.Debug|Win32.ActiveCfg = Debug|Win32
+ {A0FDC72E-0BE5-4542-B381-6A482DAC2125}.Debug|Win32.Build.0 = Debug|Win32
+ {A0FDC72E-0BE5-4542-B381-6A482DAC2125}.Debug|x64.ActiveCfg = Debug|Win32
+ {A0FDC72E-0BE5-4542-B381-6A482DAC2125}.Release_NoSTDIO|Win32.ActiveCfg = Release|Win32
+ {A0FDC72E-0BE5-4542-B381-6A482DAC2125}.Release_NoSTDIO|Win32.Build.0 = Release|Win32
+ {A0FDC72E-0BE5-4542-B381-6A482DAC2125}.Release_NoSTDIO|x64.ActiveCfg = Release|Win32
+ {A0FDC72E-0BE5-4542-B381-6A482DAC2125}.Release|Win32.ActiveCfg = Release|Win32
+ {A0FDC72E-0BE5-4542-B381-6A482DAC2125}.Release|Win32.Build.0 = Release|Win32
+ {A0FDC72E-0BE5-4542-B381-6A482DAC2125}.Release|x64.ActiveCfg = Release|Win32
+ {3D9F174B-2909-4834-A3D7-892E8D442A5D}.Debug|Win32.ActiveCfg = LIB ASM Debug|Win32
+ {3D9F174B-2909-4834-A3D7-892E8D442A5D}.Debug|Win32.Build.0 = LIB ASM Debug|Win32
+ {3D9F174B-2909-4834-A3D7-892E8D442A5D}.Debug|x64.ActiveCfg = DLL Debug|x64
+ {3D9F174B-2909-4834-A3D7-892E8D442A5D}.Debug|x64.Build.0 = DLL Debug|x64
+ {3D9F174B-2909-4834-A3D7-892E8D442A5D}.Release_NoSTDIO|Win32.ActiveCfg = LIB ASM Release|x64
+ {3D9F174B-2909-4834-A3D7-892E8D442A5D}.Release_NoSTDIO|x64.ActiveCfg = LIB ASM Release|x64
+ {3D9F174B-2909-4834-A3D7-892E8D442A5D}.Release_NoSTDIO|x64.Build.0 = LIB ASM Release|x64
+ {3D9F174B-2909-4834-A3D7-892E8D442A5D}.Release|Win32.ActiveCfg = LIB ASM Release|Win32
+ {3D9F174B-2909-4834-A3D7-892E8D442A5D}.Release|Win32.Build.0 = LIB ASM Release|Win32
+ {3D9F174B-2909-4834-A3D7-892E8D442A5D}.Release|x64.ActiveCfg = LIB ASM Release|x64
+ {3D9F174B-2909-4834-A3D7-892E8D442A5D}.Release|x64.Build.0 = LIB ASM Release|x64
+ {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|Win32.ActiveCfg = Debug|Win32
+ {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|Win32.Build.0 = Debug|Win32
+ {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|x64.ActiveCfg = Debug|x64
+ {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|x64.Build.0 = Debug|x64
+ {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release_NoSTDIO|Win32.ActiveCfg = Release_NoSTDIO|Win32
+ {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release_NoSTDIO|Win32.Build.0 = Release_NoSTDIO|Win32
+ {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release_NoSTDIO|x64.ActiveCfg = Release_NoSTDIO|x64
+ {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release_NoSTDIO|x64.Build.0 = Release_NoSTDIO|x64
+ {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|Win32.ActiveCfg = Release|Win32
+ {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|Win32.Build.0 = Release|Win32
+ {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|x64.ActiveCfg = Release|x64
+ {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/crawl-ref/source/contrib/DLL.vsprops b/crawl-ref/source/contrib/DLL.vsprops
new file mode 100644
index 0000000000..d3fcb96538
--- /dev/null
+++ b/crawl-ref/source/contrib/DLL.vsprops
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="Dynamic Link Library"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ PreprocessorDefinitions="__DYNAMIC__"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(SolutionDir)\..\$(ProjectName).dll"
+ ImportLibrary="$(SolutionDir)\bin\8.0\$(PlatformName)\$(ProjectName).lib"
+ />
+</VisualStudioPropertySheet>
diff --git a/crawl-ref/source/contrib/Debug.vsprops b/crawl-ref/source/contrib/Debug.vsprops
new file mode 100644
index 0000000000..6a0b290a64
--- /dev/null
+++ b/crawl-ref/source/contrib/Debug.vsprops
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="Debug"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ RuntimeLibrary="1"
+ />
+</VisualStudioPropertySheet>
diff --git a/crawl-ref/source/contrib/LIB.vsprops b/crawl-ref/source/contrib/LIB.vsprops
new file mode 100644
index 0000000000..87280d5b6a
--- /dev/null
+++ b/crawl-ref/source/contrib/LIB.vsprops
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="Static Library"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ PreprocessorDefinitions="__STATIC__"
+ />
+</VisualStudioPropertySheet>
diff --git a/crawl-ref/source/contrib/Release.vsprops b/crawl-ref/source/contrib/Release.vsprops
new file mode 100644
index 0000000000..701167bc22
--- /dev/null
+++ b/crawl-ref/source/contrib/Release.vsprops
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="Release"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="2"
+ EnableIntrinsicFunctions="true"
+ FavorSizeOrSpeed="1"
+ RuntimeLibrary="0"
+ BufferSecurityCheck="false"
+ AssemblerOutput="4"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="1"
+ />
+</VisualStudioPropertySheet>
diff --git a/crawl-ref/source/contrib/freetype b/crawl-ref/source/contrib/freetype
-Subproject dcd353e633d79b188b854316c1fbc7b722ad39c
+Subproject 3d6a14520699a44a1d5c38490ffa9e3277aac24
diff --git a/crawl-ref/source/contrib/libpng b/crawl-ref/source/contrib/libpng
-Subproject c970ebf5d332c3ac60870266955f74f1ede8383
+Subproject d2547b434bd09ea819abed50934b465f120274e
diff --git a/crawl-ref/source/contrib/lua b/crawl-ref/source/contrib/lua
-Subproject 3b31c62dae61689d5acf66d0a7a7a138bc8e4c9
+Subproject 3a5124b6a7630ba5bb0226a20ae61561b06a7b0
diff --git a/crawl-ref/source/contrib/pcre b/crawl-ref/source/contrib/pcre
-Subproject 5aac4d787bbed8607a326386a8a943f2ca6c0b7
+Subproject c530f39e65b1cb4a9a18b4557a1ec46e1a78a81
diff --git a/crawl-ref/source/contrib/sdl b/crawl-ref/source/contrib/sdl
-Subproject 2166d861a3287daa554b51477b549c4761d4699
+Subproject b17c2c134808ee14e3bf65e886011ce97751848
diff --git a/crawl-ref/source/contrib/sdl-image b/crawl-ref/source/contrib/sdl-image
-Subproject 6ecfa91b8fbfc0583c99a4338d600da373bfe6f
+Subproject 98d5c63aa3178c1704663000b57b8f1f31360f9
diff --git a/crawl-ref/source/contrib/sqlite b/crawl-ref/source/contrib/sqlite
-Subproject 702864caabf71939b3747d6f9aba6a67fb4f501
+Subproject 6316c9fe38d295b36773db1bfcb2e7c8971cbe0
diff --git a/crawl-ref/source/contrib/zlib b/crawl-ref/source/contrib/zlib
new file mode 160000
+Subproject e8eae3783f019b8ebb7dcca47e61da41dbcae1b
diff --git a/crawl-ref/source/msvc.h b/crawl-ref/source/msvc.h
index 29a08832f9..b929f53fc8 100644
--- a/crawl-ref/source/msvc.h
+++ b/crawl-ref/source/msvc.h
@@ -1,68 +1,69 @@
-/*
- * File: msvc.h
- * Summary: Header file for MSVC compiles
- * Written by: Paul Du Bois
- */
-
-#ifndef __msvc_h
-#define __msvc_h
-
-#if defined(TARGET_COMPILER_VC)
-
-#include <io.h>
-
-#define fileno _fileno
-#define itoa _itoa
-#define snprintf _snprintf
-#define strcasecmp _stricmp
-#define strdup _strdup
-#define stricmp _stricmp
-#define strlwr _strlwr
-#define strncasecmp _strnicmp
-#define strnicmp _strnicmp
-#define unlink _unlink
-#define ftruncate _chsize
-
-// No va_copy in MSVC
-#if !defined(va_copy)
-#define va_copy(dst, src) \
- ((void) memcpy(&(dst), &(src), sizeof(va_list)))
-#endif
-
-#pragma warning( disable : 4290 )
-#pragma warning( disable : 4351 )
-// bool -> int
-#pragma warning( disable : 4800 )
-
-// struct vs class XXX: fix these some day!
-#pragma warning( disable : 4099 )
-
-// truncating conversions XXX: fix these too!
-#pragma warning( disable : 4244 )
-
-
-// ----------------------------------------------------------------------
-// dirent.h replacement
-// ----------------------------------------------------------------------
-
-#define DT_DIR 4
-#define DT_REG 8
-
-struct DIR;
-struct dirent
-{
- // ino_t d_ino;
- unsigned short d_reclen;
- unsigned char d_type;
- unsigned short d_namlen;
- char d_name[255];
-};
-
-DIR* opendir(const char* path);
-dirent* readdir(DIR*);
-int closedir(DIR*);
-
-
+/*
+ * File: msvc.h
+ * Summary: Header file for MSVC compiles
+ * Written by: Paul Du Bois
+ */
+
+#ifndef __msvc_h
+#define __msvc_h
+
+#if defined(TARGET_COMPILER_VC)
+
+#include <io.h>
+
+#define fileno _fileno
+#define itoa _itoa
+#define snprintf _snprintf
+#define strcasecmp _stricmp
+#define strdup _strdup
+#define stricmp _stricmp
+#define strlwr _strlwr
+#define strncasecmp _strnicmp
+#define strnicmp _strnicmp
+#define unlink _unlink
+#define ftruncate _chsize
+#define putenv _putenv
+
+// No va_copy in MSVC
+#if !defined(va_copy)
+#define va_copy(dst, src) \
+ ((void) memcpy(&(dst), &(src), sizeof(va_list)))
+#endif
+
+#pragma warning( disable : 4290 )
+#pragma warning( disable : 4351 )
+// bool -> int
+#pragma warning( disable : 4800 )
+
+// struct vs class XXX: fix these some day!
+#pragma warning( disable : 4099 )
+
+// truncating conversions XXX: fix these too!
+#pragma warning( disable : 4244 )
+
+
+// ----------------------------------------------------------------------
+// dirent.h replacement
+// ----------------------------------------------------------------------
+
+#define DT_DIR 4
+#define DT_REG 8
+
+struct DIR;
+struct dirent
+{
+ // ino_t d_ino;
+ unsigned short d_reclen;
+ unsigned char d_type;
+ unsigned short d_namlen;
+ char d_name[255];
+};
+
+DIR* opendir(const char* path);
+dirent* readdir(DIR*);
+int closedir(DIR*);
+
+
#endif /* defined(TARGET_COMPILER_VC) */
-
+
#endif