diff --git a/build.md b/build.md index 1871284..91f045e 100644 --- a/build.md +++ b/build.md @@ -5,8 +5,8 @@ There are 3 supported build toolchains: - Visual C++ on Windows x64 and x86 -- GCC on Linux x64 -- GCC on FreeBSD x64 +- GCC or Clang on Linux x64 +- Clang or GCC on FreeBSD x64 ## Directories @@ -22,6 +22,9 @@ There are 3 supported build toolchains: - The %QUAKE3DIR% environment variable must be defined to the absolute path to copy the .exe and .pdb files to - NASM.exe is in your path for building the client +- One of the following is true: + - The %FXCPATH% environment variable contains the full path to fxc.exe + - The June 2010 DirectX SDK is installed **Options** @@ -42,9 +45,10 @@ Here's an example batch script for opening the Visual Studio solution: cd cnq3\makefiles\windows_vs2013 set QUAKE3DIR=G:\CPMA_tests set CPMADIR=cpma_dev +set FXCPATH=C:\Program Files (x86)\Windows Kits\8.1\bin\x64\fxc.exe cnq3.sln ``` -With this set-up, you can press F5 and run the engine on the right q3 install and right mod folder immediately. +With this set-up, you can press F5 and run the engine through the Visual C++ debugger on the right q3 install and right mod folder immediately. ## Building on Linux / FreeBSD with GCC @@ -54,8 +58,7 @@ With this set-up, you can press F5 and run the engine on the right q3 install an |:------|:------:|:------:|:---------------|:----------------| | NASM | X | X | nasm | nasm | | SDL 2 | | X | libsdl2-dev | sdl2 | - - On FreeBSD, we link against libexecinfo for the backtrace functions. We thus require FreeBSD 10.0 as a minimum target. + On FreeBSD, we link against libexecinfo for the backtrace functions. We thus require FreeBSD 10.0 or later. **Options** @@ -69,22 +72,31 @@ With this set-up, you can press F5 and run the engine on the right q3 install an **Notes** -- To create the QUAKE3DIR variable in the build shell, you can use `export QUAKE3DIR=~/games/q3`. -- To delete the variable from the build shell, you can use `unset QUAKE3DIR`. +- To create the QUAKE3DIR variable in the build shell, you can use `export QUAKE3DIR=~/games/q3` +- To delete the variable from the build shell, you can use `unset QUAKE3DIR` +- On FreeBSD, Clang is now the default compiler +- For most Linux distros, GCC is still the default compiler +- To force building with Clang, you can use `CC=clang CXX=clang++` as make/gmake arguments +- To force building with GCC, you can use `CC=gcc CXX=g++` as make/gmake arguments +- You don't have to specify $(CPP), it's not used by any of the makefiles ## Environment variables -There are 2 environment variables used for compiling and debugging: +There are 3 environment variables used for compiling and debugging: -| Env. Var. | Meaning | Example | -|:----------|:------------------------|:------------| -| QUAKE3DIR | absolute directory path | C:\Games\Q3 | -| CPMADIR | mod folder name | cpma | +| Env. Var. | Meaning | Example | +|:----------|:------------------------|:--------------------------------------------------------| +| QUAKE3DIR | absolute directory path | C:\Games\Q3 | +| CPMADIR | mod folder name | cpma | +| FXCPATH | full fxc.exe file path | C:\Program Files (x86)\Windows Kits\8.1\bin\x64\fxc.exe | -| Env. Var. | Windows | Linux / FreeBSD | -|:----------|:-----------------------|:----------------| -| QUAKE3DIR | required for building | optional | -| CPMADIR | required for debugging | unused | +| Env. Var. | Windows | Linux / FreeBSD | +|:----------|:-------------------------|:----------------------| +| QUAKE3DIR | required for building | optional for building | +| CPMADIR | required for debugging | unused | +| FXCPATH | required for building(1) | unused | + +1) FXCPATH is optional if you have the June 2010 DirectX SDK installed. ## Building with other compilers diff --git a/makefiles/compile_shader.cmd b/makefiles/compile_shader.cmd new file mode 100644 index 0000000..dd5b8c9 --- /dev/null +++ b/makefiles/compile_shader.cmd @@ -0,0 +1,4 @@ +@echo off +set fxc="%FXCPATH%" +if "%FXCPATH%"=="" set fxc="%DXSDK_DIR%Utilities\\bin\\x86\\fxc.exe" +%fxc% %* \ No newline at end of file diff --git a/makefiles/premake5.lua b/makefiles/premake5.lua index f2cf9c6..fbb1095 100644 --- a/makefiles/premake5.lua +++ b/makefiles/premake5.lua @@ -5,8 +5,8 @@ premake 5.0.0-alpha10 There are 3 supported build toolchains: - Visual C++ on Windows x64 and x86 -- GCC on Linux x64 -- GCC on FreeBSD x64 +- GCC or Clang on Linux x64 +- Clang or GCC on FreeBSD x64 @TODO: prevent UNICODE and _UNICODE from being #define'd with premake @TODO: enable Minimal Rebuild from premake (instead of adding /Gm) @@ -72,15 +72,15 @@ local function WIN_CreateShaderPreBuildCommand(name, shaderType, version, option release = "/O3" } - local fxc_path = "\"$(DXSDK_DIR)Utilities\\bin\\x86\\fxc.exe\"" + local fxc_path = "..\\compile_shader.cmd" local extra_options = "%{extra_fxc_options_map[cfg.buildcfg]}"..options local name_suffix = suffix local target = string.format("%s_%s", shaderType, version) local entry_point = string.format("%s_main", shaderType) local var_name = string.format("g_%s%s_%s", name, name_suffix, shaderType) - local abs_path_hlsl = os.realpath(path_src.."\\renderer\\hlsl") - local input_file_name = string.format("%s\\%s.hlsl", abs_path_hlsl, name) - local output_file_name = string.format("%s\\%s%s_%s.h", abs_path_hlsl, name, name_suffix, shaderType) + local path_hlsl = string.format("%s\\renderer\\hlsl", path.translate(make_path_src)) + local input_file_name = string.format("%s\\%s.hlsl", path_hlsl, name) + local output_file_name = string.format("%s\\%s%s_%s.h", path_hlsl, name, name_suffix, shaderType) return string.format("%s %s /nologo /T %s /E %s /Vn %s /Fh %s %s", fxc_path, input_file_name, target, entry_point, var_name, output_file_name, extra_options) @@ -475,8 +475,11 @@ local function ApplyExeProjectSettings(exeName, server) filter { } if os.is("windows") then prebuildcommands { path.translate(CreateGitPreBuildCommand(".cmd"), "\\") } - postbuildcommands { path.translate(CreateExeCopyPostBuildCommand("copy", exeName, ".exe"), "\\") } - postbuildcommands { path.translate(WIN_CreatePdbCopyPostBuildCommand(exeName), "\\") } + postbuildcommands + { + path.translate(CreateExeCopyPostBuildCommand("copy", exeName, ".exe"), "\\"), + path.translate(WIN_CreatePdbCopyPostBuildCommand(exeName), "\\") + } else prebuildcommands { CreateGitPreBuildCommand(".sh") } postbuildcommands { string.format("if [ -n \"$$%s\" ]; then %s; fi", @@ -752,20 +755,26 @@ solution "cnq3" buildoptions { "-std=c++98" } if os.is("windows") then filter "action:vs*" - prebuildcommands { WIN_CreateShaderPreBuildCommand("generic", "vs", "4_1", "", "") } - prebuildcommands { WIN_CreateShaderPreBuildCommand("generic", "ps", "4_1", "", "") } - prebuildcommands { WIN_CreateShaderPreBuildCommand("generic", "ps", "4_1", " /DCNQ3_A2C=1", "_a") } - prebuildcommands { WIN_CreateShaderPreBuildCommand("generic", "ps", "4_1", " /DCNQ3_DITHER=1", "_d") } - prebuildcommands { WIN_CreateShaderPreBuildCommand("generic", "ps", "4_1", " /DCNQ3_A2C=1 /DCNQ3_DITHER=1", "_ad") } - prebuildcommands { WIN_CreateShaderPreBuildCommand("post", "vs", "4_1", "", "") } - prebuildcommands { WIN_CreateShaderPreBuildCommand("post", "ps", "4_1", "", "") } - prebuildcommands { WIN_CreateShaderPreBuildCommand("dl", "vs", "4_1", "", "") } - prebuildcommands { WIN_CreateShaderPreBuildCommand("dl", "ps", "4_1", "", "") } - prebuildcommands { WIN_CreateShaderPreBuildCommand("sprite", "vs", "4_1", "", "") } - prebuildcommands { WIN_CreateShaderPreBuildCommand("sprite", "ps", "4_1", "", "") } - prebuildcommands { WIN_CreateShaderPreBuildCommand("mip_start", "cs", "5_0", "", "") } - prebuildcommands { WIN_CreateShaderPreBuildCommand("mip_pass", "cs", "5_0", "", "") } - prebuildcommands { WIN_CreateShaderPreBuildCommand("mip_end", "cs", "5_0", "", "") } + local commands = + { + WIN_CreateShaderPreBuildCommand("generic", "vs", "4_1", "", ""), + WIN_CreateShaderPreBuildCommand("generic", "ps", "4_1", "", ""), + WIN_CreateShaderPreBuildCommand("generic", "ps", "4_1", " /DCNQ3_A2C=1", "_a"), + WIN_CreateShaderPreBuildCommand("generic", "ps", "4_1", " /DCNQ3_DITHER=1", "_d"), + WIN_CreateShaderPreBuildCommand("generic", "ps", "4_1", " /DCNQ3_A2C=1 /DCNQ3_DITHER=1", "_ad"), + WIN_CreateShaderPreBuildCommand("post", "vs", "4_1", "", ""), + WIN_CreateShaderPreBuildCommand("post", "ps", "4_1", "", ""), + WIN_CreateShaderPreBuildCommand("dl", "vs", "4_1", "", ""), + WIN_CreateShaderPreBuildCommand("dl", "ps", "4_1", "", ""), + WIN_CreateShaderPreBuildCommand("sprite", "vs", "4_1", "", ""), + WIN_CreateShaderPreBuildCommand("sprite", "ps", "4_1", "", ""), + WIN_CreateShaderPreBuildCommand("mip_start", "cs", "5_0", "", ""), + WIN_CreateShaderPreBuildCommand("mip_pass", "cs", "5_0", "", ""), + WIN_CreateShaderPreBuildCommand("mip_end", "cs", "5_0", "", "") + } + -- premake doesn't want to spit one Command XML element per pre-build command + -- we generate a full single-line batch command to get around that in the saddest way... + prebuildcommands { table.concat(commands, " && ") } end project "libjpeg-turbo" diff --git a/makefiles/windows_vs2013/renderer.vcxproj b/makefiles/windows_vs2013/renderer.vcxproj index c9f21ab..fd22d27 100644 --- a/makefiles/windows_vs2013/renderer.vcxproj +++ b/makefiles/windows_vs2013/renderer.vcxproj @@ -117,20 +117,7 @@ %(AdditionalOptions) - "$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_generic_vs /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic_vs.h /O0 /Zi -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_ps /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic_ps.h /O0 /Zi -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_a_ps /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic_a_ps.h /O0 /Zi /DCNQ3_A2C=1 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_d_ps /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic_d_ps.h /O0 /Zi /DCNQ3_DITHER=1 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_ad_ps /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic_ad_ps.h /O0 /Zi /DCNQ3_A2C=1 /DCNQ3_DITHER=1 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\post.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_post_vs /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\post_vs.h /O0 /Zi -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\post.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_post_ps /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\post_ps.h /O0 /Zi -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\dl.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_dl_vs /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\dl_vs.h /O0 /Zi -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\dl.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_dl_ps /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\dl_ps.h /O0 /Zi -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\sprite.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_sprite_vs /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\sprite_vs.h /O0 /Zi -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\sprite.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_sprite_ps /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\sprite_ps.h /O0 /Zi -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\mip_start.hlsl /nologo /T cs_5_0 /E cs_main /Vn g_mip_start_cs /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\mip_start_cs.h /O0 /Zi -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\mip_pass.hlsl /nologo /T cs_5_0 /E cs_main /Vn g_mip_pass_cs /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\mip_pass_cs.h /O0 /Zi -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\mip_end.hlsl /nologo /T cs_5_0 /E cs_main /Vn g_mip_end_cs /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\mip_end_cs.h /O0 /Zi + ..\compile_shader.cmd ..\..\code\renderer\hlsl\generic.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_generic_vs /Fh ..\..\code\renderer\hlsl\generic_vs.h /O0 /Zi && ..\compile_shader.cmd ..\..\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_ps /Fh ..\..\code\renderer\hlsl\generic_ps.h /O0 /Zi && ..\compile_shader.cmd ..\..\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_a_ps /Fh ..\..\code\renderer\hlsl\generic_a_ps.h /O0 /Zi /DCNQ3_A2C=1 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_d_ps /Fh ..\..\code\renderer\hlsl\generic_d_ps.h /O0 /Zi /DCNQ3_DITHER=1 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_ad_ps /Fh ..\..\code\renderer\hlsl\generic_ad_ps.h /O0 /Zi /DCNQ3_A2C=1 /DCNQ3_DITHER=1 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\post.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_post_vs /Fh ..\..\code\renderer\hlsl\post_vs.h /O0 /Zi && ..\compile_shader.cmd ..\..\code\renderer\hlsl\post.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_post_ps /Fh ..\..\code\renderer\hlsl\post_ps.h /O0 /Zi && ..\compile_shader.cmd ..\..\code\renderer\hlsl\dl.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_dl_vs /Fh ..\..\code\renderer\hlsl\dl_vs.h /O0 /Zi && ..\compile_shader.cmd ..\..\code\renderer\hlsl\dl.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_dl_ps /Fh ..\..\code\renderer\hlsl\dl_ps.h /O0 /Zi && ..\compile_shader.cmd ..\..\code\renderer\hlsl\sprite.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_sprite_vs /Fh ..\..\code\renderer\hlsl\sprite_vs.h /O0 /Zi && ..\compile_shader.cmd ..\..\code\renderer\hlsl\sprite.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_sprite_ps /Fh ..\..\code\renderer\hlsl\sprite_ps.h /O0 /Zi && ..\compile_shader.cmd ..\..\code\renderer\hlsl\mip_start.hlsl /nologo /T cs_5_0 /E cs_main /Vn g_mip_start_cs /Fh ..\..\code\renderer\hlsl\mip_start_cs.h /O0 /Zi && ..\compile_shader.cmd ..\..\code\renderer\hlsl\mip_pass.hlsl /nologo /T cs_5_0 /E cs_main /Vn g_mip_pass_cs /Fh ..\..\code\renderer\hlsl\mip_pass_cs.h /O0 /Zi && ..\compile_shader.cmd ..\..\code\renderer\hlsl\mip_end.hlsl /nologo /T cs_5_0 /E cs_main /Vn g_mip_end_cs /Fh ..\..\code\renderer\hlsl\mip_end_cs.h /O0 /Zi @@ -155,20 +142,7 @@ %(AdditionalOptions) - "$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_generic_vs /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic_vs.h /O0 /Zi -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_ps /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic_ps.h /O0 /Zi -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_a_ps /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic_a_ps.h /O0 /Zi /DCNQ3_A2C=1 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_d_ps /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic_d_ps.h /O0 /Zi /DCNQ3_DITHER=1 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_ad_ps /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic_ad_ps.h /O0 /Zi /DCNQ3_A2C=1 /DCNQ3_DITHER=1 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\post.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_post_vs /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\post_vs.h /O0 /Zi -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\post.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_post_ps /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\post_ps.h /O0 /Zi -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\dl.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_dl_vs /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\dl_vs.h /O0 /Zi -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\dl.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_dl_ps /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\dl_ps.h /O0 /Zi -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\sprite.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_sprite_vs /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\sprite_vs.h /O0 /Zi -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\sprite.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_sprite_ps /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\sprite_ps.h /O0 /Zi -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\mip_start.hlsl /nologo /T cs_5_0 /E cs_main /Vn g_mip_start_cs /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\mip_start_cs.h /O0 /Zi -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\mip_pass.hlsl /nologo /T cs_5_0 /E cs_main /Vn g_mip_pass_cs /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\mip_pass_cs.h /O0 /Zi -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\mip_end.hlsl /nologo /T cs_5_0 /E cs_main /Vn g_mip_end_cs /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\mip_end_cs.h /O0 /Zi + ..\compile_shader.cmd ..\..\code\renderer\hlsl\generic.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_generic_vs /Fh ..\..\code\renderer\hlsl\generic_vs.h /O0 /Zi && ..\compile_shader.cmd ..\..\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_ps /Fh ..\..\code\renderer\hlsl\generic_ps.h /O0 /Zi && ..\compile_shader.cmd ..\..\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_a_ps /Fh ..\..\code\renderer\hlsl\generic_a_ps.h /O0 /Zi /DCNQ3_A2C=1 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_d_ps /Fh ..\..\code\renderer\hlsl\generic_d_ps.h /O0 /Zi /DCNQ3_DITHER=1 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_ad_ps /Fh ..\..\code\renderer\hlsl\generic_ad_ps.h /O0 /Zi /DCNQ3_A2C=1 /DCNQ3_DITHER=1 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\post.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_post_vs /Fh ..\..\code\renderer\hlsl\post_vs.h /O0 /Zi && ..\compile_shader.cmd ..\..\code\renderer\hlsl\post.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_post_ps /Fh ..\..\code\renderer\hlsl\post_ps.h /O0 /Zi && ..\compile_shader.cmd ..\..\code\renderer\hlsl\dl.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_dl_vs /Fh ..\..\code\renderer\hlsl\dl_vs.h /O0 /Zi && ..\compile_shader.cmd ..\..\code\renderer\hlsl\dl.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_dl_ps /Fh ..\..\code\renderer\hlsl\dl_ps.h /O0 /Zi && ..\compile_shader.cmd ..\..\code\renderer\hlsl\sprite.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_sprite_vs /Fh ..\..\code\renderer\hlsl\sprite_vs.h /O0 /Zi && ..\compile_shader.cmd ..\..\code\renderer\hlsl\sprite.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_sprite_ps /Fh ..\..\code\renderer\hlsl\sprite_ps.h /O0 /Zi && ..\compile_shader.cmd ..\..\code\renderer\hlsl\mip_start.hlsl /nologo /T cs_5_0 /E cs_main /Vn g_mip_start_cs /Fh ..\..\code\renderer\hlsl\mip_start_cs.h /O0 /Zi && ..\compile_shader.cmd ..\..\code\renderer\hlsl\mip_pass.hlsl /nologo /T cs_5_0 /E cs_main /Vn g_mip_pass_cs /Fh ..\..\code\renderer\hlsl\mip_pass_cs.h /O0 /Zi && ..\compile_shader.cmd ..\..\code\renderer\hlsl\mip_end.hlsl /nologo /T cs_5_0 /E cs_main /Vn g_mip_end_cs /Fh ..\..\code\renderer\hlsl\mip_end_cs.h /O0 /Zi @@ -203,20 +177,7 @@ %(AdditionalOptions) - "$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_generic_vs /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic_vs.h /O3 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_ps /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic_ps.h /O3 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_a_ps /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic_a_ps.h /O3 /DCNQ3_A2C=1 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_d_ps /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic_d_ps.h /O3 /DCNQ3_DITHER=1 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_ad_ps /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic_ad_ps.h /O3 /DCNQ3_A2C=1 /DCNQ3_DITHER=1 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\post.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_post_vs /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\post_vs.h /O3 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\post.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_post_ps /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\post_ps.h /O3 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\dl.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_dl_vs /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\dl_vs.h /O3 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\dl.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_dl_ps /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\dl_ps.h /O3 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\sprite.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_sprite_vs /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\sprite_vs.h /O3 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\sprite.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_sprite_ps /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\sprite_ps.h /O3 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\mip_start.hlsl /nologo /T cs_5_0 /E cs_main /Vn g_mip_start_cs /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\mip_start_cs.h /O3 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\mip_pass.hlsl /nologo /T cs_5_0 /E cs_main /Vn g_mip_pass_cs /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\mip_pass_cs.h /O3 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\mip_end.hlsl /nologo /T cs_5_0 /E cs_main /Vn g_mip_end_cs /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\mip_end_cs.h /O3 + ..\compile_shader.cmd ..\..\code\renderer\hlsl\generic.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_generic_vs /Fh ..\..\code\renderer\hlsl\generic_vs.h /O3 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_ps /Fh ..\..\code\renderer\hlsl\generic_ps.h /O3 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_a_ps /Fh ..\..\code\renderer\hlsl\generic_a_ps.h /O3 /DCNQ3_A2C=1 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_d_ps /Fh ..\..\code\renderer\hlsl\generic_d_ps.h /O3 /DCNQ3_DITHER=1 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_ad_ps /Fh ..\..\code\renderer\hlsl\generic_ad_ps.h /O3 /DCNQ3_A2C=1 /DCNQ3_DITHER=1 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\post.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_post_vs /Fh ..\..\code\renderer\hlsl\post_vs.h /O3 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\post.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_post_ps /Fh ..\..\code\renderer\hlsl\post_ps.h /O3 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\dl.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_dl_vs /Fh ..\..\code\renderer\hlsl\dl_vs.h /O3 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\dl.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_dl_ps /Fh ..\..\code\renderer\hlsl\dl_ps.h /O3 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\sprite.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_sprite_vs /Fh ..\..\code\renderer\hlsl\sprite_vs.h /O3 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\sprite.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_sprite_ps /Fh ..\..\code\renderer\hlsl\sprite_ps.h /O3 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\mip_start.hlsl /nologo /T cs_5_0 /E cs_main /Vn g_mip_start_cs /Fh ..\..\code\renderer\hlsl\mip_start_cs.h /O3 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\mip_pass.hlsl /nologo /T cs_5_0 /E cs_main /Vn g_mip_pass_cs /Fh ..\..\code\renderer\hlsl\mip_pass_cs.h /O3 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\mip_end.hlsl /nologo /T cs_5_0 /E cs_main /Vn g_mip_end_cs /Fh ..\..\code\renderer\hlsl\mip_end_cs.h /O3 @@ -252,20 +213,7 @@ %(AdditionalOptions) - "$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_generic_vs /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic_vs.h /O3 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_ps /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic_ps.h /O3 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_a_ps /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic_a_ps.h /O3 /DCNQ3_A2C=1 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_d_ps /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic_d_ps.h /O3 /DCNQ3_DITHER=1 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_ad_ps /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\generic_ad_ps.h /O3 /DCNQ3_A2C=1 /DCNQ3_DITHER=1 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\post.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_post_vs /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\post_vs.h /O3 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\post.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_post_ps /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\post_ps.h /O3 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\dl.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_dl_vs /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\dl_vs.h /O3 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\dl.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_dl_ps /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\dl_ps.h /O3 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\sprite.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_sprite_vs /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\sprite_vs.h /O3 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\sprite.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_sprite_ps /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\sprite_ps.h /O3 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\mip_start.hlsl /nologo /T cs_5_0 /E cs_main /Vn g_mip_start_cs /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\mip_start_cs.h /O3 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\mip_pass.hlsl /nologo /T cs_5_0 /E cs_main /Vn g_mip_pass_cs /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\mip_pass_cs.h /O3 -"$(DXSDK_DIR)Utilities\bin\x86\fxc.exe" C:\Code\cpma_dev\cnq3\code\renderer\hlsl\mip_end.hlsl /nologo /T cs_5_0 /E cs_main /Vn g_mip_end_cs /Fh C:\Code\cpma_dev\cnq3\code\renderer\hlsl\mip_end_cs.h /O3 + ..\compile_shader.cmd ..\..\code\renderer\hlsl\generic.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_generic_vs /Fh ..\..\code\renderer\hlsl\generic_vs.h /O3 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_ps /Fh ..\..\code\renderer\hlsl\generic_ps.h /O3 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_a_ps /Fh ..\..\code\renderer\hlsl\generic_a_ps.h /O3 /DCNQ3_A2C=1 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_d_ps /Fh ..\..\code\renderer\hlsl\generic_d_ps.h /O3 /DCNQ3_DITHER=1 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\generic.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_generic_ad_ps /Fh ..\..\code\renderer\hlsl\generic_ad_ps.h /O3 /DCNQ3_A2C=1 /DCNQ3_DITHER=1 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\post.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_post_vs /Fh ..\..\code\renderer\hlsl\post_vs.h /O3 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\post.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_post_ps /Fh ..\..\code\renderer\hlsl\post_ps.h /O3 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\dl.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_dl_vs /Fh ..\..\code\renderer\hlsl\dl_vs.h /O3 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\dl.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_dl_ps /Fh ..\..\code\renderer\hlsl\dl_ps.h /O3 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\sprite.hlsl /nologo /T vs_4_1 /E vs_main /Vn g_sprite_vs /Fh ..\..\code\renderer\hlsl\sprite_vs.h /O3 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\sprite.hlsl /nologo /T ps_4_1 /E ps_main /Vn g_sprite_ps /Fh ..\..\code\renderer\hlsl\sprite_ps.h /O3 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\mip_start.hlsl /nologo /T cs_5_0 /E cs_main /Vn g_mip_start_cs /Fh ..\..\code\renderer\hlsl\mip_start_cs.h /O3 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\mip_pass.hlsl /nologo /T cs_5_0 /E cs_main /Vn g_mip_pass_cs /Fh ..\..\code\renderer\hlsl\mip_pass_cs.h /O3 && ..\compile_shader.cmd ..\..\code\renderer\hlsl\mip_end.hlsl /nologo /T cs_5_0 /E cs_main /Vn g_mip_end_cs /Fh ..\..\code\renderer\hlsl\mip_end_cs.h /O3