From beaae8ac45a2f322a792404092d4482065bef7ef Mon Sep 17 00:00:00 2001 From: Joe Ludwig Date: Tue, 3 Dec 2013 08:54:16 -0800 Subject: Updated the SDK with the latest code from the TF and HL2 branches * Adds support for Visual Studio 2012 and 2013 * VR Mode: . Switches from headtrack.dll to sourcevr.dll . Improved readability of the UI in VR . Removed the IPD calibration tool. TF2 will now obey the Oculus configuration file. Use the Oculus calibration tool in your SDK or install and run "OpenVR" under Tools in Steam to calibrate your IPD. . Added dropdown to enable VR mode in the Video options. Removed the -vr command line option. . Added the ability to switch in and out of VR mode without quitting the game . By default VR mode will run full screen. To switch back to a borderless window set the vr_force_windowed convar. . Added support for VR mode on Linux * Many assorted bug fixes and other changes from Team Fortress in various shared files --- mp/src/vpc_scripts/platform_dirs.vpc | 2 +- mp/src/vpc_scripts/source_dll_win32_base.vpc | 19 ++++++++++++++++++- mp/src/vpc_scripts/source_dll_win32_debug.vpc | 9 +++++---- mp/src/vpc_scripts/source_dll_win32_release.vpc | 9 +++++---- mp/src/vpc_scripts/source_exe_win_win32_base.vpc | 18 +++++++++++++++++- mp/src/vpc_scripts/source_exe_win_win32_debug.vpc | 8 +++++--- mp/src/vpc_scripts/source_exe_win_win32_release.vpc | 6 ++++-- mp/src/vpc_scripts/source_lib_win32_base.vpc | 2 +- mp/src/vpc_scripts/source_lib_win32_debug.vpc | 5 +---- mp/src/vpc_scripts/source_lib_win32_release.vpc | 6 ++---- mp/src/vpc_scripts/source_win32_base.vpc | 17 +++++++++++------ 11 files changed, 70 insertions(+), 31 deletions(-) (limited to 'mp/src/vpc_scripts') diff --git a/mp/src/vpc_scripts/platform_dirs.vpc b/mp/src/vpc_scripts/platform_dirs.vpc index 60c795c2..65d0b979 100644 --- a/mp/src/vpc_scripts/platform_dirs.vpc +++ b/mp/src/vpc_scripts/platform_dirs.vpc @@ -1,4 +1,4 @@ -$Macro PLATSUBDIR "\." [$WIN32] +$Macro PLATSUBDIR "\." [$WIN32] $Macro PLATSUBDIR "\x64" [$WIN64] $Macro PLATSUBDIR "\." [$X360] $Macro PLATSUBDIR "\linux32" [$LINUX32] diff --git a/mp/src/vpc_scripts/source_dll_win32_base.vpc b/mp/src/vpc_scripts/source_dll_win32_base.vpc index fea67c51..1507687e 100644 --- a/mp/src/vpc_scripts/source_dll_win32_base.vpc +++ b/mp/src/vpc_scripts/source_dll_win32_base.vpc @@ -39,7 +39,7 @@ $Configuration $Compiler [$WIN32] { - $EnableEnhancedInstructionSet "Streaming SIMD Extensions 2 (/arch:SSE2)" + $EnableEnhancedInstructionSet "Streaming SIMD Extensions (/arch:SSE)" } $Linker @@ -103,6 +103,23 @@ $Project } } } + + // Implement __imp__EncodePointer and __imp__DecodePointer so that we can run on XP SP1 + // when building with VS 2010. + $File "$SRCDIR\public\tier0\pointeroverride.asm" [$WIN32 && $VS2010] + { + $Configuration + { + $CustomBuildStep + { + // General + $CommandLine "$QUOTE$(VCInstallDir)bin\ml.exe$QUOTE /safeseh /c /Cp /Zi /Fo$QUOTE$(IntDir)\$(InputName).obj$QUOTE $QUOTE$(InputPath)$QUOTE" + $Description "Compiling pointeroverride.asm" + $Outputs "$(IntDir)\$(InputName).obj" + } + } + } + $File "$SRCDIR\common\debug_dll_check.cpp" [!$SOURCESDK] { $Configuration diff --git a/mp/src/vpc_scripts/source_dll_win32_debug.vpc b/mp/src/vpc_scripts/source_dll_win32_debug.vpc index f6e18696..aa8ebf13 100644 --- a/mp/src/vpc_scripts/source_dll_win32_debug.vpc +++ b/mp/src/vpc_scripts/source_dll_win32_debug.vpc @@ -74,7 +74,7 @@ $Configuration "Debug" $WholeProgramOptimization // Preprocessor - $PreprocessorDefinitions "$BASE;_HAS_ITERATOR_DEBUGGING=0;WIN32;_WIN32;_DEBUG;DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE" + $PreprocessorDefinitions "$BASE;_HAS_ITERATOR_DEBUGGING=0;WIN32;_WIN32;_DEBUG;DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_ALLOW_RUNTIME_LIBRARY_MISMATCH;_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH;_ALLOW_MSC_VER_MISMATCH;%(PreprocessorDefinitions)" $IgnoreStandardIncludePath $GeneratePreprocessedFile $KeepComments @@ -132,8 +132,7 @@ $Configuration "Debug" $OmitDefaultLibraryNames $ErrorReporting "Prompt Immediately (/errorReport:prompt)" - // Command Line (L4D adding /MP) - $AdditionalOptions "/MP /Zm200" + $AdditionalOptions "/Zm200" } $Linker @@ -225,6 +224,8 @@ $Configuration "Debug" $DelaySign $ErrorReporting "Prompt Immediately (/ERRORREPORT:PROMPT)" $CLRUnmanagedCodeCheck + // SAFE_SEH should always be disabled on debug builds. + $ImageHasSafeExceptionHandlers "false" // Command Line $AdditionalOptions @@ -283,7 +284,7 @@ $Configuration "Debug" $Resources { // General - $PreprocessorDefinitions "$BASE;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE" + $PreprocessorDefinitions "$BASE;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)" $Culture "English (United States) (0x409)" $AdditionalIncludeDirectories $IgnoreStandardIncludePath diff --git a/mp/src/vpc_scripts/source_dll_win32_release.vpc b/mp/src/vpc_scripts/source_dll_win32_release.vpc index fb17d0fb..916045f5 100644 --- a/mp/src/vpc_scripts/source_dll_win32_release.vpc +++ b/mp/src/vpc_scripts/source_dll_win32_release.vpc @@ -81,7 +81,7 @@ $Configuration "Release" $WholeProgramOptimization // Preprocessor - $PreprocessorDefinitions "$BASE;WIN32;_WIN32;NDEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE" + $PreprocessorDefinitions "$BASE;WIN32;_WIN32;NDEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_ALLOW_RUNTIME_LIBRARY_MISMATCH;_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH;_ALLOW_MSC_VER_MISMATCH;%(PreprocessorDefinitions)" $PreprocessorDefinitions "$BASE;RELEASE_ASSERTS" [$RELEASEASSERTS] $IgnoreStandardIncludePath $GeneratePreprocessedFile @@ -141,8 +141,7 @@ $Configuration "Release" $OmitDefaultLibraryNames $ErrorReporting "Prompt Immediately (/errorReport:prompt)" - // Command Line (L4D adding /MP) - $AdditionalOptions "/MP /Zm200" + $AdditionalOptions "/Zm200" // Enable extra debugging information. $AdditionalOptions "$BASE /d2Zi+" [$VS2010] $AdditionalOptions "$BASE /Oy-" [$NOFPO] @@ -248,6 +247,8 @@ $Configuration "Release" $DelaySign $ErrorReporting "Prompt Immediately (/ERRORREPORT:PROMPT)" $CLRUnmanagedCodeCheck + // Most DLLs cannot yet handle SafeSEH + $ImageHasSafeExceptionHandlers "false" // Command Line $AdditionalOptions @@ -306,7 +307,7 @@ $Configuration "Release" $Resources { // General - $PreprocessorDefinitions "$BASE;NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE" + $PreprocessorDefinitions "$BASE;NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)" $Culture "English (United States) (0x409)" $AdditionalIncludeDirectories $IgnoreStandardIncludePath diff --git a/mp/src/vpc_scripts/source_exe_win_win32_base.vpc b/mp/src/vpc_scripts/source_exe_win_win32_base.vpc index 9a79a68d..22b3896f 100644 --- a/mp/src/vpc_scripts/source_exe_win_win32_base.vpc +++ b/mp/src/vpc_scripts/source_exe_win_win32_base.vpc @@ -39,7 +39,7 @@ $Configuration $Compiler [$WIN32] { - $EnableEnhancedInstructionSet "Streaming SIMD Extensions 2 (/arch:SSE2)" + $EnableEnhancedInstructionSet "Streaming SIMD Extensions (/arch:SSE)" } $Linker @@ -98,6 +98,22 @@ $Project } } } + + // Implement __imp__EncodePointer and __imp__DecodePointer so that we can run on XP SP1 + // when building with VS 2010. + $File "$SRCDIR\public\tier0\pointeroverride.asm" [$WIN32 && $VS2010] + { + $Configuration + { + $CustomBuildStep + { + // General + $CommandLine "$QUOTE$(VCInstallDir)bin\ml.exe$QUOTE /c /Cp /Zi /Fo$QUOTE$(IntDir)\$(InputName).obj$QUOTE $QUOTE$(InputPath)$QUOTE" + $Description "Compiling pointeroverride.asm" + $Outputs "$(IntDir)\$(InputName).obj" + } + } + } } $Folder "Link Libraries" diff --git a/mp/src/vpc_scripts/source_exe_win_win32_debug.vpc b/mp/src/vpc_scripts/source_exe_win_win32_debug.vpc index 725883ed..302d80e9 100644 --- a/mp/src/vpc_scripts/source_exe_win_win32_debug.vpc +++ b/mp/src/vpc_scripts/source_exe_win_win32_debug.vpc @@ -74,7 +74,7 @@ $Configuration "Debug" $WholeProgramOptimization // Preprocessor - $PreprocessorDefinitions "$BASE;_HAS_ITERATOR_DEBUGGING=0;WIN32;_WIN32;_DEBUG;DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE" + $PreprocessorDefinitions "$BASE;_HAS_ITERATOR_DEBUGGING=0;WIN32;_WIN32;_DEBUG;DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_ALLOW_RUNTIME_LIBRARY_MISMATCH;_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH;_ALLOW_MSC_VER_MISMATCH;%(PreprocessorDefinitions)" $IgnoreStandardIncludePath $GeneratePreprocessedFile $KeepComments @@ -229,6 +229,8 @@ $Configuration "Debug" $DelaySign $ErrorReporting "Prompt Immediately (/ERRORREPORT:PROMPT)" $CLRUnmanagedCodeCheck + // SAFE_SEH should always be disabled on debug builds. + $ImageHasSafeExceptionHandlers "false" // Command Line $AdditionalOptions @@ -287,7 +289,7 @@ $Configuration "Debug" $Resources { // General - $PreprocessorDefinitions "_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE" + $PreprocessorDefinitions "_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)" $Culture "English (United States) (0x409)" $AdditionalIncludeDirectories $IgnoreStandardIncludePath @@ -327,4 +329,4 @@ $Configuration "Debug" $Outputs $AdditionalDependencies } -} \ No newline at end of file +} diff --git a/mp/src/vpc_scripts/source_exe_win_win32_release.vpc b/mp/src/vpc_scripts/source_exe_win_win32_release.vpc index 6f74c508..d3370146 100644 --- a/mp/src/vpc_scripts/source_exe_win_win32_release.vpc +++ b/mp/src/vpc_scripts/source_exe_win_win32_release.vpc @@ -81,7 +81,7 @@ $Configuration "Release" $WholeProgramOptimization // Preprocessor - $PreprocessorDefinitions "$BASE;WIN32;_WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE" + $PreprocessorDefinitions "$BASE;WIN32;_WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_ALLOW_RUNTIME_LIBRARY_MISMATCH;_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH;_ALLOW_MSC_VER_MISMATCH;%(PreprocessorDefinitions)" $PreprocessorDefinitions "$BASE;RELEASE_ASSERTS" [$RELEASEASSERTS] $IgnoreStandardIncludePath $GeneratePreprocessedFile @@ -247,6 +247,8 @@ $Configuration "Release" $DelaySign $ErrorReporting "Prompt Immediately (/ERRORREPORT:PROMPT)" $CLRUnmanagedCodeCheck + // Most DLLs cannot yet handle SafeSEH + $ImageHasSafeExceptionHandlers "false" // Command Line $AdditionalOptions @@ -305,7 +307,7 @@ $Configuration "Release" $Resources { // General - $PreprocessorDefinitions "NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE" + $PreprocessorDefinitions "NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)" $Culture "English (United States) (0x409)" $AdditionalIncludeDirectories $IgnoreStandardIncludePath diff --git a/mp/src/vpc_scripts/source_lib_win32_base.vpc b/mp/src/vpc_scripts/source_lib_win32_base.vpc index 0eb822ab..c5f8e0b5 100644 --- a/mp/src/vpc_scripts/source_lib_win32_base.vpc +++ b/mp/src/vpc_scripts/source_lib_win32_base.vpc @@ -38,7 +38,7 @@ $Configuration $Compiler [$WIN32] { - $EnableEnhancedInstructionSet "Streaming SIMD Extensions 2 (/arch:SSE2)" + $EnableEnhancedInstructionSet "Streaming SIMD Extensions (/arch:SSE)" } $PreBuildEvent diff --git a/mp/src/vpc_scripts/source_lib_win32_debug.vpc b/mp/src/vpc_scripts/source_lib_win32_debug.vpc index cf82df16..cefc44f4 100644 --- a/mp/src/vpc_scripts/source_lib_win32_debug.vpc +++ b/mp/src/vpc_scripts/source_lib_win32_debug.vpc @@ -75,7 +75,7 @@ $Configuration "Debug" $WholeProgramOptimization // Preprocessor - $PreprocessorDefinitions "$BASE;_HAS_ITERATOR_DEBUGGING=0;WIN32;_WIN32;_DEBUG;DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE" + $PreprocessorDefinitions "$BASE;_HAS_ITERATOR_DEBUGGING=0;WIN32;_WIN32;_DEBUG;DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_ALLOW_RUNTIME_LIBRARY_MISMATCH;_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH;_ALLOW_MSC_VER_MISMATCH;%(PreprocessorDefinitions)" $IgnoreStandardIncludePath $GeneratePreprocessedFile $KeepComments @@ -136,9 +136,6 @@ $Configuration "Debug" $UseFullPaths "Yes (/FC)" $OmitDefaultLibraryNames $ErrorReporting "Prompt Immediately (/errorReport:prompt)" - - // Command Line (L4D adding /MP) - $AdditionalOptions "/MP" [$VS2005] } $Librarian diff --git a/mp/src/vpc_scripts/source_lib_win32_release.vpc b/mp/src/vpc_scripts/source_lib_win32_release.vpc index c87a13b7..b6f54059 100644 --- a/mp/src/vpc_scripts/source_lib_win32_release.vpc +++ b/mp/src/vpc_scripts/source_lib_win32_release.vpc @@ -82,7 +82,7 @@ $Configuration "Release" $WholeProgramOptimization // Preprocessor - $PreprocessorDefinitions "$BASE;WIN32;_WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE" + $PreprocessorDefinitions "$BASE;WIN32;_WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_ALLOW_RUNTIME_LIBRARY_MISMATCH;_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH;_ALLOW_MSC_VER_MISMATCH;%(PreprocessorDefinitions)" $PreprocessorDefinitions "$BASE;RELEASE_ASSERTS" [$RELEASEASSERTS] $IgnoreStandardIncludePath $GeneratePreprocessedFile @@ -142,10 +142,8 @@ $Configuration "Release" $OmitDefaultLibraryNames $ErrorReporting "Prompt Immediately (/errorReport:prompt)" - // Command Line (L4D adding /MP) - $AdditionalOptions "/MP" // Enable extra debugging information. - $AdditionalOptions "$BASE /d2Zi+" [$VS2010] + $AdditionalOptions "/d2Zi+" [$VS2010] $AdditionalOptions "$BASE /Oy-" [$NOFPO] } diff --git a/mp/src/vpc_scripts/source_win32_base.vpc b/mp/src/vpc_scripts/source_win32_base.vpc index 60968484..3749a07a 100644 --- a/mp/src/vpc_scripts/source_win32_base.vpc +++ b/mp/src/vpc_scripts/source_win32_base.vpc @@ -3,8 +3,10 @@ $Configuration $General { // Request a specific compiler toolset. - $PlatformToolset "v110" [$VS2012] // VS 11 - $PlatformToolset "v120" [$VS2013] // VS 12 + $PlatformToolset "v110_xp" [$VS2012 && !$ANALYZE] // VS 2012 targeting Windows XP - http://msdn.microsoft.com/en-us/library/vstudio/jj851139.aspx + $PlatformToolset "v110" [$VS2012 && $ANALYZE] // VS 2012 for /analyze + $PlatformToolset "v120_xp" [$VS2013 && !$ANALYZE] // VS 2013 targeting Windows XP - http://msdn.microsoft.com/en-us/library/vstudio/jj851139.aspx + $PlatformToolset "v120" [$VS2013 && $ANALYZE] // VS 2013 for /analyze } $General @@ -15,16 +17,17 @@ $Configuration // VS 2012 compiles fine but does not link. We want to redirect to stub versions of // the tools (like link.exe and mt.exe) so that the link stage will be NOPed when // doing /analyze builds. - $ExecutableDirectories "$SRCDIR\devtools\vs_nop_tools;$BASE" [$ANALYZE && ($VS2012 || $VS2013)] + $ExecutableDirectories "$SRCDIR\devtools\vs_nop_tools;$BASE" [$ANALYZE] } $Compiler { + $MultiProcessorCompilation "True" + // warning C4316: object allocated on the heap may not be aligned 16 $DisableSpecificWarnings "$BASE;4316" [$VS2013] - // When using /analyze (triggered with /define:ANALYZE on the vpc command line) we want - // to use /MP but not at its most aggressive setting, and we want to forcibly disable lots + // When using /analyze (triggered with /define:ANALYZE on the vpc command line) we want to forcibly disable lots // of warnings (also disabled in platform.h but not everybody includes that). // See platform.h for the list of warnings with explanations. // warning C6318: Ill-defined __try/__except: use of the constant EXCEPTION_CONTINUE_SEARCH -- bogus @@ -33,7 +36,9 @@ $Configuration // Note that /analyze for VS 2010 only works with the 32-bit compiler, but for VS 2012 it works on 64-bit // as well. $DisableSpecificWarnings "$BASE;6308;6255;6387;6309;6011;6211;6031;6326;6239;6285;6237;6235;6240;6323;6326;6335;6320;6250;6384;6318;6322" [$ANALYZE] - $AdditionalOptions "$BASE /MP3 /analyze /analyze:stacksize100000" [$ANALYZE] + // See http://randomascii.wordpress.com/2011/10/04/analyzecommand-line-options/ for details on these options. + // /analyze:only may result in fewer warnings being reported, but the warnings it misses should show up in the regular build. + $AdditionalOptions "$BASE /analyze /analyze:only /analyze:stacksize100000" [$ANALYZE] // Specify /define:ALLOWSHADOWING to suppress variable shadowing warnings $DisableSpecificWarnings "$BASE;6244;6246" [$ANALYZE && $ALLOWSHADOWING] -- cgit v1.2.3