diff --git a/.gitignore b/.gitignore index b9039696dea..7e7cf468401 100644 --- a/.gitignore +++ b/.gitignore @@ -60,3 +60,6 @@ config.cfg [Rr]elease*/ *.pdb .vs/ + +# Default CMake build directory +build/ \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000000..06ce519bc1d --- /dev/null +++ b/Dockerfile @@ -0,0 +1 @@ +FROM registry.gitlab.steamos.cloud/steamrt/soldier/sdk diff --git a/mp/.devcontainer/devcontainer.json b/mp/.devcontainer/devcontainer.json new file mode 100644 index 00000000000..936966adb3a --- /dev/null +++ b/mp/.devcontainer/devcontainer.json @@ -0,0 +1,40 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/docker-existing-dockerfile +{ + "name": "Existing Dockerfile", + "build": { + // Sets the run context to one level up instead of the .devcontainer folder. + "context": "..", + // Update the 'dockerFile' property if you aren't using the standard 'Dockerfile' filename. + "dockerfile": "../../Dockerfile" + }, + "features": { + "ghcr.io/wxw-matt/devcontainer-features/command_runner:0": {} + }, + "customizations": { + "vscode": { + "extensions": [ + "ms-vscode.cpptools", + "ms-vscode.cpptools-extension-pack", + "twxs.cmake", + "ms-vscode.cmake-tools", + "ms-azuretools.vscode-docker" + ] + } + } + + // Features to add to the dev container. More info: https://containers.dev/features. + // "features": {}, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Uncomment the next line to run commands after the container is created. + // "postCreateCommand": "cat /etc/os-release", + + // Configure tool-specific properties. + // "customizations": {}, + + // Uncomment to connect as an existing user other than the container default. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "devcontainer" +} diff --git a/mp/CMakeLists.txt b/mp/CMakeLists.txt new file mode 100644 index 00000000000..9ad5f240c74 --- /dev/null +++ b/mp/CMakeLists.txt @@ -0,0 +1,249 @@ +cmake_minimum_required(VERSION 3.18 FATAL_ERROR) + +set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "" FORCE) + +if (APPLE) + # NOTE: You will need to pass this as a command line parameter for the Xcode generator -DCMAKE_OSX_ARCHITECTURES=i386 + # Also note only Xcode 9.4.1 and earlier support i386 + set(CMAKE_OSX_ARCHITECTURES i386) + set(CMAKE_OSX_DEPLOYMENT_TARGET 10.9) + set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "dwarf-with-dsym") +endif() + +project(SourceSDK2013) + +# For some reason, checking if CMAKE_BUILD_TYPE is defined is unreliable +# So simply check if it's empty instead +if ("${CMAKE_BUILD_TYPE}" STREQUAL "") + set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Build type" FORCE) +endif() + +# Modern VS versions default to C++14 anyway, so make it consistent +# But in the future we may want so support C++20 +set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_VISIBILITY_PRESET hidden) +set_property(GLOBAL PROPERTY USE_FOLDERS ON) + +# This is a way to emulate groups.vgc +set(BUILD_GROUP "game" CACHE STRING "Build Group") + +# For the CMake GUIs that support a combobox list +set_property(CACHE BUILD_GROUP PROPERTY STRINGS + "everything" + "game" + "shaders" +) + +# Which game are we building? +set(BUILD_GAME "hl2mp" CACHE STRING "Build Game") + +set_property( + CACHE BUILD_GAME PROPERTY STRINGS + "hl2mp" # Only hl2mp at the moment +) + +set(SRCDIR "${CMAKE_CURRENT_LIST_DIR}/src") +set(GAMEDIR "${CMAKE_CURRENT_LIST_DIR}/game") +set(THIRDPARTYDIR "${SRCDIR}/thirdparty") + +# Compile options that are populated and set for each target depending on their type +set(ADDITIONAL_COMPILE_OPTIONS_EXE) +set(ADDITIONAL_COMPILE_OPTIONS_DLL) +set(ADDITIONAL_COMPILE_OPTIONS_LIB) + +# Libraries that are linked to for each target depending on their type +set(ADDITIONAL_LINK_LIBRARIES_EXE) +set(ADDITIONAL_LINK_LIBRARIES_DLL) + +# Linker options that are populated and set for each target depending on their type +set(ADDITIONAL_LINK_OPTIONS_EXE) +set(ADDITIONAL_LINK_OPTIONS_DLL) +set(ADDITIONAL_LINK_OPTIONS_LIB) + +# Sources that are added to each target depending on their type +set(ADDITIONAL_SOURCES_EXE) +set(ADDITIONAL_SOURCES_DLL) +set(ADDITIONAL_SOURCES_LIB) + +# Compile definitions that are added to each target depending on their type +set(ADDITIONAL_COMPILE_DEFINITIONS_EXE) +set(ADDITIONAL_COMPILE_DEFINITIONS_DLL) +set(ADDITIONAL_COMPILE_DEFINITIONS_LIB) + +include("_cmake_scripts/pch_skip.cmake") +include("_cmake_scripts/platform_dirs.cmake") +include("_cmake_scripts/base.cmake") +include("_cmake_scripts/video_base.cmake") +include("_cmake_scripts/postbuild.cmake") + +set(LIBPUBLIC "${SRCDIR}/lib/public${PLATSUBDIR}") +set(LIBCOMMON "${SRCDIR}/lib/common${PLATSUBDIR}") + +link_directories( + ${LIBPUBLIC} + ${LIBCOMMON} +) + +include_directories( + "${SRCDIR}/common" + "${SRCDIR}/public" + "${SRCDIR}/public/tier0" + "${SRCDIR}/public/tier1" +) + +add_compile_definitions($<$:DEBUG> $<$:_DEBUG>) +add_compile_definitions($<$:NDEBUG>) + +if (${IS_WINDOWS}) + include("_cmake_scripts/windows_base.cmake") +elseif (${IS_LINUX} OR ${IS_OSX}) + include("_cmake_scripts/posix_base.cmake") +endif() + +include("_cmake_scripts/groups.cmake") + +# Store all targets in a variable name ( See: https://stackoverflow.com/questions/37434946/how-do-i-iterate-over-all-cmake-targets-programmatically/62311397#62311397 ) +function(get_all_targets var) + set(targets) + get_all_targets_recursive(targets ${CMAKE_CURRENT_SOURCE_DIR}) + set(${var} ${targets} PARENT_SCOPE) +endfunction() + +macro(get_all_targets_recursive targets dir) + get_property(subdirectories DIRECTORY ${dir} PROPERTY SUBDIRECTORIES) + foreach(subdir ${subdirectories}) + get_all_targets_recursive(${targets} ${subdir}) + endforeach() + + get_property(current_targets DIRECTORY ${dir} PROPERTY BUILDSYSTEM_TARGETS) + list(APPEND ${targets} ${current_targets}) +endmacro() + +get_all_targets(ALL_TARGETS) + +# Set of helper functions to add defintions/options/libs for each target in a filtered way +function(add_compile_definitions_filtered target definitions) + foreach(additional_definition IN LISTS ${definitions}) + set(SHOULD_EXCLUDE 0) + # Exclude the compile definition if target defines an exclude list + foreach(exclude IN LISTS "${target}_exclude_compile_definitions") + if (${additional_definition} STREQUAL ${exclude}) + set(SHOULD_EXCLUDE 1) + break() + endif() + endforeach() + if (NOT ${SHOULD_EXCLUDE}) + target_compile_definitions(${target} PRIVATE ${additional_definition}) + endif() + endforeach() +endfunction() + + +function(add_compile_options_filtered target options) + foreach(additional_option IN LISTS ${options}) + set(SHOULD_EXCLUDE 0) + # Exclude the compile options if target defines an exclude list + foreach(exclude IN LISTS "${target}_exclude_compile_options") + if (${additional_option} STREQUAL ${exclude}) + set(SHOULD_EXCLUDE 1) + break() + endif() + endforeach() + if (NOT ${SHOULD_EXCLUDE}) + target_compile_options(${target} PRIVATE "$<$:${additional_option}>") + endif() + endforeach() +endfunction() + +function(add_sources_filtered target sources) + foreach(additional_source IN LISTS ${sources}) + set(SHOULD_EXCLUDE 0) + # Exclude the source if target defines an exclude list + foreach(exclude IN LISTS "${target}_exclude_source") + if (${additional_source} STREQUAL ${exclude}) + set(SHOULD_EXCLUDE 1) + break() + endif() + endforeach() + if (NOT ${SHOULD_EXCLUDE}) + target_sources(${target} PRIVATE ${additional_source}) + endif() + endforeach() +endfunction() + +function(add_libraries_filtered target libraries) + foreach(additional_lib IN LISTS ${libraries}) + set(SHOULD_EXCLUDE 0) + # Exclude the lib if target defines an exclude list + foreach(exclude IN LISTS "${target}_exclude_lib") + if (${additional_lib} STREQUAL ${exclude}) + set(SHOULD_EXCLUDE 1) + break() + endif() + endforeach() + if (NOT ${SHOULD_EXCLUDE}) + get_target_property(libraries ${target} LINK_LIBRARIES) + # Don't bother adding it if the target already links it manually + foreach(lib IN LISTS libraries) + if (${additional_lib} STREQUAL ${lib}) + set(SHOULD_EXCLUDE 1) + break() + endif() + endforeach() + endif() + if (NOT ${SHOULD_EXCLUDE}) + target_link_libraries(${target} PRIVATE ${additional_lib}) + endif() + endforeach() +endfunction() + +# Iterates over all the targets and add necessary definitions/options/libs +# This is an incredible hack, but it allows for targets to specify exclude lists +# This allows us to emulate -$File and such from VPC +foreach(target ${ALL_TARGETS}) + # Define an empty exclude list if one isn't defined + if (NOT DEFINED "${target}_exclude_compile_options") + set("${target}_exclude_compile_options") + endif() + + # Define an empty exclude list if one isn't defined + if (NOT DEFINED "${target}_exclude_lib") + set("${target}_exclude_lib") + endif() + + # Define an empty exclude list if one isn't defined + if (NOT DEFINED "${target}_exclude_source") + set("${target}_exclude_source") + endif() + + get_target_property(target_type ${target} TYPE) + if (${target_type} STREQUAL "EXECUTABLE") + add_compile_options_filtered(${target} ADDITIONAL_COMPILE_OPTIONS_EXE) + add_libraries_filtered(${target} ADDITIONAL_LINK_LIBRARIES_EXE) + add_sources_filtered(${target} ADDITIONAL_SOURCES_EXE) + target_link_options(${target} PRIVATE ${ADDITIONAL_LINK_OPTIONS_EXE}) + target_compile_definitions(${target} PRIVATE MEMOVERRIDE_MODULE=$) + add_compile_definitions_filtered(${target} ADDITIONAL_COMPILE_DEFINITIONS_EXE) + + # Only applies to Linux and OSX + target_strip_symbols(${target}) + elseif((${target_type} STREQUAL "SHARED_LIBRARY") OR (${target_type} STREQUAL "MODULE_LIBRARY")) + add_compile_options_filtered(${target} ADDITIONAL_COMPILE_OPTIONS_DLL) + add_libraries_filtered(${target} ADDITIONAL_LINK_LIBRARIES_DLL) + add_sources_filtered(${target} ADDITIONAL_SOURCES_DLL) + target_link_options(${target} PRIVATE ${ADDITIONAL_LINK_OPTIONS_DLL}) + target_compile_definitions(${target} PRIVATE MEMOVERRIDE_MODULE=$ DLLNAME=$) + add_compile_definitions_filtered(${target} ADDITIONAL_COMPILE_DEFINITIONS_DLL) + + # Only applies to Linux and OSX + target_strip_symbols(${target}) + elseif(${target_type} STREQUAL "STATIC_LIBRARY") + add_compile_options_filtered(${target} ADDITIONAL_COMPILE_OPTIONS_LIB) + add_sources_filtered(${target} ADDITIONAL_SOURCES_LIB) + target_link_options(${target} PRIVATE ${ADDITIONAL_LINK_OPTIONS_LIB}) + target_compile_definitions(${target} PRIVATE LIBNAME=$) + add_compile_definitions_filtered(${target} ADDITIONAL_COMPILE_DEFINITIONS_LIB) + endif() + +endforeach() \ No newline at end of file diff --git a/mp/_cmake_scripts/base.cmake b/mp/_cmake_scripts/base.cmake new file mode 100644 index 00000000000..9cbf8b68092 --- /dev/null +++ b/mp/_cmake_scripts/base.cmake @@ -0,0 +1,62 @@ +# base.cmake + +# NOTE: We use 0 or 1 so we can use these more easily in generator expressions +# Initialize them with default values that we then set later + +set(IS_WINDOWS 0) +set(IS_LINUX 0) +set(IS_OSX 0) +set(IS_POSIX 0) + +set(IS_XCODE 0) +set(IS_SOURCESDK 1) + +if (WIN32) + set(IS_WINDOWS 1) +endif() + +if (UNIX AND NOT APPLE) + set(IS_LINUX 1) +endif() + +if (APPLE) + set(IS_OSX 1) + if (${CMAKE_GENERATOR} STREQUAL "Xcode") + set(IS_XCODE 1) + endif() +endif() + +if (UNIX) + set(IS_POSIX 1) +endif() + +if (${IS_WINDOWS}) + set(_DLL_EXT ".dll") + set(STATIC_LIB_EXT ".lib") + set(IMPLIB_EXT ".lib") +elseif (${IS_OSX}) + set(_DLL_EXT ".dylib") + set(STATIC_LIB_EXT ".a") + set(IMPLIB_EXT ".dylib") +elseif(${IS_LINUX}) + set(_DLL_EXT ".so") + set(STATIC_LIB_EXT ".a") + set(IMPLIB_EXT ".so") +endif() + +option(RETAIL "Build in retail mode" OFF) +option(STAGING_ONLY "Staging only" OFF) + +set(RAD_TELEMETRY_DISABLED ${IS_SOURCESDK}) +set(TF_BETA 0) +set(BUILD_REPLAY 0) +set(DEDICATED 0) + +add_compile_definitions( + $<$:_RETAIL> + $<$:STAGING_ONLY> + $<${TF_BETA}:TF_BETA> + $<${RAD_TELEMETRY_DISABLED}:RAD_TELEMETRY_DISABLED> + _DLL_EXT=${_DLL_EXT} + FRAME_POINTER_OMISSION_DISABLED +) \ No newline at end of file diff --git a/mp/_cmake_scripts/groups.cmake b/mp/_cmake_scripts/groups.cmake new file mode 100644 index 00000000000..3f9a82c69ad --- /dev/null +++ b/mp/_cmake_scripts/groups.cmake @@ -0,0 +1,54 @@ +# groups.cmake + +if (${BUILD_GROUP} STREQUAL "game") + + if (${BUILD_GAME} STREQUAL "hl2mp") + include("${SRCDIR}/game/client/client_hl2mp.cmake") + include("${SRCDIR}/game/server/server_hl2mp.cmake") + endif() + + include("${SRCDIR}/mathlib/mathlib.cmake") + include("${SRCDIR}/raytrace/raytrace.cmake") + include("${SRCDIR}/tier1/tier1.cmake") + include("${SRCDIR}/vgui2/vgui_controls/vgui_controls.cmake") +elseif (${BUILD_GROUP} STREQUAL "everything") + + if (${BUILD_GAME} STREQUAL "hl2mp") + include("${SRCDIR}/game/client/client_hl2mp.cmake") + include("${SRCDIR}/game/server/server_hl2mp.cmake") + include("${SRCDIR}/materialsystem/stdshaders/game_shader_dx9_hl2mp.cmake") + endif() + + if (${IS_WINDOWS}) + include("${SRCDIR}/utils/captioncompiler/captioncompiler.cmake") + include("${SRCDIR}/fgdlib/fgdlib.cmake") + include("${SRCDIR}/utils/glview/glview.cmake") + include("${SRCDIR}/utils/height2normal/height2normal.cmake") + include("${SRCDIR}/utils/motionmapper/motionmapper.cmake") + include("${SRCDIR}/utils/qc_eyes/qc_eyes.cmake") + include("${SRCDIR}/utils/tgadiff/tgadiff.cmake") + include("${SRCDIR}/utils/vbsp/vbsp.cmake") + include("${SRCDIR}/utils/vice/vice.cmake") + include("${SRCDIR}/utils/vrad/vrad_dll.cmake") + include("${SRCDIR}/utils/vrad_launcher/vrad_launcher.cmake") + include("${SRCDIR}/utils/vtf2tga/vtf2tga.cmake") + include("${SRCDIR}/utils/vtfdiff/vtfdiff.cmake") + include("${SRCDIR}/utils/vvis/vvis_dll.cmake") + include("${SRCDIR}/utils/vvis_launcher/vvis_launcher.cmake") + endif() + + include("${SRCDIR}/mathlib/mathlib.cmake") + include("${SRCDIR}/raytrace/raytrace.cmake") + include("${SRCDIR}/utils/serverplugin_sample/serverplugin_empty.cmake") + include("${SRCDIR}/tier1/tier1.cmake") + include("${SRCDIR}/vgui2/vgui_controls/vgui_controls.cmake") + +elseif (${BUILD_GROUP} STREQUAL "shaders") + + if (${BUILD_GAME} STREQUAL "hl2mp") + include("${SRCDIR}/materialsystem/stdshaders/game_shader_dx9_hl2mp.cmake") + endif() + + include("${SRCDIR}/mathlib/mathlib.cmake") + include("${SRCDIR}/tier1/tier1.cmake") +endif() \ No newline at end of file diff --git a/mp/_cmake_scripts/msvc_base.cmake b/mp/_cmake_scripts/msvc_base.cmake new file mode 100644 index 00000000000..d4b158480dc --- /dev/null +++ b/mp/_cmake_scripts/msvc_base.cmake @@ -0,0 +1,161 @@ +# msvc_base.cmake + +# If using CMake, we'll require 2015 toolset or greater +if (MSVC_TOOLSET_VERSION LESS 140) + message(FATAL_ERROR "MSVC must use toolset 140 (2015) or greater") +endif() + +if (${CMAKE_SIZEOF_VOID_P} EQUAL 8) + message(FATAL_ERROR "Source SDK 2013 only supports 32-bit generation") +endif() + +# No frame pointer optimization +set(NOFPO 1) + +set(MSVC_LINK_OPTION_IGNORE_DEFAULTLIBS_DEBUG + /NODEFAULTLIB:libc + /NODEFAULTLIB:libcd + /NODEFAULTLIB:libcmt + /NODEFAULTLIB:libcpmt + /NODEFAULTLIB:libcpmt1 +) +set(MSVC_LINK_OPTION_IGNORE_DEFAULTLIBS_RELEASE + /NODEFAULTLIB:libc + /NODEFAULTLIB:libcd + /NODEFAULTLIB:libcmtd + /NODEFAULTLIB:libcpmtd + /NODEFAULTLIB:libcpmtd0 + /NODEFAULTLIB:libcpmtd1 +) + +set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + +add_compile_definitions( + COMPILER_MSVC + _CRT_SECURE_NO_DEPRECATE + _CRT_NONSTDC_NO_DEPRECATE + _ALLOW_RUNTIME_LIBRARY_MISMATCH + _ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH + _ALLOW_MSC_VER_MISMATCH +) + +# Remove default warning level from CMAKE_CXX_FLAGS (This is stupid I know) +string (REGEX REPLACE "/W[0-4]" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + +# Disable C++ exceptions by default +string(REPLACE "/EHsc" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + +string(REPLACE "/Zi" "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") +string(REPLACE "/Zi" "" CMAKE_C_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") + +string(REPLACE "/Ob0" "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") +string(REPLACE "/Ob0" "" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}") + +string(REPLACE "/Ob2" "" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") +string(REPLACE "/Ob2" "" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") + +# These are expanded so that we can pass each option individually to the targets +# So they may choose to exclude them +set( + MSVC_C_AND_CXX_COMPILE_OPTIONS + + # Set warning level + /W4 + + # Treat warnings as errors... someday + #/WX + + # Don't Omit Frame Pointers + "$<${NOFPO}:/Oy->" + + /MP # Multi-processor compilation + /Gw + /Zc:threadSafeInit- + /Zc:__cplusplus + /Zc:preprocessor + /Zc:inline + + # We'll be permissive for now +# /permissive- + + /GR # Enable Run-Time Type Information + /GF # Enable String Pooling + /fp:fast # Floating Point Model + /GS- # Buffer Security Check + + $<$:/Oi> # Enable Intrinsic Functions + $<$:/Ot> # Favor Fast Code + $<$:/Gy> # Enable Function-Level Linking + + # Inline Function Expansion + $<$:/Ob2> + $<$:/Ob0> +) + +add_link_options( + $<$:/DEBUG:FASTLINK> + $<$:/DEBUG:FULL> +) + +list( + APPEND ADDITIONAL_COMPILE_OPTIONS_EXE + $<$:/ZI> + $<$:/Zi> + "${MSVC_C_AND_CXX_COMPILE_OPTIONS}" +) + +list( + APPEND ADDITIONAL_COMPILE_OPTIONS_DLL + $<$:/ZI> + $<$:/Zi> + "${MSVC_C_AND_CXX_COMPILE_OPTIONS}" +) + +list( + APPEND ADDITIONAL_COMPILE_OPTIONS_LIB + $<$:/ZI> + $<$:/Z7> + "${MSVC_C_AND_CXX_COMPILE_OPTIONS}" +) + +list( + APPEND ADDITIONAL_LINK_OPTIONS_EXE + $<$:${MSVC_LINK_OPTION_IGNORE_DEFAULTLIBS_DEBUG}> + $<$:${MSVC_LINK_OPTION_IGNORE_DEFAULTLIBS_RELEASE}> + $<$:/OPT:REF> + $<$:/OPT:ICF> + /SAFESEH:NO + /MANIFEST:NO +) + +list( + APPEND ADDITIONAL_LINK_OPTIONS_DLL + $<$:${MSVC_LINK_OPTION_IGNORE_DEFAULTLIBS_DEBUG}> + $<$:${MSVC_LINK_OPTION_IGNORE_DEFAULTLIBS_RELEASE}> + $<$:/OPT:REF> + $<$:/OPT:ICF> + /SAFESEH:NO + /MANIFEST:NO +) + +list( + APPEND ADDITIONAL_COMPILE_DEFINITIONS_EXE + $<$:_HAS_ITERATOR_DEBUGGING=0> +) + +list( + APPEND ADDITIONAL_COMPILE_DEFINITIONS_DLL + _USRDLL + $<$:_HAS_ITERATOR_DEBUGGING=0> +) + +list( + APPEND ADDITIONAL_COMPILE_DEFINITIONS_LIB + _LIB + $<$:_HAS_ITERATOR_DEBUGGING=0> +) + +list( + APPEND ADDITIONAL_LINK_LIBRARIES_DLL + legacy_stdio_definitions +) \ No newline at end of file diff --git a/mp/_cmake_scripts/pch_skip.cmake b/mp/_cmake_scripts/pch_skip.cmake new file mode 100644 index 00000000000..b20576c1353 --- /dev/null +++ b/mp/_cmake_scripts/pch_skip.cmake @@ -0,0 +1,3 @@ +# pch_skip.cmake + +set_source_files_properties("${SRCDIR}/public/tier0/memoverride.cpp" PROPERTIES SKIP_PRECOMPILE_HEADERS ON) \ No newline at end of file diff --git a/mp/_cmake_scripts/platform_dirs.cmake b/mp/_cmake_scripts/platform_dirs.cmake new file mode 100644 index 00000000000..dca89e5b83d --- /dev/null +++ b/mp/_cmake_scripts/platform_dirs.cmake @@ -0,0 +1,13 @@ +# platform_dirs.cmake + +if (UNIX) + if (APPLE) + set(PLATSUBDIR "/osx32") + else() + set(PLATSUBDIR "/linux32") + endif() +endif() + +if (WIN32) + set(PLATSUBDIR "/.") +endif() \ No newline at end of file diff --git a/mp/_cmake_scripts/posix_base.cmake b/mp/_cmake_scripts/posix_base.cmake new file mode 100644 index 00000000000..7718ef2da06 --- /dev/null +++ b/mp/_cmake_scripts/posix_base.cmake @@ -0,0 +1,92 @@ +# posix_base.cmake + +string(REPLACE "-O3" "-O2" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") +string(REPLACE "-O3" "-O2" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") + +find_package(Threads REQUIRED) + +if (${IS_XCODE}) + if (${CMAKE_SIZEOF_VOID_P} EQUAL 8) + message( + FATAL_ERROR + " Source SDK 2013 only supports 32-bit generation\n" + " Please add -DCMAKE_OSX_ARCHITECTURES=i386 for Xcode generation\n" + " NOTE: Only Xcode 9.4.1 and earlier support i386" + ) + endif() +endif() + +add_compile_options( + -g + -m32 + $<$:-fpermissive> + -fdiagnostics-color + -Wno-narrowing + $<${IS_LINUX}:-U_FORTIFY_SOURCE> + -Usprintf + -Ustrncpy + -UPROTECTED_THINGS_ENABLE + $<${IS_LINUX}:-fabi-compat-version=2> +) + +add_link_options(-m32) + +add_compile_definitions( + _POSIX + POSIX + GNUC + COMPILER_GCC + NO_HOOK_MALLOC + NO_MALLOC_OVERRIDE + $<${IS_LINUX}:_LINUX> + $<${IS_LINUX}:LINUX> + $<${IS_OSX}:_OSX> + $<${IS_OSX}:OSX> + $<${IS_OSX}:_DARWIN_UNLIMITED_SELECT> + $<${IS_OSX}:FD_SETSIZE=10240> + $<${IS_OSX}:OVERRIDE_V_DEFINES> +) + +if (${IS_LINUX}) + if (NOT ${DEDICATED}) + list( + APPEND ADDITIONAL_LINK_OPTIONS_EXE + -Wl,--no-as-needed -ltcmalloc_minimal -Wl,--as-needed + ) + endif() + + # Helps us catch any linker errors from out of order linking or in general + list( + APPEND ADDITIONAL_LINK_OPTIONS_DLL + -Wl,--no-undefined + ) +endif() + +link_libraries( + Threads::Threads + ${CMAKE_DL_LIBS} + $<${IS_LINUX}:m> +) + +if (${IS_LINUX}) + add_link_options( + -static-libgcc + -static-libstdc++ + ) +endif() + +add_compile_options( + $<${IS_LINUX}:-march=pentium4> + -msse2 -mfpmath=sse -mtune=core2 +) + +list( + APPEND ADDITIONAL_LINK_LIBRARIES_DLL + tier0 + tier1 + vstdlib +) + +if (${IS_OSX}) + set(CMAKE_SHARED_MODULE_SUFFIX ".dylib") +endif() \ No newline at end of file diff --git a/mp/_cmake_scripts/postbuild.cmake b/mp/_cmake_scripts/postbuild.cmake new file mode 100644 index 00000000000..811defa6b2b --- /dev/null +++ b/mp/_cmake_scripts/postbuild.cmake @@ -0,0 +1,23 @@ +# postbuild.cmake + +include_guard(GLOBAL) + +function(target_strip_symbols target) + if (${IS_LINUX}) + add_custom_command( + TARGET ${target} POST_BUILD + COMMAND ${CMAKE_OBJCOPY} "$" "$.dbg" + COMMAND ${CMAKE_OBJCOPY} --add-gnu-debuglink="$.dbg" "$" + COMMAND ${CMAKE_STRIP} -x "$" $<$:-S> + ) + endif() + + # Xcode will do this for us through CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT + if (${IS_OSX} AND NOT ${IS_XCODE}) + add_custom_command( + TARGET ${target} POST_BUILD + COMMAND dsymutil "$" + COMMAND ${CMAKE_STRIP} -x "$" + ) + endif() +endfunction() \ No newline at end of file diff --git a/mp/_cmake_scripts/video_base.cmake b/mp/_cmake_scripts/video_base.cmake new file mode 100644 index 00000000000..4c574e15e2b --- /dev/null +++ b/mp/_cmake_scripts/video_base.cmake @@ -0,0 +1,23 @@ +# video_base.cmake + +set(QUICKTIME_WINDOWS 0) + +set(USE_GL 0) +set(USE_SDL 0) + +if (${IS_POSIX} AND NOT ${DEDICATED}) + set(USE_GL 1) + set(USE_SDL 1) +endif() + + +add_compile_definitions( + "$<${IS_OSX}:QUICKTIME_VIDEO;FORCE_QUICKTIME>" + $<$:BINK_VIDEO> + $<${IS_LINUX}:BINK_VIDEO> + AVI_VIDEO + WMV_VIDEO + + "$<${USE_GL}:GL_GLEXT_PROTOTYPES;DX_TO_GL_ABSTRACTION>" + $<${USE_SDL}:USE_SDL> +) \ No newline at end of file diff --git a/mp/_cmake_scripts/windows_base.cmake b/mp/_cmake_scripts/windows_base.cmake new file mode 100644 index 00000000000..9dd81fad5cd --- /dev/null +++ b/mp/_cmake_scripts/windows_base.cmake @@ -0,0 +1,41 @@ +# windows_base.cmake + +add_compile_definitions( + WIN32 + _WIN32 + _WINDOWS +) + +if (MSVC) + include("${CMAKE_CURRENT_LIST_DIR}/msvc_base.cmake") +endif() + +list( + APPEND ADDITIONAL_SOURCES_EXE + "${SRCDIR}/public/tier0/memoverride.cpp" + "$<$:${SRCDIR}/public/windows_default.manifest>" +) + +list( + APPEND ADDITIONAL_SOURCES_DLL + "${SRCDIR}/public/tier0/memoverride.cpp" + "$<$:${SRCDIR}/common/debug_dll_check.cpp>" +) +list( + APPEND ADDITIONAL_SOURCES_LIB + "$<$:${SRCDIR}/common/debug_lib_check.cpp>" +) + +list( + APPEND ADDITIONAL_LINK_LIBRARIES_EXE + tier0 + tier1 + vstdlib +) + +list( + APPEND ADDITIONAL_LINK_LIBRARIES_DLL + tier0 + tier1 + vstdlib +) \ No newline at end of file diff --git a/mp/cmake-variants.yaml b/mp/cmake-variants.yaml new file mode 100644 index 00000000000..0309f182db1 --- /dev/null +++ b/mp/cmake-variants.yaml @@ -0,0 +1,11 @@ +buildType: + default: debug + choices: + debug: + short: Debug + long: Unoptimized debug build + buildType: Debug + release: + short: Release + long: Optimized release build with debug information + buildType: Release \ No newline at end of file diff --git a/mp/src/fgdlib/fgdlib.cmake b/mp/src/fgdlib/fgdlib.cmake new file mode 100644 index 00000000000..6d2527332cd --- /dev/null +++ b/mp/src/fgdlib/fgdlib.cmake @@ -0,0 +1,28 @@ +# fgdlib.cmake + +set(FGDLIB_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + FGDLIB_SOURCE_FILES + + "${FGDLIB_DIR}/gamedata.cpp" + "${FGDLIB_DIR}/gdclass.cpp" + "${FGDLIB_DIR}/gdvar.cpp" + "${FGDLIB_DIR}/inputoutput.cpp" + "${FGDLIB_DIR}/wckeyvalues.cpp" + + # Header Files + "${SRCDIR}/public/fgdlib/fgdlib.h" + "${SRCDIR}/public/fgdlib/gamedata.h" + "${SRCDIR}/public/fgdlib/gdclass.h" + "${SRCDIR}/public/fgdlib/gdvar.h" + "${SRCDIR}/public/fgdlib/helperinfo.h" + "${SRCDIR}/public/fgdlib/ieditortexture.h" + "${SRCDIR}/public/fgdlib/inputoutput.h" + "${SRCDIR}/public/fgdlib/wckeyvalues.h" +) + +add_library(fgdlib STATIC ${FGDLIB_SOURCE_FILES}) +target_include_directories( + fgdlib PRIVATE + "${SRCDIR}/utils/common" +) \ No newline at end of file diff --git a/mp/src/game/client/client_base.cmake b/mp/src/game/client/client_base.cmake new file mode 100644 index 00000000000..88fbd1e110f --- /dev/null +++ b/mp/src/game/client/client_base.cmake @@ -0,0 +1,1237 @@ +# client_base.cmake + +include_guard(GLOBAL) + +set(CLIENT_BASE_DIR ${CMAKE_CURRENT_LIST_DIR}) + +# Replay sources behind BUILD_REPLAY +set( + REPLAY_SOURCE_FILES + "${CLIENT_BASE_DIR}/replay/gamedefs.h" + "${CLIENT_BASE_DIR}/replay/gamedefs.cpp" + "${CLIENT_BASE_DIR}/replay/replay_ragdoll.cpp" + "${CLIENT_BASE_DIR}/replay/replay_ragdoll.h" + "${CLIENT_BASE_DIR}/replay/replay_screenshot.cpp" + "${CLIENT_BASE_DIR}/replay/replay_screenshot.h" + "${CLIENT_BASE_DIR}/replay/replayperformanceplaybackhandler.h" + "${CLIENT_BASE_DIR}/replay/replayperformanceplaybackhandler.cpp" + "${CLIENT_BASE_DIR}/replay/replayrenderer.cpp" + "${CLIENT_BASE_DIR}/replay/replayrenderer.h" + "${CLIENT_BASE_DIR}/replay/replayvideo.cpp" + "${CLIENT_BASE_DIR}/replay/replayvideo.h" + + "${CLIENT_BASE_DIR}/replay/genericclassbased_replay.cpp" + "${CLIENT_BASE_DIR}/replay/genericclassbased_replay.h" + + "${SRCDIR}/game/shared/replay_gamestats_shared.cpp" + "${SRCDIR}/game/shared/replay_gamestats_shared.h" + + "${SRCDIR}/game/client/youtubeapi.h" + "${SRCDIR}/game/client/youtubeapi.cpp" + + # Folder UI + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowserbasepage.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowserbasepage.h" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowserbasepanel.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowserbasepanel.h" + "${CLIENT_BASE_DIR}/replay/vgui/replayconfirmquitdlg.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replayconfirmquitdlg.h" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowserdetailspanel.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowserdetailspanel.h" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowseritemmanager.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowseritemmanager.h" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowserlistitempanel.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowserlistitempanel.h" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowserlistpanel.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowserlistpanel.h" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowsermainpanel.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowsermainpanel.h" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowsermovieplayerpanel.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowsermovieplayerpanel.h" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowserpreviewpanel.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowserpreviewpanel.h" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowserrenderdialog.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowserrenderdialog.h" + "${CLIENT_BASE_DIR}/replay/vgui/replayinputpanel.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replayinputpanel.h" + "${CLIENT_BASE_DIR}/replay/vgui/replaymessagepanel.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replaymessagepanel.h" + "${CLIENT_BASE_DIR}/replay/vgui/replayperformanceeditor.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replayperformanceeditor.h" + "${CLIENT_BASE_DIR}/replay/vgui/replayperformancesavedlg.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replayperformancesavedlg.h" + "${CLIENT_BASE_DIR}/replay/vgui/replayrenderoverlay.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replayrenderoverlay.h" + "${CLIENT_BASE_DIR}/replay/vgui/replayreminderpanel.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replayreminderpanel.h" + "${CLIENT_BASE_DIR}/replay/replayyoutubeapi.cpp" + "${CLIENT_BASE_DIR}/replay/replayyoutubeapi.h" + "$<$:${CLIENT_BASE_DIR}/replay/replayyoutubeapi_key.cpp>" + "$<${IS_SOURCESDK}:${CLIENT_BASE_DIR}/replay/replayyoutubeapi_key_sdk.cpp>" + + "${CLIENT_BASE_DIR}/game_controls/slideshowpanel.cpp" + "${CLIENT_BASE_DIR}/game_controls/slideshowpanel.h" + + "${SRCDIR}/common/movieobjects/timeutils.cpp" + "${SRCDIR}/public/movieobjects/timeutils.h" +) + +set( + CLIENT_BASE_SOURCE_FILES + + # Replay + "${CLIENT_BASE_DIR}/replay/replaycamera.cpp" + "${CLIENT_BASE_DIR}/replay/replaycamera.h" + "${CLIENT_BASE_DIR}/replay/cdll_replay.cpp" + "${CLIENT_BASE_DIR}/replay/cdll_replay.h" + + "$<${BUILD_REPLAY}:${REPLAY_SOURCE_FILES}>" + + # Source Files + "${CLIENT_BASE_DIR}/hl2/C_Func_Monitor.cpp" + "${CLIENT_BASE_DIR}/geiger.cpp" + "${CLIENT_BASE_DIR}/history_resource.cpp" + "${CLIENT_BASE_DIR}/hud_weapon.cpp" + "${CLIENT_BASE_DIR}/train.cpp" + "${SRCDIR}/game/shared/weapon_parse_default.cpp" + "${SRCDIR}/game/shared/achievement_saverestore.cpp" + "${SRCDIR}/game/shared/achievement_saverestore.h" + "${SRCDIR}/game/shared/achievementmgr.cpp" + "${SRCDIR}/game/shared/achievementmgr.h" + "${SRCDIR}/game/shared/achievements_and_stats_interface.h" + "${SRCDIR}/game/shared/achievements_hlx.cpp" + "${CLIENT_BASE_DIR}/achievement_notification_panel.cpp" + "${CLIENT_BASE_DIR}/achievement_notification_panel.h" + "${SRCDIR}/game/shared/activitylist.cpp" + "${CLIENT_BASE_DIR}/alphamaterialproxy.cpp" + "${SRCDIR}/game/shared/ammodef.cpp" + "${CLIENT_BASE_DIR}/animatedentitytextureproxy.cpp" + "${CLIENT_BASE_DIR}/animatedoffsettextureproxy.cpp" + "${CLIENT_BASE_DIR}/animatedtextureproxy.cpp" + "${CLIENT_BASE_DIR}/AnimateSpecificTextureProxy.cpp" + "${SRCDIR}/game/shared/animation.cpp" + "${SRCDIR}/game/shared/base_playeranimstate.cpp" + "${SRCDIR}/game/shared/baseachievement.cpp" + "${SRCDIR}/game/shared/baseachievement.h" + "${CLIENT_BASE_DIR}/baseanimatedtextureproxy.cpp" + "${CLIENT_BASE_DIR}/baseclientrendertargets.cpp" + "${SRCDIR}/game/shared/basecombatcharacter_shared.cpp" + "${SRCDIR}/game/shared/basecombatweapon_shared.cpp" + "${SRCDIR}/game/shared/baseentity_shared.cpp" + "${SRCDIR}/game/shared/basegrenade_shared.cpp" + "${SRCDIR}/game/shared/baseparticleentity.cpp" + "${SRCDIR}/game/shared/baseplayer_shared.cpp" + "${SRCDIR}/game/shared/baseprojectile.cpp" + "${SRCDIR}/game/shared/baseprojectile.h" + "${SRCDIR}/game/shared/baseviewmodel_shared.cpp" + "${CLIENT_BASE_DIR}/beamdraw.cpp" + "${SRCDIR}/game/shared/beam_shared.cpp" + "${SRCDIR}/public/bone_accessor.cpp" + "${CLIENT_BASE_DIR}/bone_merge_cache.cpp" + "${CLIENT_BASE_DIR}/c_ai_basehumanoid.cpp" + "${CLIENT_BASE_DIR}/c_ai_basenpc.cpp" + "${CLIENT_BASE_DIR}/c_baseanimating.cpp" + "${CLIENT_BASE_DIR}/c_baseanimatingoverlay.cpp" + "${CLIENT_BASE_DIR}/c_basecombatcharacter.cpp" + "${CLIENT_BASE_DIR}/c_basecombatweapon.cpp" + "${CLIENT_BASE_DIR}/c_basedoor.cpp" + "${CLIENT_BASE_DIR}/c_baseentity.cpp" + "${CLIENT_BASE_DIR}/c_baseflex.cpp" + "${CLIENT_BASE_DIR}/c_baseplayer.cpp" + "${CLIENT_BASE_DIR}/c_baseviewmodel.cpp" + "${CLIENT_BASE_DIR}/c_breakableprop.cpp" + "${CLIENT_BASE_DIR}/c_colorcorrection.cpp" + "${CLIENT_BASE_DIR}/c_colorcorrectionvolume.cpp" + "${CLIENT_BASE_DIR}/c_dynamiclight.cpp" + "${CLIENT_BASE_DIR}/c_entitydissolve.cpp" + "${CLIENT_BASE_DIR}/c_entityparticletrail.cpp" + "${CLIENT_BASE_DIR}/c_env_fog_controller.cpp" + "${CLIENT_BASE_DIR}/c_env_particlescript.cpp" + "${CLIENT_BASE_DIR}/c_env_projectedtexture.cpp" + "${CLIENT_BASE_DIR}/c_env_screenoverlay.cpp" + "${CLIENT_BASE_DIR}/c_env_tonemap_controller.cpp" + "${CLIENT_BASE_DIR}/c_fire_smoke.cpp" + "${CLIENT_BASE_DIR}/c_fish.cpp" + "${CLIENT_BASE_DIR}/c_func_areaportalwindow.cpp" + "${CLIENT_BASE_DIR}/c_func_breakablesurf.cpp" + "${CLIENT_BASE_DIR}/c_func_conveyor.cpp" + "${CLIENT_BASE_DIR}/c_func_dust.cpp" + "${CLIENT_BASE_DIR}/c_func_lod.cpp" + "${CLIENT_BASE_DIR}/c_func_occluder.cpp" + "${CLIENT_BASE_DIR}/c_func_reflective_glass.cpp" + "${CLIENT_BASE_DIR}/c_func_rotating.cpp" + "${CLIENT_BASE_DIR}/c_func_smokevolume.cpp" + "${CLIENT_BASE_DIR}/c_func_tracktrain.cpp" + "${CLIENT_BASE_DIR}/c_gib.cpp" + "${CLIENT_BASE_DIR}/c_hairball.cpp" + "${CLIENT_BASE_DIR}/c_info_overlay_accessor.cpp" + "${CLIENT_BASE_DIR}/c_lightglow.cpp" + "${CLIENT_BASE_DIR}/C_MaterialModifyControl.cpp" + "${CLIENT_BASE_DIR}/c_particle_system.cpp" + "${CLIENT_BASE_DIR}/c_physbox.cpp" + "${CLIENT_BASE_DIR}/c_physicsprop.cpp" + "${CLIENT_BASE_DIR}/c_physmagnet.cpp" + "${CLIENT_BASE_DIR}/c_pixel_visibility.cpp" + "${CLIENT_BASE_DIR}/c_plasma.cpp" + "${CLIENT_BASE_DIR}/c_playerresource.cpp" + "${CLIENT_BASE_DIR}/c_point_camera.cpp" + "${CLIENT_BASE_DIR}/c_point_commentary_node.cpp" + "${CLIENT_BASE_DIR}/c_props.cpp" + "${CLIENT_BASE_DIR}/c_props.h" + "${CLIENT_BASE_DIR}/c_ragdoll_manager.cpp" + "${CLIENT_BASE_DIR}/c_rope.cpp" + "${CLIENT_BASE_DIR}/c_rumble.cpp" + "${CLIENT_BASE_DIR}/c_sceneentity.cpp" + "${CLIENT_BASE_DIR}/c_shadowcontrol.cpp" + "${CLIENT_BASE_DIR}/c_slideshow_display.cpp" + "${CLIENT_BASE_DIR}/c_slideshow_display.h" + "${CLIENT_BASE_DIR}/c_soundscape.cpp" + "${CLIENT_BASE_DIR}/c_spotlight_end.cpp" + "${CLIENT_BASE_DIR}/c_sprite.cpp" + "${CLIENT_BASE_DIR}/c_sprite_perfmonitor.cpp" + "${CLIENT_BASE_DIR}/c_sun.cpp" + "${CLIENT_BASE_DIR}/c_team.cpp" + "${CLIENT_BASE_DIR}/c_tesla.cpp" + "${CLIENT_BASE_DIR}/c_test_proxytoggle.cpp" + "${CLIENT_BASE_DIR}/c_user_message_register.cpp" + "${CLIENT_BASE_DIR}/c_vehicle_choreo_generic.cpp" + "${CLIENT_BASE_DIR}/c_vehicle_jeep.cpp" + "${CLIENT_BASE_DIR}/c_vguiscreen.cpp" + "${CLIENT_BASE_DIR}/hl2/c_waterbullet.cpp" + "${CLIENT_BASE_DIR}/hl2/hud_autoaim.cpp" + "${CLIENT_BASE_DIR}/C_WaterLODControl.cpp" + "${CLIENT_BASE_DIR}/c_world.cpp" + "${SRCDIR}/game/shared/cam_thirdperson.cpp" + "${SRCDIR}/game/shared/cam_thirdperson.h" + "${CLIENT_BASE_DIR}/camomaterialproxy.cpp" + "${CLIENT_BASE_DIR}/cdll_client_int.cpp" + "${CLIENT_BASE_DIR}/cdll_bounded_cvars.cpp" + "${CLIENT_BASE_DIR}/cdll_bounded_cvars.h" + "${CLIENT_BASE_DIR}/cdll_util.cpp" + "${CLIENT_BASE_DIR}/cl_mat_stub.cpp" + "${CLIENT_BASE_DIR}/classmap.cpp" + "${CLIENT_BASE_DIR}/client_factorylist.cpp" + "${CLIENT_BASE_DIR}/client_thinklist.cpp" + "${CLIENT_BASE_DIR}/client_virtualreality.cpp" + "${CLIENT_BASE_DIR}/client_virtualreality.h" + "${CLIENT_BASE_DIR}/clienteffectprecachesystem.cpp" + "${CLIENT_BASE_DIR}/cliententitylist.cpp" + "${CLIENT_BASE_DIR}/clientleafsystem.cpp" + "${CLIENT_BASE_DIR}/clientmode_shared.cpp" + "${CLIENT_BASE_DIR}/clientshadowmgr.cpp" + "${CLIENT_BASE_DIR}/clientsideeffects.cpp" + "${CLIENT_BASE_DIR}/clientsideeffects_test.cpp" + "${CLIENT_BASE_DIR}/clientsteamcontext.cpp" + "${CLIENT_BASE_DIR}/clientsteamcontext.h" + "${CLIENT_BASE_DIR}/colorcorrectionmgr.cpp" + "${CLIENT_BASE_DIR}/commentary_modelviewer.cpp" + "${CLIENT_BASE_DIR}/commentary_modelviewer.h" + "${SRCDIR}/game/shared/collisionproperty.cpp" + "${SRCDIR}/game/shared/death_pose.cpp" + "${SRCDIR}/game/shared/debugoverlay_shared.cpp" + "${SRCDIR}/game/shared/decals.cpp" + "${CLIENT_BASE_DIR}/detailobjectsystem.cpp" + "${CLIENT_BASE_DIR}/dummyproxy.cpp" + "${SRCDIR}/game/shared/effect_dispatch_data.cpp" + "${CLIENT_BASE_DIR}/EffectsClient.cpp" + "${SRCDIR}/game/shared/ehandle.cpp" + "${SRCDIR}/game/shared/entitylist_base.cpp" + "${CLIENT_BASE_DIR}/entityoriginmaterialproxy.cpp" + "${SRCDIR}/game/shared/EntityParticleTrail_Shared.cpp" + "${SRCDIR}/game/shared/env_detail_controller.cpp" + "${SRCDIR}/game/shared/env_wind_shared.cpp" + "${SRCDIR}/game/shared/eventlist.cpp" + "${CLIENT_BASE_DIR}/flashlighteffect.cpp" + "${SRCDIR}/game/shared/func_ladder.cpp" + "${CLIENT_BASE_DIR}/functionproxy.cpp" + "${CLIENT_BASE_DIR}/fx_blood.cpp" + "${CLIENT_BASE_DIR}/fx_cube.cpp" + "${CLIENT_BASE_DIR}/fx_explosion.cpp" + "${CLIENT_BASE_DIR}/fx_fleck.cpp" + "${CLIENT_BASE_DIR}/fx_impact.cpp" + "${CLIENT_BASE_DIR}/fx_interpvalue.cpp" + "${CLIENT_BASE_DIR}/fx_quad.cpp" + "${CLIENT_BASE_DIR}/fx_shelleject.cpp" + "${CLIENT_BASE_DIR}/fx_staticline.cpp" + "${CLIENT_BASE_DIR}/fx_tracer.cpp" + "${CLIENT_BASE_DIR}/fx_trail.cpp" + "${CLIENT_BASE_DIR}/fx_water.cpp" + "${SRCDIR}/game/shared/gamemovement.cpp" + "${SRCDIR}/game/shared/gamerules.cpp" + "${SRCDIR}/game/shared/gamerules_register.cpp" + "${SRCDIR}/game/shared/GameStats.cpp" + "${SRCDIR}/game/shared/gamestringpool.cpp" + "${CLIENT_BASE_DIR}/gametrace_client.cpp" + "${SRCDIR}/game/shared/gamevars_shared.cpp" + "${CLIENT_BASE_DIR}/glow_outline_effect.cpp" + "${CLIENT_BASE_DIR}/glow_overlay.cpp" + "${SRCDIR}/game/shared/hintmessage.cpp" + "${SRCDIR}/game/shared/hintsystem.cpp" + "${CLIENT_BASE_DIR}/hltvcamera.cpp" + "${CLIENT_BASE_DIR}/hud.cpp" + "${CLIENT_BASE_DIR}/hud_animationinfo.cpp" + "${CLIENT_BASE_DIR}/hud_basechat.cpp" + "${CLIENT_BASE_DIR}/hud_basetimer.cpp" + "${CLIENT_BASE_DIR}/hud_bitmapnumericdisplay.cpp" + "${CLIENT_BASE_DIR}/hud_closecaption.cpp" + "${CLIENT_BASE_DIR}/hud_crosshair.cpp" + "${CLIENT_BASE_DIR}/hud_element_helper.cpp" + "${CLIENT_BASE_DIR}/hl2/hud_filmdemo.cpp" + "${CLIENT_BASE_DIR}/hl2/hud_hdrdemo.cpp" + "${CLIENT_BASE_DIR}/hud_hintdisplay.cpp" + "${CLIENT_BASE_DIR}/hud_msg.cpp" + "${CLIENT_BASE_DIR}/hud_numericdisplay.cpp" + "${CLIENT_BASE_DIR}/hud_pdump.cpp" + "${CLIENT_BASE_DIR}/hud_redraw.cpp" + "${CLIENT_BASE_DIR}/hud_vehicle.cpp" + "${SRCDIR}/game/shared/igamesystem.cpp" + "${CLIENT_BASE_DIR}/in_camera.cpp" + "${CLIENT_BASE_DIR}/in_joystick.cpp" + "${CLIENT_BASE_DIR}/in_main.cpp" + "${CLIENT_BASE_DIR}/initializer.cpp" + "${CLIENT_BASE_DIR}/interpolatedvar.cpp" + "${CLIENT_BASE_DIR}/IsNPCProxy.cpp" + "${CLIENT_BASE_DIR}/lampbeamproxy.cpp" + "${CLIENT_BASE_DIR}/lamphaloproxy.cpp" + "${SRCDIR}/game/shared/mapentities_shared.cpp" + "${CLIENT_BASE_DIR}/mathproxy.cpp" + "${CLIENT_BASE_DIR}/matrixproxy.cpp" + "${CLIENT_BASE_DIR}/menu.cpp" + "${CLIENT_BASE_DIR}/message.cpp" + "${CLIENT_BASE_DIR}/movehelper_client.cpp" + "${SRCDIR}/game/shared/movevars_shared.cpp" + "${SRCDIR}/game/shared/multiplay_gamerules.cpp" + "${SRCDIR}/game/shared/obstacle_pushaway.cpp" + "${CLIENT_BASE_DIR}/panelmetaclassmgr.cpp" + "${CLIENT_BASE_DIR}/particle_collision.cpp" + "${CLIENT_BASE_DIR}/particle_litsmokeemitter.cpp" + "${SRCDIR}/game/shared/particle_parse.cpp" + "${SRCDIR}/game/shared/particle_parse.h" + "${SRCDIR}/game/shared/particle_property.cpp" + "${SRCDIR}/game/shared/particle_property.h" + "${CLIENT_BASE_DIR}/particle_proxies.cpp" + "${CLIENT_BASE_DIR}/particle_simple3d.cpp" + "${CLIENT_BASE_DIR}/particlemgr.cpp" + "${CLIENT_BASE_DIR}/particles_attractor.cpp" + "${CLIENT_BASE_DIR}/particles_ez.cpp" + "${CLIENT_BASE_DIR}/particles_localspace.cpp" + "${CLIENT_BASE_DIR}/particles_new.cpp" + "${CLIENT_BASE_DIR}/particles_simple.cpp" + "${SRCDIR}/game/shared/particlesystemquery.cpp" + "${CLIENT_BASE_DIR}/perfvisualbenchmark.cpp" + "${CLIENT_BASE_DIR}/physics.cpp" + "${CLIENT_BASE_DIR}/physics_main_client.cpp" + "${SRCDIR}/game/shared/physics_main_shared.cpp" + "${SRCDIR}/game/shared/physics_saverestore.cpp" + "${SRCDIR}/game/shared/physics_shared.cpp" + "${CLIENT_BASE_DIR}/physpropclientside.cpp" + "${CLIENT_BASE_DIR}/playerandobjectenumerator.cpp" + "${CLIENT_BASE_DIR}/playerspawncache.cpp" + "${SRCDIR}/game/shared/point_bonusmaps_accessor.cpp" + "${SRCDIR}/game/shared/point_bonusmaps_accessor.h" + "${SRCDIR}/game/shared/point_posecontroller.cpp" + "${SRCDIR}/game/shared/precache_register.cpp" + "${SRCDIR}/game/shared/predictableid.cpp" + "${CLIENT_BASE_DIR}/prediction.cpp" + "${SRCDIR}/game/shared/predictioncopy.cpp" + "${SRCDIR}/game/shared/props_shared.cpp" + "${CLIENT_BASE_DIR}/proxyentity.cpp" + "${CLIENT_BASE_DIR}/ProxyHealth.cpp" + "${CLIENT_BASE_DIR}/proxyplayer.cpp" + "${CLIENT_BASE_DIR}/proxypupil.cpp" + "${CLIENT_BASE_DIR}/ragdoll.cpp" + "${SRCDIR}/game/shared/ragdoll_shared.cpp" + "${CLIENT_BASE_DIR}/recvproxy.cpp" + "${CLIENT_BASE_DIR}/basepresence.cpp" + "${SRCDIR}/game/shared/rope_helpers.cpp" + "${SRCDIR}/game/shared/saverestore.cpp" + "${SRCDIR}/game/shared/sceneentity_shared.cpp" + "${CLIENT_BASE_DIR}/ScreenSpaceEffects.cpp" + "${SRCDIR}/game/shared/sequence_Transitioner.cpp" + "${CLIENT_BASE_DIR}/simple_keys.cpp" + "${SRCDIR}/game/shared/simtimer.cpp" + "${SRCDIR}/game/shared/singleplay_gamerules.cpp" + "${SRCDIR}/game/shared/SoundEmitterSystem.cpp" + "${SRCDIR}/game/shared/soundenvelope.cpp" + "${SRCDIR}/public/SoundParametersInternal.cpp" + "${CLIENT_BASE_DIR}/splinepatch.cpp" + "${SRCDIR}/game/shared/Sprite.cpp" + "${CLIENT_BASE_DIR}/spritemodel.cpp" + "${SRCDIR}/game/shared/SpriteTrail.cpp" + "${SRCDIR}/game/shared/studio_shared.cpp" + "${CLIENT_BASE_DIR}/studio_stats.cpp" + "${CLIENT_BASE_DIR}/studio_stats.h" + "${SRCDIR}/game/shared/takedamageinfo.cpp" + "${SRCDIR}/game/shared/teamplay_gamerules.cpp" + "${SRCDIR}/game/shared/teamplayroundbased_gamerules.cpp" + "${SRCDIR}/game/shared/test_ehandle.cpp" + "${CLIENT_BASE_DIR}/text_message.cpp" + "${CLIENT_BASE_DIR}/texturescrollmaterialproxy.cpp" + "${CLIENT_BASE_DIR}/timematerialproxy.cpp" + "${CLIENT_BASE_DIR}/toggletextureproxy.cpp" + "${SRCDIR}/game/shared/usercmd.cpp" + "${SRCDIR}/game/shared/usermessages.cpp" + "${SRCDIR}/game/shared/util_shared.cpp" + "${SRCDIR}/game/shared/vehicle_viewblend_shared.cpp" + "${CLIENT_BASE_DIR}/vgui_avatarimage.cpp" + "${CLIENT_BASE_DIR}/vgui_avatarimage.h" + "${CLIENT_BASE_DIR}/vgui_basepanel.cpp" + "${CLIENT_BASE_DIR}/vgui_bitmapbutton.cpp" + "${CLIENT_BASE_DIR}/vgui_bitmapimage.cpp" + "${CLIENT_BASE_DIR}/vgui_bitmappanel.cpp" + "${CLIENT_BASE_DIR}/vgui_schemevisualizer.cpp" + "${CLIENT_BASE_DIR}/vgui_centerstringpanel.cpp" + "${CLIENT_BASE_DIR}/vgui_consolepanel.cpp" + "${CLIENT_BASE_DIR}/vgui_debugoverlaypanel.cpp" + "${CLIENT_BASE_DIR}/vgui_fpspanel.cpp" + "${CLIENT_BASE_DIR}/vgui_game_viewport.cpp" + "${CLIENT_BASE_DIR}/vgui_grid.cpp" + "${CLIENT_BASE_DIR}/vgui_int.cpp" + "${CLIENT_BASE_DIR}/vgui_loadingdiscpanel.cpp" + "${CLIENT_BASE_DIR}/vgui_messagechars.cpp" + "${CLIENT_BASE_DIR}/vgui_netgraphpanel.cpp" + "${CLIENT_BASE_DIR}/vgui_slideshow_display_screen.cpp" + "${CLIENT_BASE_DIR}/view.cpp" + "${CLIENT_BASE_DIR}/view_beams.cpp" + "${CLIENT_BASE_DIR}/view_effects.cpp" + "${CLIENT_BASE_DIR}/view_scene.cpp" + "${CLIENT_BASE_DIR}/viewangleanim.cpp" + "${CLIENT_BASE_DIR}/ViewConeImage.cpp" + "${CLIENT_BASE_DIR}/viewdebug.cpp" + "${CLIENT_BASE_DIR}/viewdebug.h" + "${CLIENT_BASE_DIR}/viewpostprocess.cpp" + "${CLIENT_BASE_DIR}/viewpostprocess.h" + "${CLIENT_BASE_DIR}/viewrender.cpp" + "${SRCDIR}/game/shared/voice_banmgr.cpp" + "${SRCDIR}/game/shared/voice_status.cpp" + "${CLIENT_BASE_DIR}/warp_overlay.cpp" + "${CLIENT_BASE_DIR}/WaterLODMaterialProxy.cpp" + "${SRCDIR}/game/shared/weapon_parse.cpp" + "${CLIENT_BASE_DIR}/weapon_selection.cpp" + "${CLIENT_BASE_DIR}/weapons_resource.cpp" + "${CLIENT_BASE_DIR}/WorldDimsProxy.cpp" + "${CLIENT_BASE_DIR}/vgui_video.cpp" + "${CLIENT_BASE_DIR}/vgui_video_player.cpp" + "${SRCDIR}/game/shared/mp_shareddefs.cpp" + "${SRCDIR}/game/client/c_vote_controller.h" + "${SRCDIR}/game/client/c_vote_controller.cpp" + + # Haptics + "${SRCDIR}/public/haptics/haptic_msgs.cpp" + "$<${IS_WINDOWS}:${SRCDIR}/public/haptics/haptic_utils.cpp>" + + # Sixense + "${CLIENT_BASE_DIR}/sixense/in_sixense.cpp" + "${CLIENT_BASE_DIR}/sixense/in_sixense.h" + "${CLIENT_BASE_DIR}/sixense/in_sixense_gesture_bindings.cpp" + "${CLIENT_BASE_DIR}/sixense/in_sixense_gesture_bindings.h" + "${SRCDIR}/game/shared/sixense/sixense_convars.cpp" + "${SRCDIR}/game/shared/sixense/sixense_convars_extern.h" + + # Source Files + "${SRCDIR}/public/bone_setup.cpp" + "${SRCDIR}/public/posedebugger.cpp" + "${SRCDIR}/public/client_class.cpp" + "${SRCDIR}/common/compiledcaptionswap.cpp" + "${SRCDIR}/public/collisionutils.cpp" + "${SRCDIR}/public/crtmemdebug.cpp" + "${SRCDIR}/public/dt_recv.cpp" + "${SRCDIR}/public/dt_utlvector_common.cpp" + "${SRCDIR}/public/dt_utlvector_recv.cpp" + "${SRCDIR}/public/filesystem_helpers.cpp" + "${SRCDIR}/public/interpolatortypes.cpp" + "${SRCDIR}/game/shared/interval.cpp" + "${SRCDIR}/common/language.cpp" + "${SRCDIR}/public/networkvar.cpp" + "${SRCDIR}/common/randoverride.cpp" + "${SRCDIR}/public/rope_physics.cpp" + "${SRCDIR}/public/scratchpad3d.cpp" + "${SRCDIR}/public/ScratchPadUtils.cpp" + "${SRCDIR}/public/sentence.cpp" + "${SRCDIR}/game/shared/sheetsimulator.cpp" + "${SRCDIR}/public/simple_physics.cpp" + "${SRCDIR}/public/stringregistry.cpp" + "${SRCDIR}/public/studio.cpp" + "${SRCDIR}/public/vallocator.cpp" + "${SRCDIR}/public/vgui_controls/vgui_controls.cpp" + "${SRCDIR}/public/jigglebones.cpp" + "${CLIENT_BASE_DIR}/hud_lcd.cpp" + "${CLIENT_BASE_DIR}/in_mouse.cpp" + "${CLIENT_BASE_DIR}/mumble.cpp" + "${SRCDIR}/public/renamed_recvtable_compat.cpp" + "${CLIENT_BASE_DIR}/rendertexture.cpp" + + # Temporary Entities + "${CLIENT_BASE_DIR}/c_basetempentity.cpp" + "${CLIENT_BASE_DIR}/c_effects.cpp" + "${CLIENT_BASE_DIR}/c_impact_effects.cpp" + "${CLIENT_BASE_DIR}/c_movie_explosion.cpp" + "${CLIENT_BASE_DIR}/c_particle_fire.cpp" + "${CLIENT_BASE_DIR}/c_particle_smokegrenade.cpp" + "${CLIENT_BASE_DIR}/c_prop_vehicle.cpp" + "${CLIENT_BASE_DIR}/c_recipientfilter.cpp" + "${CLIENT_BASE_DIR}/c_smoke_trail.cpp" + "${CLIENT_BASE_DIR}/c_smokestack.cpp" + "${CLIENT_BASE_DIR}/c_steamjet.cpp" + "${CLIENT_BASE_DIR}/c_stickybolt.cpp" + "${CLIENT_BASE_DIR}/c_te.cpp" + "${CLIENT_BASE_DIR}/c_te_armorricochet.cpp" + "${CLIENT_BASE_DIR}/c_te_basebeam.cpp" + "${CLIENT_BASE_DIR}/c_te_beamentpoint.cpp" + "${CLIENT_BASE_DIR}/c_te_beaments.cpp" + "${CLIENT_BASE_DIR}/c_te_beamfollow.cpp" + "${CLIENT_BASE_DIR}/c_te_beamlaser.cpp" + "${CLIENT_BASE_DIR}/c_te_beampoints.cpp" + "${CLIENT_BASE_DIR}/c_te_beamring.cpp" + "${CLIENT_BASE_DIR}/c_te_beamringpoint.cpp" + "${CLIENT_BASE_DIR}/c_te_beamspline.cpp" + "${CLIENT_BASE_DIR}/c_te_bloodsprite.cpp" + "${CLIENT_BASE_DIR}/c_te_bloodstream.cpp" + "${CLIENT_BASE_DIR}/c_te_breakmodel.cpp" + "${CLIENT_BASE_DIR}/c_te_bspdecal.cpp" + "${CLIENT_BASE_DIR}/c_te_bubbles.cpp" + "${CLIENT_BASE_DIR}/c_te_bubbletrail.cpp" + "${CLIENT_BASE_DIR}/c_te_clientprojectile.cpp" + "${CLIENT_BASE_DIR}/c_te_decal.cpp" + "${CLIENT_BASE_DIR}/c_te_dynamiclight.cpp" + "${CLIENT_BASE_DIR}/c_te_effect_dispatch.cpp" + "${CLIENT_BASE_DIR}/c_te_energysplash.cpp" + "${CLIENT_BASE_DIR}/c_te_explosion.cpp" + "${CLIENT_BASE_DIR}/c_te_fizz.cpp" + "${CLIENT_BASE_DIR}/c_te_footprint.cpp" + "${CLIENT_BASE_DIR}/c_te_glassshatter.cpp" + "${CLIENT_BASE_DIR}/c_te_glowsprite.cpp" + "${CLIENT_BASE_DIR}/c_te_impact.cpp" + "${CLIENT_BASE_DIR}/c_te_killplayerattachments.cpp" + "${CLIENT_BASE_DIR}/c_te_largefunnel.cpp" + "${CLIENT_BASE_DIR}/c_te_legacytempents.cpp" + "${CLIENT_BASE_DIR}/c_te_muzzleflash.cpp" + "${CLIENT_BASE_DIR}/c_te_particlesystem.cpp" + "${CLIENT_BASE_DIR}/c_te_physicsprop.cpp" + "${CLIENT_BASE_DIR}/c_te_playerdecal.cpp" + "${CLIENT_BASE_DIR}/c_te_projecteddecal.cpp" + "${CLIENT_BASE_DIR}/c_te_showline.cpp" + "${CLIENT_BASE_DIR}/c_te_smoke.cpp" + "${CLIENT_BASE_DIR}/c_te_sparks.cpp" + "${CLIENT_BASE_DIR}/c_te_sprite.cpp" + "${CLIENT_BASE_DIR}/c_te_spritespray.cpp" + "${CLIENT_BASE_DIR}/c_te_worlddecal.cpp" + "${CLIENT_BASE_DIR}/c_testtraceline.cpp" + "${CLIENT_BASE_DIR}/c_tracer.cpp" + "${CLIENT_BASE_DIR}/fx.cpp" + "${CLIENT_BASE_DIR}/fx_discreetline.cpp" + "${CLIENT_BASE_DIR}/fx_envelope.cpp" + "${CLIENT_BASE_DIR}/fx_line.cpp" + "${CLIENT_BASE_DIR}/fx_sparks.cpp" + "${CLIENT_BASE_DIR}/particlesphererenderer.cpp" + "${CLIENT_BASE_DIR}/smoke_fog_overlay.cpp" + + # game_controls + "${CLIENT_BASE_DIR}/game_controls/baseviewport.cpp" + "${CLIENT_BASE_DIR}/game_controls/basemodelpanel.cpp" + "${CLIENT_BASE_DIR}/game_controls/basemodelpanel.h" + "${CLIENT_BASE_DIR}/game_controls/basemodel_panel.cpp" + "${CLIENT_BASE_DIR}/game_controls/basemodel_panel.h" + "${CLIENT_BASE_DIR}/game_controls/ClientScoreBoardDialog.cpp" + "${CLIENT_BASE_DIR}/game_controls/commandmenu.cpp" + "${CLIENT_BASE_DIR}/game_controls/intromenu.cpp" + "${CLIENT_BASE_DIR}/game_controls/MapOverview.cpp" + "${CLIENT_BASE_DIR}/game_controls/NavProgress.cpp" + "${CLIENT_BASE_DIR}/game_controls/SpectatorGUI.cpp" + "${CLIENT_BASE_DIR}/game_controls/teammenu.cpp" + "${CLIENT_BASE_DIR}/game_controls/vguitextwindow.cpp" + "${CLIENT_BASE_DIR}/game_controls/IconPanel.cpp" + + # MP3 + "${CLIENT_BASE_DIR}/mp3player.cpp" + "${CLIENT_BASE_DIR}/mp3player.h" + + # Tool Framework + "${SRCDIR}/public/tools/bonelist.cpp" + "${SRCDIR}/public/tools/bonelist.h" + "${CLIENT_BASE_DIR}/entity_client_tools.cpp" + "${CLIENT_BASE_DIR}/toolframework_client.cpp" + "${CLIENT_BASE_DIR}/toolframework_client.h" + + # Header Files + "${CLIENT_BASE_DIR}/animationlayer.h" + "${CLIENT_BASE_DIR}/baseanimatedtextureproxy.h" + "${CLIENT_BASE_DIR}/baseclientrendertargets.h" + "${CLIENT_BASE_DIR}/beamdraw.h" + "${CLIENT_BASE_DIR}/bone_merge_cache.h" + "${CLIENT_BASE_DIR}/c_ai_basenpc.h" + "${CLIENT_BASE_DIR}/c_baseanimating.h" + "${CLIENT_BASE_DIR}/c_baseanimatingoverlay.h" + "${CLIENT_BASE_DIR}/c_basecombatcharacter.h" + "${CLIENT_BASE_DIR}/c_basecombatweapon.h" + "${CLIENT_BASE_DIR}/c_basedoor.h" + "${CLIENT_BASE_DIR}/c_baseentity.h" + "${CLIENT_BASE_DIR}/c_baseflex.h" + "${CLIENT_BASE_DIR}/c_baseplayer.h" + "${CLIENT_BASE_DIR}/c_basetempentity.h" + "${CLIENT_BASE_DIR}/c_baseviewmodel.h" + "${CLIENT_BASE_DIR}/c_breakableprop.h" + "${CLIENT_BASE_DIR}/c_effects.h" + "${CLIENT_BASE_DIR}/c_entitydissolve.h" + "${CLIENT_BASE_DIR}/c_env_fog_controller.h" + "${CLIENT_BASE_DIR}/c_fire_smoke.h" + "${CLIENT_BASE_DIR}/c_func_dust.h" + "${CLIENT_BASE_DIR}/c_func_reflective_glass.h" + "${CLIENT_BASE_DIR}/c_gib.h" + "${CLIENT_BASE_DIR}/c_impact_effects.h" + "${CLIENT_BASE_DIR}/c_physbox.h" + "${CLIENT_BASE_DIR}/c_physicsprop.h" + "${CLIENT_BASE_DIR}/c_pixel_visibility.h" + "${CLIENT_BASE_DIR}/c_playerlocaldata.h" + "${CLIENT_BASE_DIR}/c_playerresource.h" + "${CLIENT_BASE_DIR}/c_point_camera.h" + "${CLIENT_BASE_DIR}/c_prop_vehicle.h" + "${CLIENT_BASE_DIR}/c_recipientfilter.h" + "${CLIENT_BASE_DIR}/c_rope.h" + "${CLIENT_BASE_DIR}/c_rumble.h" + "${CLIENT_BASE_DIR}/c_sceneentity.h" + "${CLIENT_BASE_DIR}/c_smoke_trail.h" + "${CLIENT_BASE_DIR}/c_soundscape.h" + "${CLIENT_BASE_DIR}/c_sprite.h" + "${CLIENT_BASE_DIR}/c_sun.h" + "${CLIENT_BASE_DIR}/c_te_basebeam.h" + "${CLIENT_BASE_DIR}/c_te_effect_dispatch.h" + "${CLIENT_BASE_DIR}/c_te_legacytempents.h" + "${CLIENT_BASE_DIR}/c_te_particlesystem.h" + "${CLIENT_BASE_DIR}/c_team.h" + "${CLIENT_BASE_DIR}/c_tesla.h" + "${CLIENT_BASE_DIR}/c_tracer.h" + "${CLIENT_BASE_DIR}/c_vehicle_jeep.h" + "${CLIENT_BASE_DIR}/c_user_message_register.h" + "${CLIENT_BASE_DIR}/c_vguiscreen.h" + "${CLIENT_BASE_DIR}/c_weapon__stubs.h" + "${CLIENT_BASE_DIR}/c_world.h" + "${CLIENT_BASE_DIR}/cbase.h" + "${CLIENT_BASE_DIR}/cdll_client_int.h" + "${CLIENT_BASE_DIR}/cdll_util.h" + "${CLIENT_BASE_DIR}/cl_animevent.h" + "${CLIENT_BASE_DIR}/cl_mat_stub.h" + "${CLIENT_BASE_DIR}/client_factorylist.h" + "${CLIENT_BASE_DIR}/client_thinklist.h" + "${CLIENT_BASE_DIR}/clienteffectprecachesystem.h" + "${CLIENT_BASE_DIR}/cliententitylist.h" + "${CLIENT_BASE_DIR}/clientleafsystem.h" + "${CLIENT_BASE_DIR}/clientmode.h" + "${CLIENT_BASE_DIR}/clientmode_shared.h" + "${CLIENT_BASE_DIR}/clientsideeffects.h" + "${CLIENT_BASE_DIR}/colorcorrectionmgr.h" + "${CLIENT_BASE_DIR}/detailobjectsystem.h" + "${CLIENT_BASE_DIR}/enginesprite.h" + "${CLIENT_BASE_DIR}/flashlighteffect.h" + "${CLIENT_BASE_DIR}/fontabc.h" + "${CLIENT_BASE_DIR}/functionproxy.h" + "${CLIENT_BASE_DIR}/fx.h" + "${CLIENT_BASE_DIR}/fx_blood.h" + "${CLIENT_BASE_DIR}/fx_discreetline.h" + "${CLIENT_BASE_DIR}/fx_envelope.h" + "${CLIENT_BASE_DIR}/fx_explosion.h" + "${CLIENT_BASE_DIR}/fx_fleck.h" + "${CLIENT_BASE_DIR}/fx_impact.h" + "${CLIENT_BASE_DIR}/fx_interpvalue.h" + "${CLIENT_BASE_DIR}/fx_line.h" + "${CLIENT_BASE_DIR}/fx_quad.h" + "${CLIENT_BASE_DIR}/fx_sparks.h" + "${CLIENT_BASE_DIR}/fx_staticline.h" + "${CLIENT_BASE_DIR}/fx_trail.h" + "${CLIENT_BASE_DIR}/fx_water.h" + "${SRCDIR}/game/shared/GameEventListener.h" + "${CLIENT_BASE_DIR}/glow_outline_effect.h" + "${CLIENT_BASE_DIR}/glow_overlay.h" + "${SRCDIR}/game/shared/hintmessage.h" + "${SRCDIR}/game/shared/hintsystem.h" + "${CLIENT_BASE_DIR}/history_resource.h" + "${CLIENT_BASE_DIR}/hltvcamera.h" + "${CLIENT_BASE_DIR}/hud.h" + "${CLIENT_BASE_DIR}/hud_basechat.h" + "${CLIENT_BASE_DIR}/hud_basetimer.h" + "${CLIENT_BASE_DIR}/hud_bitmapnumericdisplay.h" + "${CLIENT_BASE_DIR}/hud_chat.h" + "${CLIENT_BASE_DIR}/hud_closecaption.h" + "${CLIENT_BASE_DIR}/hud_crosshair.h" + "${CLIENT_BASE_DIR}/hud_element_helper.h" + "${CLIENT_BASE_DIR}/hud_lcd.h" + "${CLIENT_BASE_DIR}/hud_macros.h" + "${CLIENT_BASE_DIR}/hud_numericdisplay.h" + "${CLIENT_BASE_DIR}/hud_pdump.h" + "${CLIENT_BASE_DIR}/basepresence.h" + "${CLIENT_BASE_DIR}/hud_vehicle.h" + "${CLIENT_BASE_DIR}/hudelement.h" + "${CLIENT_BASE_DIR}/hudtexturehandle.h" + "${CLIENT_BASE_DIR}/iclassmap.h" + "${CLIENT_BASE_DIR}/icliententityinternal.h" + "${CLIENT_BASE_DIR}/iclientmode.h" + "${CLIENT_BASE_DIR}/iclientshadowmgr.h" + "${CLIENT_BASE_DIR}/iclientvehicle.h" + "${CLIENT_BASE_DIR}/iconsole.h" + "${CLIENT_BASE_DIR}/idebugoverlaypanel.h" + "${CLIENT_BASE_DIR}/ifpspanel.h" + "${SRCDIR}/game/shared/econ/ihasowner.h" + "${CLIENT_BASE_DIR}/ihudlcd.h" + "${CLIENT_BASE_DIR}/ipresence.h" + "${CLIENT_BASE_DIR}/iinput.h" + "${CLIENT_BASE_DIR}/iloadingdisc.h" + "${CLIENT_BASE_DIR}/imessagechars.h" + "${CLIENT_BASE_DIR}/in_main.h" + "${CLIENT_BASE_DIR}/inetgraphpanel.h" + "${CLIENT_BASE_DIR}/initializer.h" + "${CLIENT_BASE_DIR}/input.h" + "${CLIENT_BASE_DIR}/interpolatedvar.h" + "${CLIENT_BASE_DIR}/iprofiling.h" + "${CLIENT_BASE_DIR}/itextmessage.h" + "${CLIENT_BASE_DIR}/ivieweffects.h" + "${CLIENT_BASE_DIR}/iviewrender.h" + "${CLIENT_BASE_DIR}/iviewrender_beams.h" + "${CLIENT_BASE_DIR}/ivmodemanager.h" + "${CLIENT_BASE_DIR}/kbutton.h" + "${SRCDIR}/common/language.h" + "${CLIENT_BASE_DIR}/lerp_functions.h" + "${CLIENT_BASE_DIR}/menu.h" + "${CLIENT_BASE_DIR}/movehelper_client.h" + "${CLIENT_BASE_DIR}/mumble.h" + "${CLIENT_BASE_DIR}/networkstringtable_clientdll.h" + "${CLIENT_BASE_DIR}/panelmetaclassmgr.h" + "${CLIENT_BASE_DIR}/particle_collision.h" + "${CLIENT_BASE_DIR}/particle_iterators.h" + "${CLIENT_BASE_DIR}/particle_litsmokeemitter.h" + "${CLIENT_BASE_DIR}/particle_prototype.h" + "${CLIENT_BASE_DIR}/particle_simple3d.h" + "${CLIENT_BASE_DIR}/particle_util.h" + "${CLIENT_BASE_DIR}/particledraw.h" + "${CLIENT_BASE_DIR}/particlemgr.h" + "${CLIENT_BASE_DIR}/particles_attractor.h" + "${CLIENT_BASE_DIR}/particles_ez.h" + "${CLIENT_BASE_DIR}/particles_localspace.h" + "${CLIENT_BASE_DIR}/particles_new.h" + "${CLIENT_BASE_DIR}/particles_simple.h" + "${CLIENT_BASE_DIR}/particlesphererenderer.h" + "${CLIENT_BASE_DIR}/perfvisualbenchmark.h" + "${CLIENT_BASE_DIR}/physics.h" + "${CLIENT_BASE_DIR}/physpropclientside.h" + "${CLIENT_BASE_DIR}/playerandobjectenumerator.h" + "${CLIENT_BASE_DIR}/playerenumerator.h" + "${CLIENT_BASE_DIR}/playerspawncache.h" + "${CLIENT_BASE_DIR}/prediction.h" + "${CLIENT_BASE_DIR}/prediction_private.h" + "${CLIENT_BASE_DIR}/proxyentity.h" + "${CLIENT_BASE_DIR}/ragdoll.h" + "${CLIENT_BASE_DIR}/ragdollexplosionenumerator.h" + "${CLIENT_BASE_DIR}/recvproxy.h" + "${CLIENT_BASE_DIR}/rendertexture.h" + "${CLIENT_BASE_DIR}/ScreenSpaceEffects.h" + "${CLIENT_BASE_DIR}/simple_keys.h" + "${CLIENT_BASE_DIR}/smoke_fog_overlay.h" + "${CLIENT_BASE_DIR}/splinepatch.h" + "${SRCDIR}/public/steam/steam_api.h" + "${CLIENT_BASE_DIR}/TeamBitmapImage.h" + "${CLIENT_BASE_DIR}/tempent.h" + "${CLIENT_BASE_DIR}/text_message.h" + "${CLIENT_BASE_DIR}/timedevent.h" + "${CLIENT_BASE_DIR}/toggletextureproxy.h" + "${CLIENT_BASE_DIR}/vgui_basepanel.h" + "${CLIENT_BASE_DIR}/vgui_bitmapbutton.h" + "${CLIENT_BASE_DIR}/vgui_bitmapimage.h" + "${CLIENT_BASE_DIR}/vgui_bitmappanel.h" + "${CLIENT_BASE_DIR}/vgui_schemevisualizer.h" + "${CLIENT_BASE_DIR}/vgui_entityimagepanel.h" + "${CLIENT_BASE_DIR}/vgui_entitypanel.h" + "${CLIENT_BASE_DIR}/vgui_grid.h" + "${CLIENT_BASE_DIR}/vgui_helpers.h" + "${CLIENT_BASE_DIR}/vgui_imagehealthpanel.h" + "${CLIENT_BASE_DIR}/vgui_int.h" + "${CLIENT_BASE_DIR}/vguicenterprint.h" + "${CLIENT_BASE_DIR}/view.h" + "${CLIENT_BASE_DIR}/view_scene.h" + "${CLIENT_BASE_DIR}/viewangleanim.h" + "${CLIENT_BASE_DIR}/ViewConeImage.h" + "${CLIENT_BASE_DIR}/viewrender.h" + "${CLIENT_BASE_DIR}/weapon_selection.h" + "${CLIENT_BASE_DIR}/weapons_resource.h" + "${CLIENT_BASE_DIR}/vgui_video.h" + "${CLIENT_BASE_DIR}/vgui_video_player.h" + + # Public Header Files + "${SRCDIR}/public/mathlib/amd3dx.h" + "${SRCDIR}/public/vgui_controls/AnimationController.h" + "${SRCDIR}/public/basehandle.h" + "${SRCDIR}/public/tier0/basetypes.h" + "${SRCDIR}/public/tier1/bitbuf.h" + "${SRCDIR}/public/bitvec.h" + "${SRCDIR}/public/bone_accessor.h" + "${SRCDIR}/public/bone_setup.h" + "${SRCDIR}/public/bspfile.h" + "${SRCDIR}/public/bspflags.h" + "${SRCDIR}/public/bsptreedata.h" + "${SRCDIR}/public/mathlib/bumpvects.h" + "${SRCDIR}/public/vgui_controls/Button.h" + "${SRCDIR}/public/cdll_int.h" + "${SRCDIR}/public/tier1/characterset.h" + "${SRCDIR}/public/tier1/checksum_md5.h" + "${SRCDIR}/public/client_class.h" + "${SRCDIR}/public/client_render_handle.h" + "${SRCDIR}/public/client_textmessage.h" + "${SRCDIR}/public/clientstats.h" + "${SRCDIR}/public/cmodel.h" + "${SRCDIR}/public/vphysics/collision_set.h" + "${SRCDIR}/public/collisionutils.h" + "${SRCDIR}/public/Color.h" + "${SRCDIR}/public/vgui_controls/ComboBox.h" + "${SRCDIR}/public/tier0/commonmacros.h" + "${SRCDIR}/public/mathlib/compressed_light_cube.h" + "${SRCDIR}/public/mathlib/compressed_vector.h" + "${SRCDIR}/public/con_nprint.h" + "${SRCDIR}/public/const.h" + "${SRCDIR}/public/vphysics/constraints.h" + "${SRCDIR}/public/vgui_controls/Controls.h" + "${SRCDIR}/public/tier1/convar.h" + "${SRCDIR}/public/coordsize.h" + "${SRCDIR}/public/crtmemdebug.h" + "${SRCDIR}/public/vgui/Cursor.h" + "${SRCDIR}/public/vgui/Dar.h" + "${SRCDIR}/public/datamap.h" + "${SRCDIR}/public/tier0/dbg.h" + "${SRCDIR}/public/dlight.h" + "${SRCDIR}/public/dt_common.h" + "${SRCDIR}/public/dt_recv.h" + "${SRCDIR}/public/dt_send.h" + "${SRCDIR}/public/dt_utlvector_common.h" + "${SRCDIR}/public/dt_utlvector_recv.h" + "${SRCDIR}/public/edict.h" + "${SRCDIR}/public/vgui_controls/EditablePanel.h" + "${SRCDIR}/public/tier0/fasttimer.h" + "${SRCDIR}/public/filesystem.h" + "${SRCDIR}/public/filesystem_helpers.h" + "${SRCDIR}/public/tier1/fmtstr.h" + "${SRCDIR}/public/vgui_controls/FocusNavGroup.h" + "${SRCDIR}/public/vphysics/friction.h" + "${SRCDIR}/public/gamebspfile.h" + "${SRCDIR}/public/gametrace.h" + "${SRCDIR}/public/globalvars_base.h" + "${SRCDIR}/public/vgui_controls/HTML.h" + "${SRCDIR}/public/iachievementmgr.h" + "${SRCDIR}/public/appframework/IAppSystem.h" + "${SRCDIR}/public/icliententity.h" + "${SRCDIR}/public/icliententitylist.h" + "${SRCDIR}/public/engine/IClientLeafSystem.h" + "${SRCDIR}/public/iclientnetworkable.h" + "${SRCDIR}/public/vgui/IClientPanel.h" + "${SRCDIR}/public/iclientrenderable.h" + "${SRCDIR}/public/game/client/iclientrendertargets.h" + "${SRCDIR}/public/iclientthinkable.h" + "${SRCDIR}/public/iclientunknown.h" + "${SRCDIR}/public/engine/ICollideable.h" + "${SRCDIR}/public/tier0/icommandline.h" + "${SRCDIR}/public/icvar.h" + "${SRCDIR}/public/iefx.h" + "${SRCDIR}/public/engine/IEngineSound.h" + "${SRCDIR}/public/engine/IEngineTrace.h" + "${SRCDIR}/public/ienginevgui.h" + "${SRCDIR}/public/igameevents.h" + "${SRCDIR}/public/igameresources.h" + "${SRCDIR}/public/IGameUIFuncs.h" + "${SRCDIR}/public/ihandleentity.h" + "${SRCDIR}/public/vgui/IHTML.h" + "${SRCDIR}/public/vgui/IImage.h" + "${SRCDIR}/public/vgui/IInput.h" + "${SRCDIR}/public/vgui/IInputInternal.h" + "${SRCDIR}/public/vstdlib/IKeyValuesSystem.h" + "${SRCDIR}/public/vgui/ILocalize.h" + "${SRCDIR}/public/vgui_controls/Image.h" + "${SRCDIR}/public/vgui_controls/ImageList.h" + "${SRCDIR}/public/vgui_controls/ImagePanel.h" + "${SRCDIR}/public/imapoverview.h" + "${SRCDIR}/public/materialsystem/imaterial.h" + "${SRCDIR}/public/materialsystem/imaterialproxy.h" + "${SRCDIR}/public/materialsystem/imaterialsystem.h" + "${SRCDIR}/public/materialsystem/imaterialsystemhardwareconfig.h" + "${SRCDIR}/public/materialsystem/imaterialsystemstub.h" + "${SRCDIR}/public/materialsystem/imaterialvar.h" + "${SRCDIR}/public/VGuiMatSurface/IMatSystemSurface.h" + "${SRCDIR}/public/materialsystem/imesh.h" + "${SRCDIR}/public/inetchannelinfo.h" + "${SRCDIR}/public/tier1/interface.h" + "${SRCDIR}/public/interpolatortypes.h" + "${SRCDIR}/public/vgui/IPanel.h" + "${SRCDIR}/public/iprediction.h" + "${SRCDIR}/public/irecipientfilter.h" + "${SRCDIR}/public/isaverestore.h" + "${SRCDIR}/public/vgui/IScheme.h" + "${SRCDIR}/public/iscratchpad3d.h" + "${SRCDIR}/public/iserverentity.h" + "${SRCDIR}/public/iservernetworkable.h" + "${SRCDIR}/public/iserverunknown.h" + "${SRCDIR}/public/engine/ishadowmgr.h" + "${SRCDIR}/public/SoundEmitterSystem/isoundemittersystembase.h" + "${SRCDIR}/public/ispatialpartition.h" + "${SRCDIR}/public/engine/IStaticPropMgr.h" + "${SRCDIR}/public/istudiorender.h" + "${SRCDIR}/public/vgui/ISurface.h" + "${SRCDIR}/public/vgui/ISystem.h" + "${SRCDIR}/public/materialsystem/itexture.h" + "${SRCDIR}/public/engine/ivdebugoverlay.h" + "${SRCDIR}/public/vgui/IVGui.h" + "${SRCDIR}/public/ivguicenterprint.h" + "${SRCDIR}/public/game/client/iviewport.h" + "${SRCDIR}/public/engine/ivmodelinfo.h" + "${SRCDIR}/public/engine/ivmodelrender.h" + "${SRCDIR}/public/ivrenderview.h" + "${SRCDIR}/public/jigglebones.h" + "${SRCDIR}/public/vgui/KeyCode.h" + "${SRCDIR}/public/tier1/KeyValues.h" + "${SRCDIR}/public/tier0/l2cache.h" + "${SRCDIR}/public/vgui_controls/Label.h" + "${SRCDIR}/public/vgui_controls/ListPanel.h" + "${SRCDIR}/public/mathlib/mathlib.h" + "${SRCDIR}/public/tier0/mem.h" + "${SRCDIR}/public/tier0/memalloc.h" + "${SRCDIR}/public/tier0/memdbgoff.h" + "${SRCDIR}/public/tier0/memdbgon.h" + "${SRCDIR}/public/tier1/mempool.h" + "${SRCDIR}/public/vgui_controls/Menu.h" + "${SRCDIR}/public/vgui_controls/MenuItem.h" + "${SRCDIR}/public/vgui_controls/MessageMap.h" + "${SRCDIR}/public/model_types.h" + "${SRCDIR}/public/vgui/MouseCode.h" + "${SRCDIR}/public/mouthinfo.h" + "${SRCDIR}/public/networkstringtabledefs.h" + "${SRCDIR}/public/networkvar.h" + "${SRCDIR}/public/vphysics/object_hash.h" + "${SRCDIR}/public/overlaytext.h" + "${SRCDIR}/public/vgui_controls/Panel.h" + "${SRCDIR}/public/vgui_controls/PanelAnimationVar.h" + "${SRCDIR}/public/vgui_controls/PanelListPanel.h" + "${SRCDIR}/public/vgui_controls/PHandle.h" + "${SRCDIR}/public/pixelwriter.h" + "${SRCDIR}/public/tier0/platform.h" + "${SRCDIR}/public/PlayerState.h" + "${SRCDIR}/public/tier1/processor_detect.h" + "${SRCDIR}/public/tier0/protected_things.h" + "${SRCDIR}/public/mathlib/polyhedron.h" + "${SRCDIR}/public/r_efx.h" + "${SRCDIR}/public/vstdlib/random.h" + "${SRCDIR}/public/tier1/rangecheckedvar.h" + "${SRCDIR}/public/renamed_recvtable_compat.h" + "${SRCDIR}/public/vgui_controls/RichText.h" + "${SRCDIR}/public/rope_physics.h" + "${SRCDIR}/public/rope_shared.h" + "${SRCDIR}/public/saverestoretypes.h" + "${SRCDIR}/public/scratchpad3d.h" + "${SRCDIR}/public/ScratchPadUtils.h" + "${SRCDIR}/public/vgui_controls/ScrollBar.h" + "${SRCDIR}/public/vgui_controls/SectionedListPanel.h" + "${SRCDIR}/public/sentence.h" + "${SRCDIR}/public/server_class.h" + "${SRCDIR}/public/shake.h" + "${SRCDIR}/public/shattersurfacetypes.h" + "${SRCDIR}/public/simple_physics.h" + "${SRCDIR}/public/tier1/smartptr.h" + "${SRCDIR}/public/soundchars.h" + "${SRCDIR}/public/soundflags.h" + "${SRCDIR}/public/soundinfo.h" + "${SRCDIR}/public/string_t.h" + "${SRCDIR}/public/tier1/stringpool.h" + "${SRCDIR}/public/stringregistry.h" + "${SRCDIR}/public/tier1/strtools.h" + "${SRCDIR}/public/studio.h" + "${SRCDIR}/public/surfinfo.h" + "${SRCDIR}/public/vgui_controls/TextEntry.h" + "${SRCDIR}/public/vgui_controls/TextImage.h" + "${SRCDIR}/public/texture_group_names.h" + "${SRCDIR}/public/vgui_controls/TreeView.h" + "${SRCDIR}/public/tier1/utlbidirectionalset.h" + "${SRCDIR}/public/tier1/utlbuffer.h" + "${SRCDIR}/public/tier1/utldict.h" + "${SRCDIR}/public/tier1/utlfixedmemory.h" + "${SRCDIR}/public/tier1/utlhash.h" + "${SRCDIR}/public/tier1/utllinkedlist.h" + "${SRCDIR}/public/tier1/utlmap.h" + "${SRCDIR}/public/tier1/utlmemory.h" + "${SRCDIR}/public/tier1/utlmultilist.h" + "${SRCDIR}/public/tier1/utlpriorityqueue.h" + "${SRCDIR}/public/tier1/utlqueue.h" + "${SRCDIR}/public/tier1/utlrbtree.h" + "${SRCDIR}/public/tier1/utlstack.h" + "${SRCDIR}/public/tier1/utlsymbol.h" + "${SRCDIR}/public/tier1/utlvector.h" + "${SRCDIR}/public/vallocator.h" + "${SRCDIR}/public/vcollide.h" + "${SRCDIR}/public/vcollide_parse.h" + "${SRCDIR}/public/mathlib/vector.h" + "${SRCDIR}/public/mathlib/vector2d.h" + "${SRCDIR}/public/mathlib/vector4d.h" + "${SRCDIR}/public/vgui/VGUI.h" + "${SRCDIR}/public/view_shared.h" + "${SRCDIR}/public/mathlib/vmatrix.h" + "${SRCDIR}/public/vphysics_interface.h" + "${SRCDIR}/public/mathlib/vplane.h" + "${SRCDIR}/public/tier0/vprof.h" + "${SRCDIR}/public/vstdlib/vstdlib.h" + "${SRCDIR}/public/vtf/vtf.h" + "${SRCDIR}/public/vgui_controls/WizardPanel.h" + "${SRCDIR}/public/vgui_controls/WizardSubPanel.h" + "${SRCDIR}/public/worldsize.h" + "${SRCDIR}/public/zip_uncompressed.h" + + # Haptics + "$<${IS_WINDOWS}:${SRCDIR}/public/haptics/ihaptics.h>" + "$<${IS_WINDOWS}:${SRCDIR}/public/haptics/haptic_utils.h>" + + # Game Shared Header Files + "${SRCDIR}/game/shared/activitylist.h" + "${SRCDIR}/game/shared/ai_activity.h" + "${SRCDIR}/game/shared/ai_debug_shared.h" + "${SRCDIR}/game/shared/ammodef.h" + "${SRCDIR}/game/shared/animation.h" + "${SRCDIR}/game/shared/apparent_velocity_helper.h" + "${SRCDIR}/game/shared/base_playeranimstate.h" + "${SRCDIR}/game/shared/baseentity_shared.h" + "${SRCDIR}/game/shared/basegrenade_shared.h" + "${SRCDIR}/game/shared/hl2/basehlcombatweapon_shared.h" + "${SRCDIR}/game/shared/baseparticleentity.h" + "${SRCDIR}/game/shared/baseplayer_shared.h" + "${SRCDIR}/game/shared/baseviewmodel_shared.h" + "${SRCDIR}/game/shared/beam_flags.h" + "${SRCDIR}/game/shared/beam_shared.h" + "${SRCDIR}/game/shared/choreoactor.h" + "${SRCDIR}/game/shared/choreochannel.h" + "${SRCDIR}/game/shared/choreoevent.h" + "${SRCDIR}/game/shared/choreoscene.h" + "${SRCDIR}/game/shared/collisionproperty.h" + "${SRCDIR}/game/shared/death_pose.h" + "${SRCDIR}/game/shared/decals.h" + "${SRCDIR}/game/shared/effect_color_tables.h" + "${SRCDIR}/game/shared/effect_dispatch_data.h" + "${SRCDIR}/game/shared/ehandle.h" + "${SRCDIR}/game/shared/entitydatainstantiator.h" + "${SRCDIR}/game/shared/entitylist_base.h" + "${SRCDIR}/game/shared/entityparticletrail_shared.h" + "${SRCDIR}/game/shared/env_detail_controller.h" + "${SRCDIR}/game/shared/env_wind_shared.h" + "${SRCDIR}/game/shared/eventlist.h" + "${SRCDIR}/game/shared/func_dust_shared.h" + "${SRCDIR}/game/shared/func_ladder.h" + "${SRCDIR}/game/shared/gameeventdefs.h" + "${SRCDIR}/game/shared/gamemovement.h" + "${SRCDIR}/game/shared/gamerules.h" + "${SRCDIR}/game/shared/gamerules_register.h" + "${SRCDIR}/game/shared/gamestats.h" + "${SRCDIR}/game/shared/gamestringpool.h" + "${SRCDIR}/game/shared/gamevars_shared.h" + "${SRCDIR}/game/shared/groundlink.h" + "${SRCDIR}/game/shared/hl2/hl2_player_shared.h" + "${SRCDIR}/game/shared/hl2/hl_movedata.h" + "${SRCDIR}/game/shared/ichoreoeventcallback.h" + "${SRCDIR}/game/shared/IEffects.h" + "${SRCDIR}/game/shared/igamemovement.h" + "${SRCDIR}/game/shared/igamesystem.h" + "${SRCDIR}/game/shared/imovehelper.h" + "${SRCDIR}/game/shared/in_buttons.h" + "${SRCDIR}/game/shared/interval.h" + "${SRCDIR}/game/shared/iplayeranimstate.h" + "${SRCDIR}/game/shared/ipredictionsystem.h" + "${SRCDIR}/game/shared/itempents.h" + "${SRCDIR}/game/shared/IVehicle.h" + "${SRCDIR}/game/shared/mapdata_shared.h" + "${SRCDIR}/game/shared/mapentities_shared.h" + "${SRCDIR}/game/shared/movevars_shared.h" + "${SRCDIR}/game/shared/multiplay_gamerules.h" + "${SRCDIR}/game/shared/npcevent.h" + "${SRCDIR}/game/shared/obstacle_pushaway.h" + "${SRCDIR}/game/shared/physics_saverestore.h" + "${SRCDIR}/game/shared/physics_shared.h" + "${SRCDIR}/game/shared/playernet_vars.h" + "${SRCDIR}/game/shared/point_posecontroller.h" + "${SRCDIR}/game/shared/positionwatcher.h" + "${SRCDIR}/game/shared/precache_register.h" + "${SRCDIR}/game/shared/precipitation_shared.h" + "${SRCDIR}/game/shared/predictable_entity.h" + "${SRCDIR}/game/shared/predictableid.h" + "${SRCDIR}/game/shared/predictioncopy.h" + "${SRCDIR}/game/shared/ragdoll_shared.h" + "${SRCDIR}/game/shared/rope_helpers.h" + "${SRCDIR}/game/shared/saverestore.h" + "${SRCDIR}/game/shared/saverestore_bitstring.h" + "${SRCDIR}/game/shared/saverestore_utlclass.h" + "${SRCDIR}/game/shared/saverestore_utlsymbol.h" + "${SRCDIR}/game/shared/saverestore_utlvector.h" + "${SRCDIR}/game/shared/sceneentity_shared.h" + "${SRCDIR}/game/shared/scriptevent.h" + "${SRCDIR}/game/shared/sequence_Transitioner.h" + "${SRCDIR}/game/shared/shared_classnames.h" + "${SRCDIR}/game/shared/shareddefs.h" + "${SRCDIR}/game/shared/sharedInterface.h" + "${SRCDIR}/game/shared/sheetsimulator.h" + "${SRCDIR}/game/shared/shot_manipulator.h" + "${SRCDIR}/game/shared/simtimer.h" + "${SRCDIR}/game/shared/singleplay_gamerules.h" + "${SRCDIR}/game/shared/smoke_fog_overlay_shared.h" + "${SRCDIR}/game/shared/solidsetdefaults.h" + "${SRCDIR}/game/shared/soundenvelope.h" + "${SRCDIR}/game/shared/Sprite.h" + "${SRCDIR}/game/shared/SpriteTrail.h" + "${SRCDIR}/game/shared/sun_shared.h" + "${SRCDIR}/game/shared/takedamageinfo.h" + "${SRCDIR}/game/shared/teamplay_gamerules.h" + "${SRCDIR}/game/shared/teamplayroundbased_gamerules.h" + "${SRCDIR}/game/shared/tempentity.h" + "${SRCDIR}/game/shared/touchlink.h" + "${SRCDIR}/game/shared/usercmd.h" + "${SRCDIR}/game/shared/usermessages.h" + "${SRCDIR}/game/shared/util_shared.h" + "${SRCDIR}/game/shared/vehicle_choreo_generic_shared.h" + "${SRCDIR}/game/shared/vehicle_viewblend_shared.h" + "${SRCDIR}/game/shared/vgui_defaultinputsignal.h" + "${SRCDIR}/game/shared/viewport_panel_names.h" + "${SRCDIR}/game/shared/voice_banmgr.h" + "${SRCDIR}/game/shared/voice_common.h" + "${SRCDIR}/game/shared/voice_gamemgr.h" + "${SRCDIR}/game/shared/voice_status.h" + "${SRCDIR}/game/shared/vphysics_sound.h" + "${SRCDIR}/game/shared/weapon_parse.h" + "${SRCDIR}/game/shared/weapon_proficiency.h" + "${SRCDIR}/game/shared/weapon_ifmsteadycam.h" + "${SRCDIR}/game/shared/mp_shareddefs.h" + + # game_controls Header Files + "${CLIENT_BASE_DIR}/game_controls/baseviewport.h" + "${CLIENT_BASE_DIR}/game_controls/clientscoreboarddialog.h" + "${CLIENT_BASE_DIR}/game_controls/commandmenu.h" + "${CLIENT_BASE_DIR}/game_controls/imagemouseoverbutton.h" + "${CLIENT_BASE_DIR}/game_controls/intromenu.h" + "${CLIENT_BASE_DIR}/game_controls/mapoverview.h" + "${CLIENT_BASE_DIR}/game_controls/mouseoverhtmlbutton.h" + "${CLIENT_BASE_DIR}/game_controls/mouseoverpanelbutton.h" + "${CLIENT_BASE_DIR}/game_controls/spectatorgui.h" + "${CLIENT_BASE_DIR}/game_controls/teammenu.h" + "${CLIENT_BASE_DIR}/game_controls/vguitextwindow.h" + "${CLIENT_BASE_DIR}/game_controls/IconPanel.h" +) + +set_source_files_properties( + "${CLIENT_BASE_DIR}/youtubeapi.cpp" + "${SRCDIR}/common/movieobjects/timeutils.cpp" + "${SRCDIR}/public/bone_setup.cpp" + "${SRCDIR}/public/posedebugger.cpp" + "${SRCDIR}/public/client_class.cpp" + "${SRCDIR}/common/compiledcaptionswap.cpp" + "${SRCDIR}/public/collisionutils.cpp" + "${SRCDIR}/public/crtmemdebug.cpp" + "${SRCDIR}/public/dt_recv.cpp" + "${SRCDIR}/public/dt_utlvector_common.cpp" + "${SRCDIR}/public/dt_utlvector_recv.cpp" + "${SRCDIR}/public/filesystem_helpers.cpp" + "${SRCDIR}/public/interpolatortypes.cpp" + "${SRCDIR}/game/shared/interval.cpp" + "${SRCDIR}/common/language.cpp" + "${SRCDIR}/public/networkvar.cpp" + "${SRCDIR}/common/randoverride.cpp" + "${SRCDIR}/public/rope_physics.cpp" + "${SRCDIR}/public/scratchpad3d.cpp" + "${SRCDIR}/public/ScratchPadUtils.cpp" + "${SRCDIR}/public/sentence.cpp" + "${SRCDIR}/game/shared/sheetsimulator.cpp" + "${SRCDIR}/public/simple_physics.cpp" + "${SRCDIR}/public/stringregistry.cpp" + "${SRCDIR}/public/studio.cpp" + "${SRCDIR}/public/vallocator.cpp" + "${SRCDIR}/public/vgui_controls/vgui_controls.cpp" + "${SRCDIR}/public/jigglebones.cpp" + "${CLIENT_BASE_DIR}/hud_lcd.cpp" + "${CLIENT_BASE_DIR}/in_mouse.cpp" + "${CLIENT_BASE_DIR}/mumble.cpp" + "${SRCDIR}/public/renamed_recvtable_compat.cpp" + "${CLIENT_BASE_DIR}/rendertexture.cpp" + PROPERTIES SKIP_PRECOMPILE_HEADERS ON +) + +function(target_use_client_base target EXCLUDE_SOURCES) + set(USED_SOURCES ${CLIENT_BASE_SOURCE_FILES}) + + if (${EXCLUDE_SOURCES}) + list(REMOVE_ITEM USED_SOURCES ${${EXCLUDE_SOURCES}}) + endif() + + target_sources( + ${target} PRIVATE + ${USED_SOURCES} + ) + + target_include_directories( + ${target} PRIVATE + "${CLIENT_BASE_DIR}" + "${SRCDIR}/vgui2/include" + "${SRCDIR}/vgui2/controls" + "${SRCDIR}/game/shared" + "${CLIENT_BASE_DIR}/game_controls" + "${SRCDIR}/thirdparty/sixensesdk/include" + ) + + target_compile_definitions( + ${target} PRIVATE + NO_STRING_T + CLIENT_DLL + VECTOR + VERSION_SAFE_STEAM_API_INTERFACES + PROTECTED_THINGS_ENABLE + strncpy=use_Q_strncpy_instead + _snprintf=use_Q_snprintf_instead + $<${IS_WINDOWS}:fopen=dont_use_fopen> + $<${IS_LINUX}:USE_WEBM_FOR_REPLAY> + $<$:CURL_STATICLIB> + ) + + target_precompile_headers( + ${target} PRIVATE + "${CLIENT_BASE_DIR}/cbase.h" + ) + + # (Originally from client_base.vpc) + # FIXME: VS2022 + # particles.lib defines _hypot, and in VS2022, so does libucrt! + # Ideally, we'd just fix particles.lib, but I'm not sure how yet + if ( MSVC ) + target_link_options( + ${target} PRIVATE + /FORCE:MULTIPLE + ) + endif() + + target_link_libraries( + ${target} PRIVATE + + "$<${IS_OSX}:-framework Carbon>" + $<${IS_LINUX}:rt> + $<${IS_WINDOWS}:winmm> + "$<$:wsock32;Ws2_32>" + "${LIBPUBLIC}/particles${STATIC_LIB_EXT}" + + "${LIBPUBLIC}/bitmap${STATIC_LIB_EXT}" + "${LIBPUBLIC}/choreoobjects${STATIC_LIB_EXT}" + "${LIBPUBLIC}/dmxloader${STATIC_LIB_EXT}" + mathlib + "${LIBPUBLIC}/matsys_controls${STATIC_LIB_EXT}" + tier1 + "${LIBPUBLIC}/tier2${STATIC_LIB_EXT}" + "${LIBPUBLIC}/tier3${STATIC_LIB_EXT}" + vgui_controls + "${LIBPUBLIC}/vtf${STATIC_LIB_EXT}" + steam_api + + #"$<${IS_POSIX}:${LIBCOMMON}/libcrypto${STATIC_LIB_EXT}>" + + #"$<${IS_OSX}:${LIBCOMMON}/curl${STATIC_LIB_EXT}>" + + #"$<${IS_WINDOWS}:${LIBCOMMON}/libcurl${STATIC_LIB_EXT}>" + "$<$:${LIBPUBLIC}/libz${STATIC_LIB_EXT}>" + + #"$<${IS_LINUX}:${LIBCOMMON}/libcurl${STATIC_LIB_EXT}>" + #"$<${IS_LINUX}:${LIBCOMMON}/libcurlssl${STATIC_LIB_EXT}>" + + #"$<${IS_LINUX}:${LIBCOMMON}/libssl${STATIC_LIB_EXT}>" + + ) +endfunction() \ No newline at end of file diff --git a/mp/src/game/client/client_hl2mp.cmake b/mp/src/game/client/client_hl2mp.cmake new file mode 100644 index 00000000000..f00582b0b10 --- /dev/null +++ b/mp/src/game/client/client_hl2mp.cmake @@ -0,0 +1,181 @@ +# client_hl2mp.cmake + +include("${CMAKE_CURRENT_LIST_DIR}/client_base.cmake") + +set(CLIENT_HL2MP_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + CLIENT_HL2MP_SOURCE_FILES + + # Source Files + "${CLIENT_HL2MP_DIR}/c_team_objectiveresource.cpp" + "${CLIENT_HL2MP_DIR}/c_team_objectiveresource.h" + "${CLIENT_HL2MP_DIR}/c_team_train_watcher.cpp" + "${CLIENT_HL2MP_DIR}/c_team_train_watcher.h" + "${CLIENT_HL2MP_DIR}/hud_voicestatus.cpp" + "${SRCDIR}/game/shared/predicted_viewmodel.cpp" + "${SRCDIR}/game/shared/predicted_viewmodel.h" + "${SRCDIR}/game/shared/teamplay_round_timer.cpp" + "${SRCDIR}/game/shared/teamplay_round_timer.h" + + # HL2 DLL + "${CLIENT_HL2MP_DIR}/episodic/c_vort_charge_token.cpp" + "${SRCDIR}/game/shared/hl2/basehlcombatweapon_shared.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_antlion_dust.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_ar2_explosion.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_barnacle.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_barney.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_basehelicopter.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_basehelicopter.h" + "${CLIENT_HL2MP_DIR}/hl2/c_basehlcombatweapon.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_basehlcombatweapon.h" + "${CLIENT_HL2MP_DIR}/hl2/c_basehlplayer.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_basehlplayer.h" + "${CLIENT_HL2MP_DIR}/hl2/c_citadel_effects.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_corpse.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_corpse.h" + "${CLIENT_HL2MP_DIR}/hl2/c_env_alyxtemp.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_env_headcrabcanister.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_env_starfield.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_func_tankmortar.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_hl2_playerlocaldata.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_hl2_playerlocaldata.h" + "${CLIENT_HL2MP_DIR}/hl2/c_info_teleporter_countdown.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_npc_antlionguard.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_npc_combinegunship.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_npc_manhack.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_npc_rollermine.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_plasma_beam_node.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_prop_combine_ball.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_prop_combine_ball.h" + "${CLIENT_HL2MP_DIR}/hl2/c_rotorwash.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_script_intro.cpp" + "${SRCDIR}/game/shared/script_intro_shared.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_strider.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_te_concussiveexplosion.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_te_flare.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_thumper_dust.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_vehicle_airboat.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_vehicle_cannon.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_vehicle_crane.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_vehicle_crane.h" + "${CLIENT_HL2MP_DIR}/hl2/c_vehicle_prisoner_pod.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_weapon__stubs_hl2.cpp" + "${CLIENT_HL2MP_DIR}/hl2/c_weapon_crossbow.cpp" + "${SRCDIR}/game/shared/hl2/citadel_effects_shared.h" + "${SRCDIR}/game/shared/hl2/env_headcrabcanister_shared.cpp" + "${SRCDIR}/game/shared/hl2/env_headcrabcanister_shared.h" + "${CLIENT_HL2MP_DIR}/hl2/fx_antlion.cpp" + "${CLIENT_HL2MP_DIR}/hl2/fx_bugbait.cpp" + "${CLIENT_HL2MP_DIR}/hl2/fx_hl2_impacts.cpp" + "${CLIENT_HL2MP_DIR}/hl2/fx_hl2_tracers.cpp" + "${CLIENT_HL2MP_DIR}/hl2/hl2_clientmode.cpp" + "${SRCDIR}/game/shared/hl2/hl2_gamerules.cpp" + "${SRCDIR}/game/shared/hl2/hl2_gamerules.h" + "${SRCDIR}/game/shared/hl2/hl2_shareddefs.h" + "${SRCDIR}/game/shared/hl2/hl2_usermessages.cpp" + "${SRCDIR}/game/shared/hl2/hl_gamemovement.cpp" + "${SRCDIR}/game/shared/hl2/hl_gamemovement.h" + "${CLIENT_HL2MP_DIR}/hl2/hl_in_main.cpp" + "${CLIENT_HL2MP_DIR}/hl2/hl_prediction.cpp" + "${CLIENT_HL2MP_DIR}/hl2/hud_ammo.cpp" + "${CLIENT_HL2MP_DIR}/hl2/hud_battery.cpp" + "${CLIENT_HL2MP_DIR}/hl2/hud_blood.cpp" + "${CLIENT_HL2MP_DIR}/hl2/hud_credits.cpp" + "${CLIENT_HL2MP_DIR}/hl2/hud_damageindicator.cpp" + "${CLIENT_HL2MP_DIR}/hl2/hud_flashlight.cpp" + "${CLIENT_HL2MP_DIR}/hl2/hud_health.cpp" + "${CLIENT_HL2MP_DIR}/hl2/hud_poisondamageindicator.cpp" + "${CLIENT_HL2MP_DIR}/hl2/hud_quickinfo.cpp" + "${CLIENT_HL2MP_DIR}/hud_squadstatus.cpp" + "${CLIENT_HL2MP_DIR}/hl2/hud_suitpower.cpp" + "${CLIENT_HL2MP_DIR}/hl2/hud_suitpower.h" + "${CLIENT_HL2MP_DIR}/hl2/hud_weaponselection.cpp" + "${CLIENT_HL2MP_DIR}/hl2/hud_zoom.cpp" + "${CLIENT_HL2MP_DIR}/hl2/shieldproxy.cpp" + "${CLIENT_HL2MP_DIR}/hl2/vgui_rootpanel_hl2.cpp" + + # HL2MP + "${CLIENT_HL2MP_DIR}/hl2mp/c_hl2mp_player.cpp" + "${CLIENT_HL2MP_DIR}/hl2mp/c_hl2mp_player.h" + "${CLIENT_HL2MP_DIR}/hl2mp/c_te_hl2mp_shotgun_shot.cpp" + "${CLIENT_HL2MP_DIR}/hl2mp/clientmode_hl2mpnormal.cpp" + "${CLIENT_HL2MP_DIR}/hl2mp/clientmode_hl2mpnormal.h" + "${SRCDIR}/game/shared/hl2mp/hl2mp_gamerules.cpp" + "${SRCDIR}/game/shared/hl2mp/hl2mp_gamerules.h" + "${SRCDIR}/game/shared/hl2mp/hl2mp_player_shared.cpp" + "${SRCDIR}/game/shared/hl2mp/hl2mp_player_shared.h" + "${SRCDIR}/game/shared/hl2mp/hl2mp_weapon_parse.cpp" + "${SRCDIR}/game/shared/hl2mp/hl2mp_weapon_parse.h" + + # HL2MP->Weapons + "${SRCDIR}/game/shared/hl2mp/weapon_357.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_ar2.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_ar2.h" + "${SRCDIR}/game/shared/hl2mp/weapon_crossbow.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_crowbar.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_frag.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_hl2mpbase.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_hl2mpbase.h" + "${SRCDIR}/game/shared/hl2mp/weapon_hl2mpbase_machinegun.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_hl2mpbase_machinegun.h" + "${SRCDIR}/game/shared/hl2mp/weapon_hl2mpbasebasebludgeon.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_hl2mpbasehlmpcombatweapon.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_hl2mpbasehlmpcombatweapon.h" + "${SRCDIR}/game/shared/hl2mp/weapon_physcannon.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_physcannon.h" + "${SRCDIR}/game/shared/hl2mp/weapon_pistol.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_rpg.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_rpg.h" + "${SRCDIR}/game/shared/hl2mp/weapon_shotgun.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_slam.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_slam.h" + "${SRCDIR}/game/shared/hl2mp/weapon_smg1.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_stunstick.cpp" + + # HL2MP->UI + "${CLIENT_HL2MP_DIR}/hl2mp/ui/backgroundpanel.cpp" + "${CLIENT_HL2MP_DIR}/hl2mp/ui/backgroundpanel.h" + "${CLIENT_HL2MP_DIR}/hl2mp/hl2mp_hud_chat.cpp" + "${CLIENT_HL2MP_DIR}/hl2mp/hl2mp_hud_chat.h" + "${CLIENT_HL2MP_DIR}/hl2mp/hl2mp_hud_target_id.cpp" + "${CLIENT_HL2MP_DIR}/hl2mp/hl2mp_hud_team.cpp" + "${CLIENT_HL2MP_DIR}/hl2mp/ui/hl2mpclientscoreboard.cpp" + "${CLIENT_HL2MP_DIR}/hl2mp/ui/hl2mpclientscoreboard.h" + "${CLIENT_HL2MP_DIR}/hl2mp/ui/hl2mptextwindow.cpp" + "${CLIENT_HL2MP_DIR}/hl2mp/ui/hl2mptextwindow.h" + "${CLIENT_HL2MP_DIR}/hl2mp/hud_deathnotice.cpp" +) + +set( + CLIENT_HL2MP_EXCLUDE_SOURCES + "${SRCDIR}/game/shared/weapon_parse_default.cpp" +) + +add_library(client_hl2mp MODULE ${CLIENT_HL2MP_SOURCE_FILES}) + +set_target_properties( + client_hl2mp PROPERTIES + OUTPUT_NAME "client" + PREFIX "" + LIBRARY_OUTPUT_DIRECTORY "${GAMEDIR}/mod_hl2mp/bin" + LIBRARY_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/mod_hl2mp/bin" + LIBRARY_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/mod_hl2mp/bin" +) + +target_use_client_base(client_hl2mp CLIENT_HL2MP_EXCLUDE_SOURCES) + +target_include_directories( + client_hl2mp PRIVATE + "${CLIENT_HL2MP_DIR}/hl2mp/ui" + "${CLIENT_HL2MP_DIR}/hl2mp" + "${SRCDIR}/game/shared/hl2mp" + "${CLIENT_HL2MP_DIR}/hl2" + "${CLIENT_HL2MP_DIR}/hl2/elements" + "${SRCDIR}/game/shared/hl2" +) + +target_compile_definitions( + client_hl2mp PRIVATE + HL2MP + HL2_CLIENT_DLL +) \ No newline at end of file diff --git a/mp/src/game/server/ai_behavior_lead.cpp b/mp/src/game/server/ai_behavior_lead.cpp index 9cee1951fdc..ed50e778e75 100644 --- a/mp/src/game/server/ai_behavior_lead.cpp +++ b/mp/src/game/server/ai_behavior_lead.cpp @@ -3,8 +3,7 @@ // Purpose: // //=============================================================================// -#undef strncpy // we use std::string below that needs a good strncpy define -#undef sprintf // " + #include "cbase.h" #include "ai_behavior_lead.h" diff --git a/mp/src/game/server/nav_mesh.cmake b/mp/src/game/server/nav_mesh.cmake new file mode 100644 index 00000000000..9a23dad092b --- /dev/null +++ b/mp/src/game/server/nav_mesh.cmake @@ -0,0 +1,39 @@ +# nav_mesh.cmake + +include_guard(GLOBAL) + +set(NAV_MESH_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + NAV_MESH_SOURCE_FILES + "${NAV_MESH_DIR}/nav.h" + "${NAV_MESH_DIR}/nav_area.cpp" + "${NAV_MESH_DIR}/nav_area.h" + "${NAV_MESH_DIR}/nav_colors.cpp" + "${NAV_MESH_DIR}/nav_colors.h" + "${NAV_MESH_DIR}/nav_edit.cpp" + "${NAV_MESH_DIR}/nav_entities.cpp" + "${NAV_MESH_DIR}/nav_entities.h" + "${NAV_MESH_DIR}/nav_file.cpp" + "${NAV_MESH_DIR}/nav_generate.cpp" + "${NAV_MESH_DIR}/nav_ladder.cpp" + "${NAV_MESH_DIR}/nav_ladder.h" + "${NAV_MESH_DIR}/nav_merge.cpp" + "${NAV_MESH_DIR}/nav_mesh.cpp" + "${NAV_MESH_DIR}/nav_mesh.h" + "${NAV_MESH_DIR}/nav_mesh_factory.cpp" + "${NAV_MESH_DIR}/nav_node.cpp" + "${NAV_MESH_DIR}/nav_node.h" + "${NAV_MESH_DIR}/nav_pathfind.h" + "${NAV_MESH_DIR}/nav_simplify.cpp" +) + +function(target_use_nav_mesh target) + target_sources( + ${target} PRIVATE + ${NAV_MESH_SOURCE_FILES} + ) + target_compile_definitions( + ${target} PRIVATE + USE_NAV_MESH + ) +endfunction() \ No newline at end of file diff --git a/mp/src/game/server/server_base.cmake b/mp/src/game/server/server_base.cmake new file mode 100644 index 00000000000..357669cbb0f --- /dev/null +++ b/mp/src/game/server/server_base.cmake @@ -0,0 +1,996 @@ +# server_base.cmake + +include_guard(GLOBAL) + +set(SERVER_BASE_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + SERVER_BASE_SOURCE_FILES + + # Replay + "${SERVER_BASE_DIR}/gamedll_replay.cpp" + "${SRCDIR}/common/replay/ireplaysessionrecorder.h" + + "$<${BUILD_REPLAY}:${SRCDIR}/game/shared/replay_gamestats_shared.cpp>" + "$<${BUILD_REPLAY}:${SRCDIR}/game/shared/replay_gamestats_shared.h>" + + # Source Files + "${SRCDIR}/game/shared/achievement_saverestore.cpp" + "${SRCDIR}/game/shared/achievement_saverestore.h" + "${SRCDIR}/game/shared/achievementmgr.cpp" + "${SRCDIR}/game/shared/achievementmgr.h" + "${SRCDIR}/game/shared/achievements_hlx.cpp" + "${SRCDIR}/game/shared/activitylist.cpp" + "${SRCDIR}/game/shared/activitylist.h" + "${SERVER_BASE_DIR}/ai_activity.cpp" + "${SRCDIR}/game/shared/ai_activity.h" + "${SERVER_BASE_DIR}/ai_baseactor.cpp" + "${SERVER_BASE_DIR}/ai_baseactor.h" + "${SERVER_BASE_DIR}/ai_basehumanoid.cpp" + "${SERVER_BASE_DIR}/ai_basehumanoid.h" + "${SERVER_BASE_DIR}/ai_basenpc.cpp" + "${SERVER_BASE_DIR}/ai_basenpc.h" + "${SERVER_BASE_DIR}/ai_basenpc_flyer.cpp" + "${SERVER_BASE_DIR}/ai_basenpc_flyer.h" + "${SERVER_BASE_DIR}/ai_basenpc_flyer_new.cpp" + "${SERVER_BASE_DIR}/ai_basenpc_flyer_new.h" + "${SERVER_BASE_DIR}/ai_basenpc_movement.cpp" + "${SERVER_BASE_DIR}/ai_basenpc_physicsflyer.cpp" + "${SERVER_BASE_DIR}/ai_basenpc_physicsflyer.h" + "${SERVER_BASE_DIR}/ai_basenpc_schedule.cpp" + "${SERVER_BASE_DIR}/ai_basenpc_squad.cpp" + "${SERVER_BASE_DIR}/ai_behavior.cpp" + "${SERVER_BASE_DIR}/ai_behavior.h" + "${SERVER_BASE_DIR}/ai_behavior_assault.cpp" + "${SERVER_BASE_DIR}/ai_behavior_assault.h" + "${SERVER_BASE_DIR}/ai_behavior_fear.cpp" + "${SERVER_BASE_DIR}/ai_behavior_fear.h" + "${SERVER_BASE_DIR}/ai_behavior_follow.cpp" + "${SERVER_BASE_DIR}/ai_behavior_follow.h" + "${SERVER_BASE_DIR}/ai_behavior_lead.cpp" + "${SERVER_BASE_DIR}/ai_behavior_lead.h" + "${SERVER_BASE_DIR}/ai_behavior_rappel.cpp" + "${SERVER_BASE_DIR}/ai_behavior_rappel.h" + "${SERVER_BASE_DIR}/ai_behavior_standoff.cpp" + "${SERVER_BASE_DIR}/ai_behavior_standoff.h" + "${SERVER_BASE_DIR}/ai_blended_movement.cpp" + "${SERVER_BASE_DIR}/ai_blended_movement.h" + "${SERVER_BASE_DIR}/ai_component.h" + "${SERVER_BASE_DIR}/ai_concommands.cpp" + "${SERVER_BASE_DIR}/ai_condition.cpp" + "${SERVER_BASE_DIR}/ai_condition.h" + "${SERVER_BASE_DIR}/AI_Criteria.cpp" + "${SERVER_BASE_DIR}/AI_Criteria.h" + "${SERVER_BASE_DIR}/ai_debug.h" + "${SRCDIR}/game/shared/ai_debug_shared.h" + "${SERVER_BASE_DIR}/ai_default.cpp" + "${SERVER_BASE_DIR}/ai_default.h" + "${SERVER_BASE_DIR}/ai_dynamiclink.cpp" + "${SERVER_BASE_DIR}/ai_dynamiclink.h" + "${SERVER_BASE_DIR}/ai_event.cpp" + "${SERVER_BASE_DIR}/ai_goalentity.cpp" + "${SERVER_BASE_DIR}/ai_goalentity.h" + "${SERVER_BASE_DIR}/ai_hint.cpp" + "${SERVER_BASE_DIR}/ai_hint.h" + "${SERVER_BASE_DIR}/ai_hull.cpp" + "${SERVER_BASE_DIR}/ai_hull.h" + "${SERVER_BASE_DIR}/ai_initutils.cpp" + "${SERVER_BASE_DIR}/ai_initutils.h" + "${SERVER_BASE_DIR}/AI_Interest_Target.cpp" + "${SERVER_BASE_DIR}/AI_Interest_Target.h" + "${SERVER_BASE_DIR}/ai_link.cpp" + "${SERVER_BASE_DIR}/ai_link.h" + "${SERVER_BASE_DIR}/ai_localnavigator.cpp" + "${SERVER_BASE_DIR}/ai_localnavigator.h" + "${SERVER_BASE_DIR}/ai_looktarget.cpp" + "${SERVER_BASE_DIR}/ai_looktarget.h" + "${SERVER_BASE_DIR}/ai_memory.cpp" + "${SERVER_BASE_DIR}/ai_memory.h" + "${SERVER_BASE_DIR}/ai_motor.cpp" + "${SERVER_BASE_DIR}/ai_motor.h" + "${SERVER_BASE_DIR}/ai_moveprobe.cpp" + "${SERVER_BASE_DIR}/ai_moveprobe.h" + "${SERVER_BASE_DIR}/ai_moveshoot.cpp" + "${SERVER_BASE_DIR}/ai_moveshoot.h" + "${SERVER_BASE_DIR}/ai_movesolver.cpp" + "${SERVER_BASE_DIR}/ai_movesolver.h" + "${SERVER_BASE_DIR}/ai_movetypes.h" + "${SERVER_BASE_DIR}/ai_namespaces.cpp" + "${SERVER_BASE_DIR}/ai_namespaces.h" + "${SERVER_BASE_DIR}/ai_navgoaltype.h" + "${SERVER_BASE_DIR}/ai_navigator.cpp" + "${SERVER_BASE_DIR}/ai_navigator.h" + "${SERVER_BASE_DIR}/ai_navtype.h" + "${SERVER_BASE_DIR}/ai_network.cpp" + "${SERVER_BASE_DIR}/ai_network.h" + "${SERVER_BASE_DIR}/ai_networkmanager.cpp" + "${SERVER_BASE_DIR}/ai_networkmanager.h" + "${SERVER_BASE_DIR}/ai_node.cpp" + "${SERVER_BASE_DIR}/ai_node.h" + "${SERVER_BASE_DIR}/ai_npcstate.h" + "${SERVER_BASE_DIR}/ai_obstacle_type.h" + "${SERVER_BASE_DIR}/ai_pathfinder.cpp" + "${SERVER_BASE_DIR}/ai_pathfinder.h" + "${SERVER_BASE_DIR}/ai_planesolver.cpp" + "${SERVER_BASE_DIR}/ai_planesolver.h" + "${SERVER_BASE_DIR}/ai_playerally.cpp" + "${SERVER_BASE_DIR}/ai_playerally.h" + "${SERVER_BASE_DIR}/AI_ResponseSystem.cpp" + "${SERVER_BASE_DIR}/AI_ResponseSystem.h" + "${SERVER_BASE_DIR}/ai_route.cpp" + "${SERVER_BASE_DIR}/ai_route.h" + "${SERVER_BASE_DIR}/ai_routedist.h" + "${SERVER_BASE_DIR}/ai_saverestore.cpp" + "${SERVER_BASE_DIR}/ai_saverestore.h" + "${SERVER_BASE_DIR}/ai_schedule.cpp" + "${SERVER_BASE_DIR}/ai_schedule.h" + "${SERVER_BASE_DIR}/ai_scriptconditions.cpp" + "${SERVER_BASE_DIR}/ai_scriptconditions.h" + "${SERVER_BASE_DIR}/ai_senses.cpp" + "${SERVER_BASE_DIR}/ai_senses.h" + "${SERVER_BASE_DIR}/ai_sentence.cpp" + "${SERVER_BASE_DIR}/ai_sentence.h" + "${SERVER_BASE_DIR}/ai_speech.cpp" + "${SERVER_BASE_DIR}/ai_speech.h" + "${SERVER_BASE_DIR}/ai_speechfilter.cpp" + "${SERVER_BASE_DIR}/ai_speechfilter.h" + "${SERVER_BASE_DIR}/ai_squad.cpp" + "${SERVER_BASE_DIR}/ai_squad.h" + "${SERVER_BASE_DIR}/ai_squadslot.cpp" + "${SERVER_BASE_DIR}/ai_squadslot.h" + "${SERVER_BASE_DIR}/ai_tacticalservices.cpp" + "${SERVER_BASE_DIR}/ai_tacticalservices.h" + "${SERVER_BASE_DIR}/ai_task.cpp" + "${SERVER_BASE_DIR}/ai_task.h" + "${SERVER_BASE_DIR}/ai_trackpather.cpp" + "${SERVER_BASE_DIR}/ai_trackpather.h" + "${SERVER_BASE_DIR}/ai_utils.cpp" + "${SERVER_BASE_DIR}/ai_utils.h" + "${SERVER_BASE_DIR}/ai_waypoint.cpp" + "${SERVER_BASE_DIR}/ai_waypoint.h" + "${SRCDIR}/game/shared/ammodef.cpp" + "${SRCDIR}/game/shared/animation.cpp" + "${SRCDIR}/game/shared/animation.h" + "${SRCDIR}/game/shared/apparent_velocity_helper.h" + "${SRCDIR}/game/shared/base_playeranimstate.cpp" + "${SERVER_BASE_DIR}/base_transmit_proxy.cpp" + "${SRCDIR}/game/shared/baseachievement.cpp" + "${SRCDIR}/game/shared/baseachievement.h" + "${SERVER_BASE_DIR}/baseanimating.cpp" + "${SERVER_BASE_DIR}/baseanimating.h" + "${SERVER_BASE_DIR}/BaseAnimatingOverlay.cpp" + "${SERVER_BASE_DIR}/BaseAnimatingOverlay.h" + "${SERVER_BASE_DIR}/basecombatcharacter.cpp" + "${SERVER_BASE_DIR}/basecombatcharacter.h" + "${SRCDIR}/game/shared/basecombatcharacter_shared.cpp" + "${SERVER_BASE_DIR}/basecombatweapon.cpp" + "${SERVER_BASE_DIR}/basecombatweapon.h" + "${SRCDIR}/game/shared/basecombatweapon_shared.cpp" + "${SRCDIR}/game/shared/basecombatweapon_shared.h" + "${SERVER_BASE_DIR}/baseentity.cpp" + "${SERVER_BASE_DIR}/baseentity.h" + "${SRCDIR}/game/shared/baseentity_shared.cpp" + "${SRCDIR}/game/shared/baseentity_shared.h" + "${SERVER_BASE_DIR}/baseflex.cpp" + "${SERVER_BASE_DIR}/baseflex.h" + "${SRCDIR}/game/shared/basegrenade_shared.cpp" + "${SRCDIR}/game/shared/basegrenade_shared.h" + "${SERVER_BASE_DIR}/basemultiplayerplayer.cpp" + "${SERVER_BASE_DIR}/basemultiplayerplayer.h" + "${SRCDIR}/game/shared/baseparticleentity.cpp" + "${SRCDIR}/game/shared/baseparticleentity.h" + "${SRCDIR}/game/shared/baseplayer_shared.cpp" + "${SRCDIR}/game/shared/baseplayer_shared.h" + "${SRCDIR}/game/shared/baseprojectile.cpp" + "${SRCDIR}/game/shared/baseprojectile.h" + "${SERVER_BASE_DIR}/BasePropDoor.h" + "${SERVER_BASE_DIR}/basetoggle.h" + "${SERVER_BASE_DIR}/baseviewmodel.cpp" + "${SERVER_BASE_DIR}/baseviewmodel.h" + "${SRCDIR}/game/shared/baseviewmodel_shared.cpp" + "${SRCDIR}/game/shared/baseviewmodel_shared.h" + "${SRCDIR}/game/shared/beam_shared.cpp" + "${SRCDIR}/game/shared/beam_shared.h" + "${SERVER_BASE_DIR}/bitstring.cpp" + "${SERVER_BASE_DIR}/bitstring.h" + "${SERVER_BASE_DIR}/bmodels.cpp" + "${SRCDIR}/public/bone_setup.h" + "${SERVER_BASE_DIR}/buttons.cpp" + "${SERVER_BASE_DIR}/buttons.h" + "${SERVER_BASE_DIR}/cbase.cpp" + "${SERVER_BASE_DIR}/cbase.h" + "${SRCDIR}/game/shared/choreoactor.h" + "${SRCDIR}/game/shared/choreochannel.h" + "${SRCDIR}/game/shared/choreoevent.h" + "${SRCDIR}/game/shared/choreoscene.h" + "${SERVER_BASE_DIR}/client.cpp" + "${SERVER_BASE_DIR}/client.h" + "${SRCDIR}/game/shared/collisionproperty.cpp" + "${SRCDIR}/game/shared/collisionproperty.h" + "${SRCDIR}/public/collisionutils.h" + "${SERVER_BASE_DIR}/colorcorrection.cpp" + "${SERVER_BASE_DIR}/colorcorrectionvolume.cpp" + "${SERVER_BASE_DIR}/CommentarySystem.cpp" + "${SERVER_BASE_DIR}/controlentities.cpp" + "${SERVER_BASE_DIR}/cplane.cpp" + "${SERVER_BASE_DIR}/CRagdollMagnet.cpp" + "${SERVER_BASE_DIR}/CRagdollMagnet.h" + "${SERVER_BASE_DIR}/damagemodifier.cpp" + "${SRCDIR}/game/shared/death_pose.cpp" + "${SRCDIR}/game/shared/debugoverlay_shared.cpp" + "${SRCDIR}/game/shared/debugoverlay_shared.h" + "${SRCDIR}/game/shared/decals.cpp" + "${SERVER_BASE_DIR}/doors.cpp" + "${SERVER_BASE_DIR}/doors.h" + "${SERVER_BASE_DIR}/dynamiclight.cpp" + "${SRCDIR}/public/edict.h" + "${SRCDIR}/public/editor_sendcommand.h" + "${SRCDIR}/game/shared/effect_color_tables.h" + "${SRCDIR}/game/shared/effect_dispatch_data.cpp" + "${SERVER_BASE_DIR}/effects.cpp" + "${SERVER_BASE_DIR}/effects.h" + "${SERVER_BASE_DIR}/EffectsServer.cpp" + "${SRCDIR}/game/shared/ehandle.cpp" + "${SRCDIR}/public/eiface.h" + "${SERVER_BASE_DIR}/enginecallback.h" + "${SERVER_BASE_DIR}/entityapi.h" + "${SERVER_BASE_DIR}/entityblocker.cpp" + "${SERVER_BASE_DIR}/entityblocker.h" + "${SERVER_BASE_DIR}/EntityDissolve.cpp" + "${SERVER_BASE_DIR}/EntityDissolve.h" + "${SERVER_BASE_DIR}/EntityFlame.cpp" + "${SERVER_BASE_DIR}/entityinput.h" + "${SERVER_BASE_DIR}/entitylist.cpp" + "${SERVER_BASE_DIR}/entitylist.h" + "${SRCDIR}/game/shared/entitylist_base.cpp" + "${SERVER_BASE_DIR}/entityoutput.h" + "${SERVER_BASE_DIR}/EntityParticleTrail.cpp" + "${SERVER_BASE_DIR}/EntityParticleTrail.h" + "${SRCDIR}/game/shared/EntityParticleTrail_Shared.cpp" + "${SRCDIR}/game/shared/entityparticletrail_shared.h" + "${SERVER_BASE_DIR}/env_debughistory.cpp" + "${SERVER_BASE_DIR}/env_debughistory.h" + "${SRCDIR}/game/shared/env_detail_controller.cpp" + "${SERVER_BASE_DIR}/env_effectsscript.cpp" + "${SERVER_BASE_DIR}/env_entity_maker.cpp" + "${SERVER_BASE_DIR}/env_particlescript.cpp" + "${SERVER_BASE_DIR}/env_player_surface_trigger.cpp" + "${SERVER_BASE_DIR}/env_player_surface_trigger.h" + "${SERVER_BASE_DIR}/env_projectedtexture.cpp" + "${SERVER_BASE_DIR}/env_screenoverlay.cpp" + "${SERVER_BASE_DIR}/env_texturetoggle.cpp" + "${SERVER_BASE_DIR}/env_tonemap_controller.cpp" + "${SRCDIR}/game/shared/env_wind_shared.cpp" + "${SRCDIR}/game/shared/env_wind_shared.h" + "${SERVER_BASE_DIR}/env_zoom.cpp" + "${SERVER_BASE_DIR}/env_zoom.h" + "${SERVER_BASE_DIR}/EnvBeam.cpp" + "${SERVER_BASE_DIR}/EnvFade.cpp" + "${SERVER_BASE_DIR}/EnvHudHint.cpp" + "${SERVER_BASE_DIR}/EnvLaser.cpp" + "${SERVER_BASE_DIR}/EnvLaser.h" + "${SERVER_BASE_DIR}/EnvMessage.cpp" + "${SERVER_BASE_DIR}/EnvMessage.h" + "${SERVER_BASE_DIR}/envmicrophone.cpp" + "${SERVER_BASE_DIR}/envmicrophone.h" + "${SERVER_BASE_DIR}/EnvShake.cpp" + "${SERVER_BASE_DIR}/EnvSpark.cpp" + "${SERVER_BASE_DIR}/envspark.h" + "${SRCDIR}/public/event_flags.h" + "${SERVER_BASE_DIR}/event_tempentity_tester.h" + "${SRCDIR}/game/shared/eventlist.cpp" + "${SRCDIR}/game/shared/eventlist.h" + "${SERVER_BASE_DIR}/EventLog.cpp" + "${SERVER_BASE_DIR}/eventqueue.h" + "${SERVER_BASE_DIR}/explode.cpp" + "${SERVER_BASE_DIR}/explode.h" + "${SERVER_BASE_DIR}/filters.cpp" + "${SERVER_BASE_DIR}/filters.h" + "${SERVER_BASE_DIR}/fire.cpp" + "${SERVER_BASE_DIR}/fire.h" + "${SERVER_BASE_DIR}/fire_smoke.cpp" + "${SERVER_BASE_DIR}/fire_smoke.h" + "${SERVER_BASE_DIR}/fish.cpp" + "${SERVER_BASE_DIR}/fish.h" + "${SERVER_BASE_DIR}/fogcontroller.cpp" + "${SERVER_BASE_DIR}/fourwheelvehiclephysics.cpp" + "${SERVER_BASE_DIR}/fourwheelvehiclephysics.h" + "${SERVER_BASE_DIR}/func_areaportal.cpp" + "${SERVER_BASE_DIR}/func_areaportalbase.cpp" + "${SERVER_BASE_DIR}/func_areaportalbase.h" + "${SERVER_BASE_DIR}/func_areaportalwindow.cpp" + "${SERVER_BASE_DIR}/func_areaportalwindow.h" + "${SERVER_BASE_DIR}/func_break.cpp" + "${SERVER_BASE_DIR}/func_break.h" + "${SERVER_BASE_DIR}/func_breakablesurf.cpp" + "${SERVER_BASE_DIR}/func_breakablesurf.h" + "${SERVER_BASE_DIR}/func_dust.cpp" + "${SRCDIR}/game/shared/func_dust_shared.h" + "${SRCDIR}/game/shared/func_ladder.cpp" + "${SERVER_BASE_DIR}/func_ladder_endpoint.cpp" + "${SERVER_BASE_DIR}/func_lod.cpp" + "${SERVER_BASE_DIR}/func_movelinear.cpp" + "${SERVER_BASE_DIR}/func_movelinear.h" + "${SERVER_BASE_DIR}/func_occluder.cpp" + "${SERVER_BASE_DIR}/func_reflective_glass.cpp" + "${SERVER_BASE_DIR}/func_smokevolume.cpp" + "${SERVER_BASE_DIR}/game.cpp" + "${SERVER_BASE_DIR}/game.h" + "${SERVER_BASE_DIR}/game_ui.cpp" + "${SERVER_BASE_DIR}/gameinterface.cpp" + "${SERVER_BASE_DIR}/gameinterface.h" + "${SRCDIR}/game/shared/gamemovement.cpp" + "${SRCDIR}/game/shared/gamemovement.h" + "${SRCDIR}/game/shared/gamerules.cpp" + "${SRCDIR}/game/shared/gamerules.h" + "${SRCDIR}/game/shared/gamerules_register.cpp" + "${SRCDIR}/game/shared/GameStats.cpp" + "${SRCDIR}/game/shared/gamestats.h" + "${SRCDIR}/game/shared/gamestringpool.cpp" + "${SRCDIR}/game/shared/gamestringpool.h" + "${SERVER_BASE_DIR}/gametrace_dll.cpp" + "${SRCDIR}/game/shared/gamevars_shared.cpp" + "${SRCDIR}/game/shared/gamevars_shared.h" + "${SERVER_BASE_DIR}/gameweaponmanager.cpp" + "${SERVER_BASE_DIR}/gameweaponmanager.h" + "${SERVER_BASE_DIR}/genericactor.cpp" + "${SERVER_BASE_DIR}/genericmonster.cpp" + "${SERVER_BASE_DIR}/gib.cpp" + "${SERVER_BASE_DIR}/gib.h" + "${SERVER_BASE_DIR}/globals.cpp" + "${SERVER_BASE_DIR}/globalstate.cpp" + "${SERVER_BASE_DIR}/globalstate.h" + "${SERVER_BASE_DIR}/globalstate_private.h" + "${SERVER_BASE_DIR}/guntarget.cpp" + "${SERVER_BASE_DIR}/h_ai.cpp" + "${SERVER_BASE_DIR}/hierarchy.cpp" + "${SERVER_BASE_DIR}/hierarchy.h" + "${SRCDIR}/common/hl2orange.spa.h" + "${SERVER_BASE_DIR}/hltvdirector.cpp" + "${SERVER_BASE_DIR}/hltvdirector.h" + "${SRCDIR}/game/shared/hintmessage.cpp" + "${SRCDIR}/game/shared/hintmessage.h" + "${SRCDIR}/game/shared/hintsystem.cpp" + "${SRCDIR}/game/shared/hintsystem.h" + "${SRCDIR}/game/shared/ichoreoeventcallback.h" + "${SRCDIR}/game/shared/igamesystem.cpp" + "${SRCDIR}/game/shared/igamesystem.h" + "${SERVER_BASE_DIR}/info_camera_link.cpp" + "${SERVER_BASE_DIR}/info_camera_link.h" + "${SERVER_BASE_DIR}/info_overlay_accessor.cpp" + "${SERVER_BASE_DIR}/init_factory.h" + "${SERVER_BASE_DIR}/intermission.cpp" + "${SRCDIR}/public/interpolatortypes.h" + "${SRCDIR}/game/shared/interval.h" + "${SRCDIR}/public/iregistry.h" + "${SRCDIR}/game/shared/iscenetokenprocessor.h" + "${SERVER_BASE_DIR}/iservervehicle.h" + "${SERVER_BASE_DIR}/item_world.cpp" + "${SERVER_BASE_DIR}/items.h" + "${SRCDIR}/public/ivoiceserver.h" + "${SRCDIR}/public/keyframe/keyframe.h" + "${SERVER_BASE_DIR}/lightglow.cpp" + "${SERVER_BASE_DIR}/lights.cpp" + "${SERVER_BASE_DIR}/lights.h" + "${SERVER_BASE_DIR}/locksounds.h" + "${SERVER_BASE_DIR}/logic_measure_movement.cpp" + "${SERVER_BASE_DIR}/logic_navigation.cpp" + "${SERVER_BASE_DIR}/logicauto.cpp" + "${SERVER_BASE_DIR}/logicentities.cpp" + "${SERVER_BASE_DIR}/logicrelay.cpp" + "${SERVER_BASE_DIR}/mapentities.cpp" + "${SRCDIR}/game/shared/mapentities_shared.cpp" + "${SERVER_BASE_DIR}/maprules.cpp" + "${SERVER_BASE_DIR}/maprules.h" + "${SERVER_BASE_DIR}/MaterialModifyControl.cpp" + "${SRCDIR}/public/mathlib/mathlib.h" + "${SERVER_BASE_DIR}/message_entity.cpp" + "${SRCDIR}/public/model_types.h" + "${SERVER_BASE_DIR}/modelentities.cpp" + "${SRCDIR}/game/shared/ModelSoundsCache.cpp" + "${SERVER_BASE_DIR}/movehelper_server.cpp" + "${SERVER_BASE_DIR}/movehelper_server.h" + "${SERVER_BASE_DIR}/movement.cpp" + "${SRCDIR}/game/shared/movevars_shared.cpp" + "${SERVER_BASE_DIR}/movie_explosion.h" + "${SRCDIR}/game/shared/multiplay_gamerules.cpp" + "${SRCDIR}/game/shared/multiplay_gamerules.h" + "${SERVER_BASE_DIR}/ndebugoverlay.cpp" + "${SERVER_BASE_DIR}/ndebugoverlay.h" + "${SERVER_BASE_DIR}/networkstringtable_gamedll.h" + "${SRCDIR}/public/networkstringtabledefs.h" + "${SERVER_BASE_DIR}/npc_vehicledriver.cpp" + "${SRCDIR}/game/shared/obstacle_pushaway.cpp" + "${SRCDIR}/game/shared/obstacle_pushaway.h" + "${SERVER_BASE_DIR}/particle_fire.h" + "${SERVER_BASE_DIR}/particle_light.cpp" + "${SERVER_BASE_DIR}/particle_light.h" + "${SRCDIR}/game/shared/particle_parse.cpp" + "${SRCDIR}/game/shared/particle_parse.h" + "${SERVER_BASE_DIR}/particle_smokegrenade.h" + "${SERVER_BASE_DIR}/particle_system.cpp" + "${SRCDIR}/game/shared/particlesystemquery.cpp" + "${SERVER_BASE_DIR}/pathcorner.cpp" + "${SERVER_BASE_DIR}/pathtrack.cpp" + "${SERVER_BASE_DIR}/pathtrack.h" + "${SRCDIR}/public/vphysics/performance.h" + "${SERVER_BASE_DIR}/phys_controller.cpp" + "${SERVER_BASE_DIR}/phys_controller.h" + "${SERVER_BASE_DIR}/physconstraint.cpp" + "${SERVER_BASE_DIR}/physconstraint.h" + "${SERVER_BASE_DIR}/physics.cpp" + "${SERVER_BASE_DIR}/physics.h" + "${SERVER_BASE_DIR}/physics_bone_follower.cpp" + "${SERVER_BASE_DIR}/physics_cannister.cpp" + "${SERVER_BASE_DIR}/physics_collisionevent.h" + "${SERVER_BASE_DIR}/physics_fx.cpp" + "${SERVER_BASE_DIR}/physics_impact_damage.cpp" + "${SERVER_BASE_DIR}/pushentity.h" + "${SERVER_BASE_DIR}/physics_main.cpp" + "${SRCDIR}/game/shared/physics_main_shared.cpp" + "${SERVER_BASE_DIR}/physics_npc_solver.cpp" + "${SERVER_BASE_DIR}/physics_npc_solver.h" + "${SERVER_BASE_DIR}/physics_prop_ragdoll.cpp" + "${SERVER_BASE_DIR}/physics_prop_ragdoll.h" + "${SRCDIR}/game/shared/physics_saverestore.cpp" + "${SRCDIR}/game/shared/physics_saverestore.h" + "${SRCDIR}/game/shared/physics_shared.cpp" + "${SRCDIR}/game/shared/physics_shared.h" + "${SERVER_BASE_DIR}/physobj.cpp" + "${SERVER_BASE_DIR}/physobj.h" + "${SERVER_BASE_DIR}/player.cpp" + "${SERVER_BASE_DIR}/player.h" + "${SERVER_BASE_DIR}/player_command.cpp" + "${SERVER_BASE_DIR}/player_command.h" + "${SERVER_BASE_DIR}/player_lagcompensation.cpp" + "${SERVER_BASE_DIR}/player_pickup.cpp" + "${SERVER_BASE_DIR}/player_pickup.h" + "${SERVER_BASE_DIR}/player_resource.cpp" + "${SERVER_BASE_DIR}/player_resource.h" + "${SERVER_BASE_DIR}/playerinfomanager.cpp" + "${SERVER_BASE_DIR}/playerlocaldata.cpp" + "${SERVER_BASE_DIR}/playerlocaldata.h" + "${SERVER_BASE_DIR}/plugin_check.cpp" + "${SRCDIR}/game/shared/point_bonusmaps_accessor.cpp" + "${SRCDIR}/game/shared/point_bonusmaps_accessor.h" + "${SERVER_BASE_DIR}/point_camera.cpp" + "${SERVER_BASE_DIR}/point_camera.h" + "${SERVER_BASE_DIR}/point_devshot_camera.cpp" + "${SERVER_BASE_DIR}/point_playermoveconstraint.cpp" + "${SRCDIR}/game/shared/point_posecontroller.cpp" + "${SRCDIR}/game/shared/point_posecontroller.h" + "${SERVER_BASE_DIR}/point_spotlight.cpp" + "${SERVER_BASE_DIR}/point_template.cpp" + "${SERVER_BASE_DIR}/point_template.h" + "${SERVER_BASE_DIR}/pointanglesensor.cpp" + "${SERVER_BASE_DIR}/PointAngularVelocitySensor.cpp" + "${SERVER_BASE_DIR}/pointhurt.cpp" + "${SERVER_BASE_DIR}/pointteleport.cpp" + "${SRCDIR}/public/mathlib/polyhedron.h" + "${SRCDIR}/game/shared/positionwatcher.h" + "${SRCDIR}/game/shared/precache_register.cpp" + "${SRCDIR}/game/shared/precache_register.h" + "${SRCDIR}/game/shared/predictableid.cpp" + "${SRCDIR}/game/shared/predictableid.h" + "${SERVER_BASE_DIR}/props.cpp" + "${SERVER_BASE_DIR}/props.h" + "${SRCDIR}/game/shared/props_shared.cpp" + "${SRCDIR}/game/shared/querycache.cpp" + "${SERVER_BASE_DIR}/ragdoll_manager.cpp" + "${SRCDIR}/game/shared/ragdoll_shared.cpp" + "${SERVER_BASE_DIR}/RagdollBoogie.cpp" + "${SERVER_BASE_DIR}/RagdollBoogie.h" + "${SERVER_BASE_DIR}/recipientfilter.cpp" + "${SERVER_BASE_DIR}/recipientfilter.h" + "${SERVER_BASE_DIR}/rope.cpp" + "${SERVER_BASE_DIR}/rope.h" + "${SRCDIR}/game/shared/rope_helpers.cpp" + "${SRCDIR}/public/rope_physics.h" + "${SRCDIR}/public/rope_shared.h" + "${SRCDIR}/game/shared/saverestore.cpp" + "${SRCDIR}/game/shared/saverestore.h" + "${SRCDIR}/game/shared/saverestore_bitstring.h" + "${SERVER_BASE_DIR}/saverestore_gamedll.cpp" + "${SRCDIR}/game/shared/saverestore_utlsymbol.h" + "${SRCDIR}/game/shared/saverestore_utlvector.h" + "${SRCDIR}/game/shared/SceneCache.cpp" + "${SERVER_BASE_DIR}/sceneentity.cpp" + "${SERVER_BASE_DIR}/sceneentity.h" + "${SRCDIR}/game/shared/sceneentity_shared.cpp" + "${SERVER_BASE_DIR}/scratchpad_gamedll_helpers.cpp" + "${SERVER_BASE_DIR}/scripted.cpp" + "${SERVER_BASE_DIR}/scripted.h" + "${SERVER_BASE_DIR}/scriptedtarget.cpp" + "${SERVER_BASE_DIR}/scriptedtarget.h" + "${SRCDIR}/game/shared/scriptevent.h" + "${SERVER_BASE_DIR}/sendproxy.cpp" + "${SRCDIR}/game/shared/sequence_Transitioner.cpp" + "${SRCDIR}/game/server/serverbenchmark_base.cpp" + "${SRCDIR}/game/server/serverbenchmark_base.h" + "${SRCDIR}/public/server_class.h" + "${SERVER_BASE_DIR}/ServerNetworkProperty.cpp" + "${SERVER_BASE_DIR}/ServerNetworkProperty.h" + "${SERVER_BASE_DIR}/shadowcontrol.cpp" + "${SRCDIR}/public/shattersurfacetypes.h" + "${SRCDIR}/game/shared/sheetsimulator.h" + "${SRCDIR}/public/simple_physics.h" + "${SRCDIR}/game/shared/simtimer.cpp" + "${SRCDIR}/game/shared/simtimer.h" + "${SRCDIR}/game/shared/singleplay_gamerules.cpp" + "${SRCDIR}/game/shared/singleplay_gamerules.h" + "${SERVER_BASE_DIR}/SkyCamera.cpp" + "${SERVER_BASE_DIR}/slideshow_display.cpp" + "${SERVER_BASE_DIR}/sound.cpp" + "${SRCDIR}/game/shared/SoundEmitterSystem.cpp" + "${SERVER_BASE_DIR}/soundent.cpp" + "${SERVER_BASE_DIR}/soundent.h" + "${SRCDIR}/game/shared/soundenvelope.cpp" + "${SRCDIR}/public/SoundParametersInternal.cpp" + "${SERVER_BASE_DIR}/soundscape.cpp" + "${SERVER_BASE_DIR}/soundscape.h" + "${SERVER_BASE_DIR}/soundscape_system.cpp" + "${SERVER_BASE_DIR}/spark.h" + "${SERVER_BASE_DIR}/spotlightend.cpp" + "${SERVER_BASE_DIR}/spotlightend.h" + "${SRCDIR}/game/shared/Sprite.cpp" + "${SRCDIR}/game/shared/Sprite.h" + "${SERVER_BASE_DIR}/sprite_perfmonitor.cpp" + "${SRCDIR}/game/shared/SpriteTrail.h" + "${SRCDIR}/public/vphysics/stats.h" + "${SRCDIR}/public/steam/steam_api.h" + "${SRCDIR}/public/stringregistry.h" + "${SRCDIR}/game/shared/studio_shared.cpp" + "${SERVER_BASE_DIR}/subs.cpp" + "${SERVER_BASE_DIR}/sun.cpp" + "${SERVER_BASE_DIR}/tactical_mission.cpp" + "${SERVER_BASE_DIR}/tactical_mission.h" + "${SRCDIR}/game/shared/takedamageinfo.cpp" + "${SERVER_BASE_DIR}/tanktrain.cpp" + "${SERVER_BASE_DIR}/team.cpp" + "${SERVER_BASE_DIR}/team.h" + "${SRCDIR}/game/shared/teamplay_gamerules.cpp" + "${SRCDIR}/game/shared/teamplay_gamerules.h" + "${SRCDIR}/game/shared/tempentity.h" + "${SERVER_BASE_DIR}/TemplateEntities.cpp" + "${SERVER_BASE_DIR}/TemplateEntities.h" + "${SERVER_BASE_DIR}/tempmonster.cpp" + "${SERVER_BASE_DIR}/tesla.cpp" + "${SRCDIR}/game/shared/test_ehandle.cpp" + "${SERVER_BASE_DIR}/test_proxytoggle.cpp" + "${SERVER_BASE_DIR}/test_stressentities.cpp" + "${SERVER_BASE_DIR}/testfunctions.cpp" + "${SERVER_BASE_DIR}/testtraceline.cpp" + "${SERVER_BASE_DIR}/textstatsmgr.cpp" + "${SERVER_BASE_DIR}/timedeventmgr.cpp" + "${SERVER_BASE_DIR}/trains.cpp" + "${SERVER_BASE_DIR}/trains.h" + "${SERVER_BASE_DIR}/triggers.cpp" + "${SERVER_BASE_DIR}/triggers.h" + "${SRCDIR}/game/shared/usercmd.cpp" + "${SERVER_BASE_DIR}/util.cpp" + "${SERVER_BASE_DIR}/util.h" + "${SRCDIR}/game/shared/util_shared.cpp" + "${SERVER_BASE_DIR}/variant_t.cpp" + "${SERVER_BASE_DIR}/vehicle_base.cpp" + "${SERVER_BASE_DIR}/vehicle_baseserver.cpp" + "${SERVER_BASE_DIR}/vehicle_sounds.h" + "${SRCDIR}/game/shared/vehicle_viewblend_shared.cpp" + "${SERVER_BASE_DIR}/vguiscreen.cpp" + "${SERVER_BASE_DIR}/vguiscreen.h" + "${SRCDIR}/public/mathlib/vmatrix.h" + "${SRCDIR}/game/shared/voice_common.h" + "${SRCDIR}/game/shared/voice_gamemgr.cpp" + "${SRCDIR}/game/shared/voice_gamemgr.h" + "${SERVER_BASE_DIR}/waterbullet.cpp" + "${SERVER_BASE_DIR}/waterbullet.h" + "${SERVER_BASE_DIR}/WaterLODControl.cpp" + "${SERVER_BASE_DIR}/wcedit.cpp" + "${SERVER_BASE_DIR}/wcedit.h" + "${SRCDIR}/game/shared/weapon_parse.cpp" + "${SRCDIR}/game/shared/weapon_parse.h" + "${SRCDIR}/game/shared/weapon_proficiency.cpp" + "${SRCDIR}/game/shared/weapon_proficiency.h" + "${SERVER_BASE_DIR}/weight_button.cpp" + "${SERVER_BASE_DIR}/world.cpp" + "${SERVER_BASE_DIR}/world.h" + "${SRCDIR}/game/shared/mp_shareddefs.cpp" + "${SRCDIR}/game/shared/SharedFunctorUtils.h" + "${SRCDIR}/game/server/vote_controller.h" + "${SRCDIR}/game/server/vote_controller.cpp" + # Haptics + "${SRCDIR}/public/haptics/haptic_msgs.cpp" + "$<${IS_WINDOWS}:${SRCDIR}/public/haptics/haptic_utils.cpp>" + + "${SRCDIR}/public/bone_setup.cpp" + "${SRCDIR}/public/collisionutils.cpp" + "${SRCDIR}/public/dt_send.cpp" + "${SRCDIR}/public/dt_utlvector_common.cpp" + "${SRCDIR}/public/dt_utlvector_send.cpp" + "${SRCDIR}/public/editor_sendcommand.cpp" + "${SRCDIR}/public/filesystem_helpers.cpp" + "${SERVER_BASE_DIR}/gamehandle.cpp" + "${SERVER_BASE_DIR}/h_export.cpp" + "${SERVER_BASE_DIR}/init_factory.cpp" + "${SRCDIR}/public/interpolatortypes.cpp" + "${SRCDIR}/game/shared/interval.cpp" + "${SRCDIR}/public/keyframe/keyframe.cpp" + "${SRCDIR}/common/language.cpp" + "${SRCDIR}/public/map_utils.cpp" + "${SRCDIR}/public/networkvar.cpp" + "${SRCDIR}/common/randoverride.cpp" + "${SRCDIR}/public/registry.cpp" + "${SRCDIR}/public/rope_physics.cpp" + "${SRCDIR}/public/scratchpad3d.cpp" + "${SRCDIR}/public/ScratchPadUtils.cpp" + "${SRCDIR}/public/server_class.cpp" + "${SRCDIR}/game/shared/sheetsimulator.cpp" + "${SRCDIR}/public/simple_physics.cpp" + "${SRCDIR}/public/stringregistry.cpp" + "${SRCDIR}/public/studio.cpp" + "${SERVER_BASE_DIR}/GameStats_BasicStatsFunctions.cpp" + + # Temporary Entities + "${SERVER_BASE_DIR}/basetempentity.cpp" + "${SERVER_BASE_DIR}/event_tempentity_tester.cpp" + "${SERVER_BASE_DIR}/movie_explosion.cpp" + "${SERVER_BASE_DIR}/particle_fire.cpp" + "${SERVER_BASE_DIR}/particle_smokegrenade.cpp" + "${SERVER_BASE_DIR}/plasma.cpp" + "${SERVER_BASE_DIR}/plasma.h" + "${SERVER_BASE_DIR}/smoke_trail.h" + "${SERVER_BASE_DIR}/smokestack.cpp" + "${SERVER_BASE_DIR}/smokestack.h" + "${SERVER_BASE_DIR}/smoke_trail.cpp" + "${SRCDIR}/game/shared/SpriteTrail.cpp" + "${SERVER_BASE_DIR}/steamjet.cpp" + "${SERVER_BASE_DIR}/steamjet.h" + "${SERVER_BASE_DIR}/te.cpp" + "${SERVER_BASE_DIR}/te.h" + "${SERVER_BASE_DIR}/te_armorricochet.cpp" + "${SERVER_BASE_DIR}/te_basebeam.cpp" + "${SERVER_BASE_DIR}/te_basebeam.h" + "${SERVER_BASE_DIR}/te_beamentpoint.cpp" + "${SERVER_BASE_DIR}/te_beaments.cpp" + "${SERVER_BASE_DIR}/te_beamfollow.cpp" + "${SERVER_BASE_DIR}/te_beamlaser.cpp" + "${SERVER_BASE_DIR}/te_beampoints.cpp" + "${SERVER_BASE_DIR}/te_beamring.cpp" + "${SERVER_BASE_DIR}/te_beamringpoint.cpp" + "${SERVER_BASE_DIR}/te_beamspline.cpp" + "${SERVER_BASE_DIR}/te_bloodsprite.cpp" + "${SERVER_BASE_DIR}/te_bloodstream.cpp" + "${SERVER_BASE_DIR}/te_breakmodel.cpp" + "${SERVER_BASE_DIR}/te_bspdecal.cpp" + "${SERVER_BASE_DIR}/te_bubbles.cpp" + "${SERVER_BASE_DIR}/te_bubbletrail.cpp" + "${SERVER_BASE_DIR}/te_clientprojectile.cpp" + "${SERVER_BASE_DIR}/te_decal.cpp" + "${SERVER_BASE_DIR}/te_dynamiclight.cpp" + "${SERVER_BASE_DIR}/te_effect_dispatch.cpp" + "${SERVER_BASE_DIR}/te_energysplash.cpp" + "${SERVER_BASE_DIR}/te_explosion.cpp" + "${SERVER_BASE_DIR}/te_fizz.cpp" + "${SERVER_BASE_DIR}/te_footprintdecal.cpp" + "${SERVER_BASE_DIR}/hl2/te_gaussexplosion.cpp" + "${SERVER_BASE_DIR}/te_glassshatter.cpp" + "${SERVER_BASE_DIR}/te_glowsprite.cpp" + "${SERVER_BASE_DIR}/te_impact.cpp" + "${SERVER_BASE_DIR}/te_killplayerattachments.cpp" + "${SERVER_BASE_DIR}/te_largefunnel.cpp" + "${SERVER_BASE_DIR}/te_muzzleflash.cpp" + "${SERVER_BASE_DIR}/te_particlesystem.cpp" + "${SERVER_BASE_DIR}/te_particlesystem.h" + "${SERVER_BASE_DIR}/te_physicsprop.cpp" + "${SERVER_BASE_DIR}/te_playerdecal.cpp" + "${SERVER_BASE_DIR}/te_projecteddecal.cpp" + "${SERVER_BASE_DIR}/te_showline.cpp" + "${SERVER_BASE_DIR}/te_smoke.cpp" + "${SERVER_BASE_DIR}/te_sparks.cpp" + "${SERVER_BASE_DIR}/te_sprite.cpp" + "${SERVER_BASE_DIR}/te_spritespray.cpp" + "${SERVER_BASE_DIR}/te_worlddecal.cpp" + "${SRCDIR}/game/shared/usermessages.cpp" + + # Header Files + "${SRCDIR}/public/mathlib/amd3dx.h" + "${SRCDIR}/game/shared/ammodef.h" + "${SRCDIR}/game/shared/base_playeranimstate.h" + "${SERVER_BASE_DIR}/base_transmit_proxy.h" + "${SRCDIR}/public/basehandle.h" + "${SERVER_BASE_DIR}/basetempentity.h" + "${SRCDIR}/public/tier0/basetypes.h" + "${SRCDIR}/game/shared/beam_flags.h" + "${SRCDIR}/public/tier1/bitbuf.h" + "${SRCDIR}/public/bitvec.h" + "${SRCDIR}/public/bone_accessor.h" + "${SRCDIR}/public/bspfile.h" + "${SRCDIR}/public/bspflags.h" + "${SRCDIR}/public/mathlib/bumpvects.h" + "${SRCDIR}/public/tier1/characterset.h" + "${SRCDIR}/public/tier1/checksum_md5.h" + "${SRCDIR}/public/client_class.h" + "${SRCDIR}/public/client_textmessage.h" + "${SRCDIR}/public/cmodel.h" + "${SRCDIR}/public/vphysics/collision_set.h" + "${SRCDIR}/public/Color.h" + "${SRCDIR}/public/tier0/commonmacros.h" + "${SRCDIR}/public/mathlib/compressed_light_cube.h" + "${SRCDIR}/public/mathlib/compressed_vector.h" + "${SRCDIR}/public/const.h" + "${SRCDIR}/public/vphysics/constraints.h" + "${SRCDIR}/public/coordsize.h" + "${SERVER_BASE_DIR}/cplane.h" + "${SERVER_BASE_DIR}/damagemodifier.h" + "${SRCDIR}/public/datamap.h" + "${SRCDIR}/public/tier0/dbg.h" + "${SRCDIR}/game/shared/death_pose.h" + "${SRCDIR}/game/shared/decals.h" + "${SRCDIR}/public/dlight.h" + "${SRCDIR}/public/dt_common.h" + "${SRCDIR}/public/dt_recv.h" + "${SRCDIR}/public/dt_send.h" + "${SRCDIR}/public/dt_utlvector_common.h" + "${SRCDIR}/public/dt_utlvector_send.h" + "${SRCDIR}/game/shared/effect_dispatch_data.h" + "${SRCDIR}/game/shared/ehandle.h" + "${SRCDIR}/game/shared/entitydatainstantiator.h" + "${SRCDIR}/game/shared/entitylist_base.h" + "${SRCDIR}/game/shared/env_detail_controller.h" + "${SERVER_BASE_DIR}/EventLog.h" + "${SRCDIR}/game/shared/expressionsample.h" + "${SRCDIR}/public/tier0/fasttimer.h" + "${SRCDIR}/public/filesystem.h" + "${SRCDIR}/public/filesystem_helpers.h" + "${SRCDIR}/public/tier1/fmtstr.h" + "${SERVER_BASE_DIR}/fogcontroller.h" + "${SRCDIR}/public/vphysics/friction.h" + "${SRCDIR}/game/shared/func_ladder.h" + "${SRCDIR}/game/shared/gameeventdefs.h" + "${SRCDIR}/game/shared/GameEventListener.h" + "${SRCDIR}/game/shared/gamerules_register.h" + "${SRCDIR}/public/gametrace.h" + "${SERVER_BASE_DIR}/globals.h" + "${SRCDIR}/public/globalvars_base.h" + "${SRCDIR}/game/shared/groundlink.h" + "${SRCDIR}/game/shared/hl2/hl2_vehicle_radar.h" + "${SRCDIR}/public/iachievementmgr.h" + "${SRCDIR}/public/appframework/IAppSystem.h" + "${SRCDIR}/public/icliententity.h" + "${SRCDIR}/public/iclientnetworkable.h" + "${SRCDIR}/public/iclientrenderable.h" + "${SRCDIR}/public/iclientunknown.h" + "${SRCDIR}/public/engine/ICollideable.h" + "${SRCDIR}/public/tier0/icommandline.h" + "${SRCDIR}/public/icvar.h" + "${SRCDIR}/game/shared/IEffects.h" + "${SRCDIR}/public/engine/IEngineSound.h" + "${SRCDIR}/public/engine/IEngineTrace.h" + "${SRCDIR}/public/igameevents.h" + "${SRCDIR}/game/shared/igamemovement.h" + "${SRCDIR}/public/ihandleentity.h" + "${SRCDIR}/public/ihltv.h" + "${SRCDIR}/public/ihltvdirector.h" + "${SRCDIR}/public/vstdlib/IKeyValuesSystem.h" + "${SERVER_BASE_DIR}/ilagcompensationmanager.h" + "${SRCDIR}/public/vgui/ILocalize.h" + "${SRCDIR}/public/materialsystem/imaterial.h" + "${SRCDIR}/public/materialsystem/imaterialsystem.h" + "${SRCDIR}/public/materialsystem/imaterialvar.h" + "${SRCDIR}/game/shared/imovehelper.h" + "${SRCDIR}/game/shared/in_buttons.h" + "${SRCDIR}/public/inetchannelinfo.h" + "${SRCDIR}/game/shared/iplayeranimstate.h" + "${SRCDIR}/game/shared/ipredictionsystem.h" + "${SRCDIR}/public/irecipientfilter.h" + "${SRCDIR}/public/isaverestore.h" + "${SRCDIR}/public/iscratchpad3d.h" + "${SRCDIR}/public/iserverentity.h" + "${SRCDIR}/public/iservernetworkable.h" + "${SRCDIR}/public/iserverunknown.h" + "${SRCDIR}/public/SoundEmitterSystem/isoundemittersystembase.h" + "${SRCDIR}/public/ispatialpartition.h" + "${SRCDIR}/public/engine/IStaticPropMgr.h" + "${SRCDIR}/game/shared/itempents.h" + "${SRCDIR}/public/engine/ivdebugoverlay.h" + "${SRCDIR}/game/shared/IVehicle.h" + "${SRCDIR}/public/engine/ivmodelinfo.h" + "${SRCDIR}/public/tier1/KeyValues.h" + "${SRCDIR}/common/language.h" + "${SRCDIR}/public/tier0/l2cache.h" + "${SERVER_BASE_DIR}/logicrelay.h" + "${SRCDIR}/public/map_utils.h" + "${SERVER_BASE_DIR}/mapentities.h" + "${SRCDIR}/game/shared/mapentities_shared.h" + "${SRCDIR}/public/tier0/mem.h" + "${SRCDIR}/public/tier0/memalloc.h" + "${SRCDIR}/public/tier0/memdbgoff.h" + "${SRCDIR}/public/tier0/memdbgon.h" + "${SERVER_BASE_DIR}/modelentities.h" + "${SRCDIR}/game/shared/movevars_shared.h" + "${SRCDIR}/public/networkvar.h" + "${SERVER_BASE_DIR}/npc_vehicledriver.h" + "${SRCDIR}/game/shared/npcevent.h" + "${SRCDIR}/public/vphysics/object_hash.h" + "${SERVER_BASE_DIR}/particle_system.h" + "${SERVER_BASE_DIR}/physics_cannister.h" + "${SERVER_BASE_DIR}/physics_fx.h" + "${SERVER_BASE_DIR}/physics_impact_damage.h" + "${SRCDIR}/public/tier0/platform.h" + "${SRCDIR}/public/vphysics/player_controller.h" + "${SERVER_BASE_DIR}/playerinfomanager.h" + "${SRCDIR}/game/shared/playernet_vars.h" + "${SRCDIR}/public/PlayerState.h" + "${SRCDIR}/game/shared/precipitation_shared.h" + "${SRCDIR}/game/shared/predictable_entity.h" + "${SRCDIR}/game/shared/predictioncopy.h" + "${SRCDIR}/public/tier1/processor_detect.h" + "${SRCDIR}/game/shared/querycache.h" + "${SRCDIR}/game/shared/props_shared.h" + "${SRCDIR}/public/tier0/protected_things.h" + "${SRCDIR}/public/vstdlib/random.h" + "${SRCDIR}/game/shared/rope_helpers.h" + "${SRCDIR}/game/shared/saverestore_stringtable.h" + "${SRCDIR}/game/shared/saverestore_utlclass.h" + "${SRCDIR}/game/shared/saverestore_utlmap.h" + "${SRCDIR}/game/shared/saverestore_utlrbtree.h" + "${SRCDIR}/public/saverestoretypes.h" + "${SRCDIR}/public/scratchpad3d.h" + "${SERVER_BASE_DIR}/scratchpad_gamedll_helpers.h" + "${SRCDIR}/public/ScratchPadUtils.h" + "${SERVER_BASE_DIR}/sendproxy.h" + "${SRCDIR}/public/shake.h" + "${SRCDIR}/game/shared/shared_classnames.h" + "${SRCDIR}/game/shared/shareddefs.h" + "${SRCDIR}/game/shared/sharedInterface.h" + "${SRCDIR}/game/shared/shot_manipulator.h" + "${SERVER_BASE_DIR}/SkyCamera.h" + "${SRCDIR}/public/soundchars.h" + "${SRCDIR}/game/shared/soundenvelope.h" + "${SRCDIR}/public/soundflags.h" + "${SERVER_BASE_DIR}/soundscape_system.h" + "${SRCDIR}/public/stdstring.h" + "${SRCDIR}/public/string_t.h" + "${SRCDIR}/public/tier1/stringpool.h" + "${SRCDIR}/public/tier1/strtools.h" + "${SRCDIR}/public/studio.h" + "${SRCDIR}/game/shared/sun_shared.h" + "${SRCDIR}/game/shared/takedamageinfo.h" + "${SERVER_BASE_DIR}/te_effect_dispatch.h" + "${SERVER_BASE_DIR}/tesla.h" + "${SERVER_BASE_DIR}/test_stressentities.h" + "${SERVER_BASE_DIR}/textstatsmgr.h" + "${SRCDIR}/public/texture_group_names.h" + "${SERVER_BASE_DIR}/timedeventmgr.h" + "${SRCDIR}/game/shared/usercmd.h" + "${SRCDIR}/game/shared/usermessages.h" + "${SRCDIR}/game/shared/util_shared.h" + "${SRCDIR}/public/UtlCachedFileData.h" + "${SRCDIR}/public/tier1/utldict.h" + "${SRCDIR}/public/tier1/utlfixedmemory.h" + "${SRCDIR}/public/tier1/utlhash.h" + "${SRCDIR}/public/tier1/utllinkedlist.h" + "${SRCDIR}/public/tier1/utlmap.h" + "${SRCDIR}/public/tier1/utlmemory.h" + "${SRCDIR}/public/tier1/utlmultilist.h" + "${SRCDIR}/public/tier1/utlpriorityqueue.h" + "${SRCDIR}/public/tier1/utlrbtree.h" + "${SRCDIR}/public/tier1/UtlSortVector.h" + "${SRCDIR}/public/tier1/utlvector.h" + "${SRCDIR}/public/vallocator.h" + "${SERVER_BASE_DIR}/variant_t.h" + "${SRCDIR}/public/vcollide.h" + "${SRCDIR}/public/vcollide_parse.h" + "${SRCDIR}/public/tier0/vcr_shared.h" + "${SRCDIR}/public/tier0/vcrmode.h" + "${SRCDIR}/public/mathlib/vector.h" + "${SRCDIR}/public/mathlib/vector2d.h" + "${SRCDIR}/public/mathlib/vector4d.h" + "${SERVER_BASE_DIR}/vehicle_base.h" + "${SERVER_BASE_DIR}/vehicle_baseserver.h" + "${SRCDIR}/game/shared/vehicle_viewblend_shared.h" + "${SRCDIR}/public/vphysics/vehicles.h" + "${SRCDIR}/public/vgui/VGUI.h" + "${SRCDIR}/public/vphysics_interface.h" + "${SRCDIR}/game/shared/vphysics_sound.h" + "${SRCDIR}/public/mathlib/vplane.h" + "${SRCDIR}/public/tier0/vprof.h" + "${SRCDIR}/public/vstdlib/vstdlib.h" + "${SRCDIR}/public/winlite.h" + "${SRCDIR}/public/worldsize.h" + "${SRCDIR}/public/zip_uncompressed.h" + "${SRCDIR}/game/shared/mp_shareddefs.h" + "${SRCDIR}/game/shared/econ/ihasowner.h" + + # Haptics + "$<${IS_WINDOWS}:${SRCDIR}/public/haptics/haptic_utils.h>" + + # Tools Framework + "${SERVER_BASE_DIR}/entity_tools_server.cpp" + "${SERVER_BASE_DIR}/toolframework_server.cpp" + "${SERVER_BASE_DIR}/toolframework_server.h" +) + +set_source_files_properties( + "${SRCDIR}/public/bone_setup.cpp" + "${SRCDIR}/public/collisionutils.cpp" + "${SRCDIR}/public/dt_send.cpp" + "${SRCDIR}/public/dt_utlvector_common.cpp" + "${SRCDIR}/public/dt_utlvector_send.cpp" + "${SRCDIR}/public/editor_sendcommand.cpp" + "${SRCDIR}/public/filesystem_helpers.cpp" + "${SERVER_BASE_DIR}/gamehandle.cpp" + "${SERVER_BASE_DIR}/h_export.cpp" + "${SERVER_BASE_DIR}/init_factory.cpp" + "${SRCDIR}/public/interpolatortypes.cpp" + "${SRCDIR}/game/shared/interval.cpp" + "${SRCDIR}/public/keyframe/keyframe.cpp" + "${SRCDIR}/common/language.cpp" + "${SRCDIR}/public/map_utils.cpp" + "${SRCDIR}/public/networkvar.cpp" + "${SRCDIR}/common/randoverride.cpp" + "${SRCDIR}/public/registry.cpp" + "${SRCDIR}/public/rope_physics.cpp" + "${SRCDIR}/public/scratchpad3d.cpp" + "${SRCDIR}/public/ScratchPadUtils.cpp" + "${SRCDIR}/public/server_class.cpp" + "${SRCDIR}/game/shared/sheetsimulator.cpp" + "${SRCDIR}/public/simple_physics.cpp" + "${SRCDIR}/public/stringregistry.cpp" + "${SRCDIR}/public/studio.cpp" + "${SERVER_BASE_DIR}/GameStats_BasicStatsFunctions.cpp" + PROPERTIES SKIP_PRECOMPILE_HEADERS ON +) + +function(target_use_server_base target EXCLUDE_SOURCES) + set(USED_SOURCES ${SERVER_BASE_SOURCE_FILES}) + + if (${EXCLUDE_SOURCES}) + list(REMOVE_ITEM USED_SOURCES ${${EXCLUDE_SOURCES}}) + endif() + + + target_sources( + ${target} PRIVATE + ${USED_SOURCES} + ) + + target_include_directories( + ${target} PRIVATE + "${SERVER_BASE_DIR}" + "${SRCDIR}/game/shared" + "${SRCDIR}/utils/common" + "${SRCDIR}/game/shared/econ" + "${SRCDIR}/game/server/NextBot" + ) + + target_compile_definitions( + ${target} PRIVATE + GAME_DLL + VECTOR + VERSION_SAFE_STEAM_API_INTERFACES + PROTECTED_THINGS_ENABLE + sprintf=use_Q_snprintf_instead_of_sprintf + strncpy=use_Q_strncpy_instead + _snprintf=use_Q_snprintf_instead + $<${IS_POSIX}:SWDS> + $<${IS_WINDOWS}:fopen=dont_use_fopen> + ) + + target_precompile_headers( + ${target} PRIVATE + "${SERVER_BASE_DIR}/cbase.h" + ) + + target_link_libraries( + ${target} PRIVATE + $<${IS_WINDOWS}:winmm> + + "${LIBPUBLIC}/choreoobjects${STATIC_LIB_EXT}" + "${LIBPUBLIC}/particles${STATIC_LIB_EXT}" + "${LIBPUBLIC}/dmxloader${STATIC_LIB_EXT}" + mathlib + "${LIBPUBLIC}/tier2${STATIC_LIB_EXT}" + "${LIBPUBLIC}/tier3${STATIC_LIB_EXT}" + steam_api + ) + +endfunction() \ No newline at end of file diff --git a/mp/src/game/server/server_hl2mp.cmake b/mp/src/game/server/server_hl2mp.cmake new file mode 100644 index 00000000000..90b80d12542 --- /dev/null +++ b/mp/src/game/server/server_hl2mp.cmake @@ -0,0 +1,308 @@ +# server_hl2mp.cmake + +include("${CMAKE_CURRENT_LIST_DIR}/server_base.cmake") + +if (${IS_SOURCESDK}) + include("${CMAKE_CURRENT_LIST_DIR}/nav_mesh.cmake") +endif() + +set(SERVER_HL2MP_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + SERVER_HL2MP_SOURCE_FILES + + "${SERVER_HL2MP_DIR}/ai_relationship.cpp" + "${SERVER_HL2MP_DIR}/basegrenade_concussion.cpp" + "${SERVER_HL2MP_DIR}/basegrenade_contact.cpp" + "${SERVER_HL2MP_DIR}/basegrenade_timed.cpp" + "${SERVER_HL2MP_DIR}/EntityFlame.h" + "${SERVER_HL2MP_DIR}/hl2/Func_Monitor.cpp" + "${SERVER_HL2MP_DIR}/grenadethrown.cpp" + "${SERVER_HL2MP_DIR}/grenadethrown.h" + "${SERVER_HL2MP_DIR}/h_cycler.cpp" + "${SERVER_HL2MP_DIR}/h_cycler.h" + "${SERVER_HL2MP_DIR}/monstermaker.cpp" + "${SERVER_HL2MP_DIR}/monstermaker.h" + "${SERVER_HL2MP_DIR}/physics_bone_follower.h" + "${SRCDIR}/game/shared/predicted_viewmodel.cpp" + "${SRCDIR}/game/shared/predicted_viewmodel.h" + "${SRCDIR}/game/shared/ragdoll_shared.h" + "${SRCDIR}/game/shared/solidsetdefaults.h" + "${SRCDIR}/game/shared/hl2/survival_gamerules.cpp" + "${SERVER_HL2MP_DIR}/team_objectiveresource.cpp" + "${SERVER_HL2MP_DIR}/team_objectiveresource.h" + "${SERVER_HL2MP_DIR}/team_spawnpoint.cpp" + "${SERVER_HL2MP_DIR}/team_spawnpoint.h" + "${SERVER_HL2MP_DIR}/team_control_point.cpp" + "${SERVER_HL2MP_DIR}/team_control_point.h" + "${SERVER_HL2MP_DIR}/team_control_point_master.cpp" + "${SERVER_HL2MP_DIR}/team_control_point_master.h" + "${SERVER_HL2MP_DIR}/team_control_point_round.cpp" + "${SERVER_HL2MP_DIR}/team_control_point_round.h" + "${SERVER_HL2MP_DIR}/team_train_watcher.cpp" + "${SERVER_HL2MP_DIR}/team_train_watcher.h" + "${SRCDIR}/game/shared/teamplayroundbased_gamerules.cpp" + "${SRCDIR}/game/shared/touchlink.h" + "${SERVER_HL2MP_DIR}/trigger_area_capture.cpp" + "${SERVER_HL2MP_DIR}/trigger_area_capture.h" + "${SRCDIR}/game/shared/teamplay_round_timer.cpp" + "${SRCDIR}/game/shared/teamplay_round_timer.h" + + # HL2 DLL + "${SERVER_HL2MP_DIR}/hl2/ai_allymanager.cpp" + "${SERVER_HL2MP_DIR}/hl2/ai_behavior_actbusy.cpp" + "${SERVER_HL2MP_DIR}/hl2/ai_behavior_actbusy.h" + "${SERVER_HL2MP_DIR}/hl2/ai_behavior_functank.cpp" + "${SERVER_HL2MP_DIR}/hl2/ai_behavior_functank.h" + "${SERVER_HL2MP_DIR}/hl2/ai_behavior_holster.cpp" + "${SERVER_HL2MP_DIR}/hl2/ai_behavior_holster.h" + "${SERVER_HL2MP_DIR}/hl2/ai_behavior_police.cpp" + "${SERVER_HL2MP_DIR}/hl2/ai_behavior_police.h" + "${SERVER_HL2MP_DIR}/hl2/ai_goal_police.cpp" + "${SERVER_HL2MP_DIR}/hl2/ai_goal_police.h" + "${SERVER_HL2MP_DIR}/hl2/ai_interactions.h" + "${SERVER_HL2MP_DIR}/hl2/ai_spotlight.cpp" + "${SERVER_HL2MP_DIR}/hl2/ai_spotlight.h" + "${SERVER_HL2MP_DIR}/hl2/antlion_dust.cpp" + "${SERVER_HL2MP_DIR}/hl2/antlion_dust.h" + "${SERVER_HL2MP_DIR}/hl2/antlion_maker.cpp" + "${SERVER_HL2MP_DIR}/hl2/antlion_maker.h" + "${SERVER_HL2MP_DIR}/hl2/ar2_explosion.cpp" + "${SERVER_HL2MP_DIR}/hl2/ar2_explosion.h" + "${SERVER_HL2MP_DIR}/basebludgeonweapon.cpp" + "${SERVER_HL2MP_DIR}/basebludgeonweapon.h" + "${SERVER_HL2MP_DIR}/hl2/basehlcombatweapon.cpp" + "${SERVER_HL2MP_DIR}/hl2/basehlcombatweapon.h" + "${SRCDIR}/game/shared/hl2/basehlcombatweapon_shared.cpp" + "${SRCDIR}/game/shared/hl2/basehlcombatweapon_shared.h" + "${SERVER_HL2MP_DIR}/hl2/cbasehelicopter.cpp" + "${SERVER_HL2MP_DIR}/hl2/cbasehelicopter.h" + "${SERVER_HL2MP_DIR}/hl2/cbasespriteprojectile.cpp" + "${SERVER_HL2MP_DIR}/hl2/cbasespriteprojectile.h" + "${SERVER_HL2MP_DIR}/hl2/citadel_effects.cpp" + "${SRCDIR}/game/shared/hl2/citadel_effects_shared.h" + "${SERVER_HL2MP_DIR}/hl2/combine_mine.cpp" + "${SERVER_HL2MP_DIR}/hl2/combine_mine.h" + "${SERVER_HL2MP_DIR}/hl2/energy_wave.h" + "${SERVER_HL2MP_DIR}/hl2/env_alyxemp.cpp" + "${SRCDIR}/game/shared/hl2/env_alyxemp_shared.h" + "${SERVER_HL2MP_DIR}/hl2/env_headcrabcanister.cpp" + "${SRCDIR}/game/shared/hl2/env_headcrabcanister_shared.cpp" + "${SRCDIR}/game/shared/hl2/env_headcrabcanister_shared.h" + "${SERVER_HL2MP_DIR}/hl2/env_speaker.cpp" + "${SERVER_HL2MP_DIR}/hl2/env_starfield.cpp" + "${SERVER_HL2MP_DIR}/hl2/func_recharge.cpp" + "${SERVER_HL2MP_DIR}/hl2/func_tank.cpp" + "${SERVER_HL2MP_DIR}/hl2/func_tank.h" + "${SERVER_HL2MP_DIR}/hl2/grenade_ar2.cpp" + "${SERVER_HL2MP_DIR}/hl2/grenade_ar2.h" + "${SERVER_HL2MP_DIR}/hl2/grenade_bugbait.cpp" + "${SERVER_HL2MP_DIR}/hl2/grenade_bugbait.h" + "${SERVER_HL2MP_DIR}/hl2/grenade_frag.cpp" + "${SERVER_HL2MP_DIR}/hl2/grenade_frag.h" + "${SERVER_HL2MP_DIR}/hl2/hl2_ai_network.cpp" + "${SERVER_HL2MP_DIR}/hl2/hl2_eventlog.cpp" + "${SRCDIR}/game/shared/hl2/hl2_gamerules.cpp" + "${SRCDIR}/game/shared/hl2/hl2_gamerules.h" + "${SERVER_HL2MP_DIR}/hl2/hl2_player.cpp" + "${SERVER_HL2MP_DIR}/hl2/hl2_player.h" + "${SRCDIR}/game/shared/hl2/hl2_player_shared.h" + "${SERVER_HL2MP_DIR}/hl2/hl2_playerlocaldata.cpp" + "${SERVER_HL2MP_DIR}/hl2/hl2_playerlocaldata.h" + "${SRCDIR}/game/shared/hl2/hl2_shareddefs.h" + "${SERVER_HL2MP_DIR}/hl2/hl2_triggers.cpp" + "${SRCDIR}/game/shared/hl2/hl2_usermessages.cpp" + "${SRCDIR}/game/shared/hl2/hl_gamemovement.cpp" + "${SRCDIR}/game/shared/hl2/hl_gamemovement.h" + "${SRCDIR}/game/shared/hl2/hl_movedata.h" + "${SERVER_HL2MP_DIR}/hl2/hl_playermove.cpp" + "${SERVER_HL2MP_DIR}/hl2/info_teleporter_countdown.cpp" + "${SERVER_HL2MP_DIR}/hl2/item_ammo.cpp" + "${SERVER_HL2MP_DIR}/hl2/item_battery.cpp" + "${SERVER_HL2MP_DIR}/hl2/item_dynamic_resupply.cpp" + "${SERVER_HL2MP_DIR}/hl2/item_dynamic_resupply.h" + "${SERVER_HL2MP_DIR}/hl2/item_healthkit.cpp" + "${SERVER_HL2MP_DIR}/hl2/item_itemcrate.cpp" + "${SERVER_HL2MP_DIR}/hl2/item_suit.cpp" + "${SERVER_HL2MP_DIR}/hl2/look_door.cpp" + "${SERVER_HL2MP_DIR}/hl2/monster_dummy.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_alyx.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_alyx.h" + "${SERVER_HL2MP_DIR}/hl2/npc_antlion.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_antlion.h" + "${SERVER_HL2MP_DIR}/hl2/npc_antlionguard.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_apcdriver.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_attackchopper.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_attackchopper.h" + "${SERVER_HL2MP_DIR}/hl2/npc_barnacle.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_barnacle.h" + "${SERVER_HL2MP_DIR}/hl2/npc_barney.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_basescanner.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_basescanner.h" + "${SERVER_HL2MP_DIR}/hl2/npc_BaseZombie.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_BaseZombie.h" + "${SERVER_HL2MP_DIR}/hl2/npc_breen.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_bullseye.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_bullseye.h" + "${SERVER_HL2MP_DIR}/hl2/npc_citizen17.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_citizen17.h" + "${SERVER_HL2MP_DIR}/hl2/npc_combine.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_combine.h" + "${SERVER_HL2MP_DIR}/hl2/npc_combinecamera.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_combinedropship.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_combinegunship.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_combines.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_combines.h" + "${SERVER_HL2MP_DIR}/hl2/npc_cranedriver.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_crow.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_crow.h" + "${SERVER_HL2MP_DIR}/hl2/npc_dog.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_eli.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_enemyfinder.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_fisherman.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_gman.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_headcrab.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_headcrab.h" + "${SERVER_HL2MP_DIR}/hl2/npc_ichthyosaur.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_kleiner.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_launcher.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_manhack.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_manhack.h" + "${SERVER_HL2MP_DIR}/hl2/npc_metropolice.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_metropolice.h" + "${SERVER_HL2MP_DIR}/hl2/npc_monk.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_mossman.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_playercompanion.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_playercompanion.h" + "${SERVER_HL2MP_DIR}/hl2/npc_PoisonZombie.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_rollermine.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_rollermine.h" + "${SERVER_HL2MP_DIR}/hl2/npc_scanner.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_stalker.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_stalker.h" + "${SERVER_HL2MP_DIR}/hl2/npc_strider.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_strider.h" + "${SERVER_HL2MP_DIR}/npc_talker.cpp" + "${SERVER_HL2MP_DIR}/npc_talker.h" + "${SERVER_HL2MP_DIR}/hl2/npc_turret_ceiling.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_turret_floor.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_turret_ground.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_vortigaunt_episodic.cpp" + "${SERVER_HL2MP_DIR}/hl2/npc_vortigaunt_episodic.h" + "${SERVER_HL2MP_DIR}/hl2/npc_zombie.cpp" + "${SERVER_HL2MP_DIR}/hl2/point_apc_controller.cpp" + "${SERVER_HL2MP_DIR}/hl2/prop_combine_ball.cpp" + "${SERVER_HL2MP_DIR}/hl2/prop_combine_ball.h" + "${SERVER_HL2MP_DIR}/hl2/prop_thumper.cpp" + "${SERVER_HL2MP_DIR}/hl2/proto_sniper.cpp" + "${SERVER_HL2MP_DIR}/hl2/rotorwash.cpp" + "${SERVER_HL2MP_DIR}/hl2/rotorwash.h" + "${SERVER_HL2MP_DIR}/hl2/script_intro.cpp" + "${SERVER_HL2MP_DIR}/hl2/script_intro.h" + "${SRCDIR}/game/shared/script_intro_shared.cpp" + "${SERVER_HL2MP_DIR}/hl2/vehicle_airboat.cpp" + "${SERVER_HL2MP_DIR}/hl2/vehicle_apc.h" + "${SERVER_HL2MP_DIR}/hl2/vehicle_crane.cpp" + "${SERVER_HL2MP_DIR}/hl2/vehicle_crane.h" + "${SERVER_HL2MP_DIR}/hl2/vehicle_prisoner_pod.cpp" + "${SERVER_HL2MP_DIR}/hl2/vehicle_viewcontroller.cpp" + "${SERVER_HL2MP_DIR}/hl2/weapon_alyxgun.h" + "${SERVER_HL2MP_DIR}/hl2/weapon_annabelle.cpp" + "${SERVER_HL2MP_DIR}/hl2/weapon_bugbait.cpp" + "${SERVER_HL2MP_DIR}/hl2/weapon_crowbar.h" + "${SERVER_HL2MP_DIR}/weapon_cubemap.cpp" + + # HL2 DLL->unused + "${SERVER_HL2MP_DIR}/hl2/grenade_beam.cpp" + "${SERVER_HL2MP_DIR}/hl2/grenade_beam.h" + "${SERVER_HL2MP_DIR}/hl2/grenade_homer.cpp" + "${SERVER_HL2MP_DIR}/hl2/grenade_homer.h" + "${SERVER_HL2MP_DIR}/hl2/grenade_pathfollower.cpp" + "${SERVER_HL2MP_DIR}/hl2/grenade_pathfollower.h" + "${SERVER_HL2MP_DIR}/hl2/npc_missiledefense.cpp" + "${SERVER_HL2MP_DIR}/hl2/vehicle_apc.cpp" + "${SERVER_HL2MP_DIR}/hl2/weapon_cguard.cpp" + "${SERVER_HL2MP_DIR}/hl2/weapon_flaregun.cpp" + "${SERVER_HL2MP_DIR}/hl2/weapon_flaregun.h" + + # HL2MP + "${SERVER_HL2MP_DIR}/hl2mp/hl2mp_bot_temp.cpp" + "${SERVER_HL2MP_DIR}/hl2mp/hl2mp_bot_temp.h" + "${SERVER_HL2MP_DIR}/hl2mp/hl2mp_client.cpp" + "${SERVER_HL2MP_DIR}/hl2mp/hl2mp_cvars.cpp" + "${SERVER_HL2MP_DIR}/hl2mp/hl2mp_gameinterface.cpp" + "${SERVER_HL2MP_DIR}/hl2mp/hl2mp_gameinterface.h" + "${SRCDIR}/game/shared/hl2mp/hl2mp_gamerules.cpp" + "${SRCDIR}/game/shared/hl2mp/hl2mp_gamerules.h" + "${SERVER_HL2MP_DIR}/hl2mp/hl2mp_player.cpp" + "${SERVER_HL2MP_DIR}/hl2mp/hl2mp_player.h" + "${SRCDIR}/game/shared/hl2mp/hl2mp_player_shared.cpp" + "${SRCDIR}/game/shared/hl2mp/hl2mp_player_shared.h" + "${SRCDIR}/game/shared/hl2mp/hl2mp_weapon_parse.cpp" + "${SRCDIR}/game/shared/hl2mp/hl2mp_weapon_parse.h" + + # HL2MP->Weapons + "${SERVER_HL2MP_DIR}/hl2mp/grenade_satchel.cpp" + "${SERVER_HL2MP_DIR}/hl2mp/grenade_satchel.h" + "${SERVER_HL2MP_DIR}/hl2mp/grenade_tripmine.cpp" + "${SERVER_HL2MP_DIR}/hl2mp/grenade_tripmine.h" + "${SERVER_HL2MP_DIR}/hl2mp/te_hl2mp_shotgun_shot.cpp" + "${SERVER_HL2MP_DIR}/hl2mp/te_hl2mp_shotgun_shot.h" + "${SRCDIR}/game/shared/hl2mp/weapon_357.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_ar2.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_ar2.h" + "${SRCDIR}/game/shared/hl2mp/weapon_crossbow.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_crowbar.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_frag.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_hl2mpbase.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_hl2mpbase.h" + "${SRCDIR}/game/shared/hl2mp/weapon_hl2mpbase_machinegun.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_hl2mpbase_machinegun.h" + "${SRCDIR}/game/shared/hl2mp/weapon_hl2mpbasebasebludgeon.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_hl2mpbasehlmpcombatweapon.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_hl2mpbasehlmpcombatweapon.h" + "${SRCDIR}/game/shared/hl2mp/weapon_physcannon.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_physcannon.h" + "${SRCDIR}/game/shared/hl2mp/weapon_pistol.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_rpg.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_rpg.h" + "${SRCDIR}/game/shared/hl2mp/weapon_shotgun.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_slam.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_slam.h" + "${SRCDIR}/game/shared/hl2mp/weapon_smg1.cpp" + "${SRCDIR}/game/shared/hl2mp/weapon_stunstick.cpp" +) + +set( + SERVER_HL2MP_EXCLUDE_SOURCES +) + +add_library(server_hl2mp MODULE ${SERVER_HL2MP_SOURCE_FILES}) + +set_target_properties( + server_hl2mp PROPERTIES + OUTPUT_NAME "server" + PREFIX "" + LIBRARY_OUTPUT_DIRECTORY "${GAMEDIR}/mod_hl2mp/bin" + LIBRARY_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/mod_hl2mp/bin" + LIBRARY_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/mod_hl2mp/bin" +) + +target_use_server_base(server_hl2mp SERVER_HL2MP_EXCLUDE_SOURCES) + +target_include_directories( + server_hl2mp PRIVATE + "${SRCDIR}/game/shared/hl2" + "${SERVER_HL2MP_DIR}/hl2" + "${SERVER_HL2MP_DIR}/hl2mp" + "${SRCDIR}/game/shared/hl2mp" +) + +target_compile_definitions( + server_hl2mp PRIVATE + HL2MP + HL2_DLL +) + +if (${IS_SOURCESDK}) + target_use_nav_mesh(server_hl2mp) +endif() \ No newline at end of file diff --git a/mp/src/materialsystem/stdshaders/game_shader_dx9_base.cmake b/mp/src/materialsystem/stdshaders/game_shader_dx9_base.cmake new file mode 100644 index 00000000000..46b231bdb98 --- /dev/null +++ b/mp/src/materialsystem/stdshaders/game_shader_dx9_base.cmake @@ -0,0 +1,61 @@ +# game_shader_dx9_base.cmake + +include_guard(GLOBAL) + +set(GAME_SHADER_DX9_BASE_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + GAME_SHADER_DX9_BASE_SOURCE_FILES + "${GAME_SHADER_DX9_BASE_DIR}/BaseVSShader.cpp" + + "${GAME_SHADER_DX9_BASE_DIR}/example_model_dx9.cpp" + "${GAME_SHADER_DX9_BASE_DIR}/example_model_dx9_helper.cpp" + + "${GAME_SHADER_DX9_BASE_DIR}/Bloom.cpp" + "${GAME_SHADER_DX9_BASE_DIR}/screenspace_general.cpp" + + # Header Files + "${GAME_SHADER_DX9_BASE_DIR}/BaseVSShader.h" + "${GAME_SHADER_DX9_BASE_DIR}/common_fxc.h" + "${GAME_SHADER_DX9_BASE_DIR}/common_hlsl_cpp_consts.h" + "${GAME_SHADER_DX9_BASE_DIR}/common_ps_fxc.h" + "${GAME_SHADER_DX9_BASE_DIR}/common_vertexlitgeneric_dx9.h" + "${GAME_SHADER_DX9_BASE_DIR}/common_vs_fxc.h" + "${GAME_SHADER_DX9_BASE_DIR}/shader_constant_register_map.h" + + "${GAME_SHADER_DX9_BASE_DIR}/example_model_dx9_helper.h" + + # Miscellaneous + "${GAME_SHADER_DX9_BASE_DIR}/buildsdkshaders.bat" + "${GAME_SHADER_DX9_BASE_DIR}/buildshaders.bat" + + "${GAME_SHADER_DX9_BASE_DIR}/stdshader_dx9_20b.txt" + "${GAME_SHADER_DX9_BASE_DIR}/stdshader_dx9_30.txt" +) + +function(target_use_game_shader_dx9_base target) + target_sources( + ${target} PRIVATE + ${GAME_SHADER_DX9_BASE_SOURCE_FILES} + ) + + target_include_directories( + ${target} PRIVATE + "${GAME_SHADER_DX9_BASE_DIR}/fxctmp9" + "${GAME_SHADER_DX9_BASE_DIR}/vshtmp9" + ) + + target_compile_definitions( + ${target} PRIVATE + STDSHADER_DX9_DLL_EXPORT + FAST_MATERIALVAR_ACCESS + GAME_SHADER_DLL + $<$:USE_ACTUAL_DX> + ) + + target_link_libraries( + ${target} PRIVATE + "$<${IS_WINDOWS}:version;winmm>" + mathlib + "${LIBPUBLIC}/shaderlib${STATIC_LIB_EXT}" + ) +endfunction() \ No newline at end of file diff --git a/mp/src/materialsystem/stdshaders/game_shader_dx9_hl2mp.cmake b/mp/src/materialsystem/stdshaders/game_shader_dx9_hl2mp.cmake new file mode 100644 index 00000000000..8a4b5e1a726 --- /dev/null +++ b/mp/src/materialsystem/stdshaders/game_shader_dx9_hl2mp.cmake @@ -0,0 +1,15 @@ +# game_shader_dx9_hl2mp.cmake + +include( "${CMAKE_CURRENT_LIST_DIR}/game_shader_dx9_base.cmake") + +add_library(game_shader_dx9_hl2mp MODULE) + +set_target_properties( + game_shader_dx9_hl2mp PROPERTIES + PREFIX "" + LIBRARY_OUTPUT_DIRECTORY "${GAMEDIR}/mod_hl2mp/bin" + LIBRARY_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/mod_hl2mp/bin" + LIBRARY_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/mod_hl2mp/bin" +) + +target_use_game_shader_dx9_base(game_shader_dx9_hl2mp) \ No newline at end of file diff --git a/mp/src/mathlib/mathlib.cmake b/mp/src/mathlib/mathlib.cmake new file mode 100644 index 00000000000..751f3938a47 --- /dev/null +++ b/mp/src/mathlib/mathlib.cmake @@ -0,0 +1,71 @@ +# mathlib.cmake + +set(MATHLIB_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + MATHLIB_SOURCE_FILES + + "${MATHLIB_DIR}/color_conversion.cpp" + "${MATHLIB_DIR}/halton.cpp" + "${MATHLIB_DIR}/lightdesc.cpp" + "${MATHLIB_DIR}/mathlib_base.cpp" + "${MATHLIB_DIR}/powsse.cpp" + "${MATHLIB_DIR}/sparse_convolution_noise.cpp" + "${MATHLIB_DIR}/sseconst.cpp" + "${MATHLIB_DIR}/sse.cpp" + "${MATHLIB_DIR}/ssenoise.cpp" + "$<$:${MATHLIB_DIR}/3dnow.cpp>" + "${MATHLIB_DIR}/anorms.cpp" + "${MATHLIB_DIR}/bumpvects.cpp" + "${MATHLIB_DIR}/IceKey.cpp" + "${MATHLIB_DIR}/imagequant.cpp" + "${MATHLIB_DIR}/polyhedron.cpp" + "${MATHLIB_DIR}/quantize.cpp" + "${MATHLIB_DIR}/randsse.cpp" + "${MATHLIB_DIR}/spherical.cpp" + "${MATHLIB_DIR}/simdvectormatrix.cpp" + "${MATHLIB_DIR}/vector.cpp" + "${MATHLIB_DIR}/vmatrix.cpp" + "${MATHLIB_DIR}/almostequal.cpp" + + # Public Header Files + "$<$:${SRCDIR}/public/mathlib/amd3dx.h>" + "${SRCDIR}/public/mathlib/anorms.h" + "${SRCDIR}/public/mathlib/bumpvects.h" + "${SRCDIR}/public/mathlib/compressed_3d_unitvec.h" + "${SRCDIR}/public/mathlib/compressed_light_cube.h" + "${SRCDIR}/public/mathlib/compressed_vector.h" + "${SRCDIR}/public/mathlib/halton.h" + "${SRCDIR}/public/mathlib/IceKey.H" + "${SRCDIR}/public/mathlib/lightdesc.h" + "${SRCDIR}/public/mathlib/math_pfns.h" + "${SRCDIR}/public/mathlib/mathlib.h" + "${SRCDIR}/public/mathlib/noise.h" + "${SRCDIR}/public/mathlib/polyhedron.h" + "${SRCDIR}/public/mathlib/quantize.h" + "${SRCDIR}/public/mathlib/simdvectormatrix.h" + "${SRCDIR}/public/mathlib/spherical_geometry.h" + "${SRCDIR}/public/mathlib/ssemath.h" + "${SRCDIR}/public/mathlib/ssequaternion.h" + "${SRCDIR}/public/mathlib/vector.h" + "${SRCDIR}/public/mathlib/vector2d.h" + "${SRCDIR}/public/mathlib/vector4d.h" + "${SRCDIR}/public/mathlib/vmatrix.h" + "${SRCDIR}/public/mathlib/vplane.h" + + # Header Files + "${MATHLIB_DIR}/noisedata.h" + "${MATHLIB_DIR}/sse.h" + "$<$:${MATHLIB_DIR}/3dnow.h>" +) + +add_library(mathlib STATIC ${MATHLIB_SOURCE_FILES}) + +target_include_directories( + mathlib PRIVATE + "${SRCDIR}/public/mathlib" +) + +target_compile_definitions( + mathlib PRIVATE + MATHLIB_LIB +) \ No newline at end of file diff --git a/mp/src/raytrace/raytrace.cmake b/mp/src/raytrace/raytrace.cmake new file mode 100644 index 00000000000..f81d172836f --- /dev/null +++ b/mp/src/raytrace/raytrace.cmake @@ -0,0 +1,16 @@ +# raytrace.cmake + +set(RAYTRACE_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + RAYTRACE_SOURCE_FILES + + "${RAYTRACE_DIR}/raytrace.cpp" + "${RAYTRACE_DIR}/trace2.cpp" + "${RAYTRACE_DIR}/trace3.cpp" +) + +add_library(raytrace STATIC ${RAYTRACE_SOURCE_FILES}) +target_include_directories( + raytrace PRIVATE + "${SRCDIR}/utils/common" +) \ No newline at end of file diff --git a/mp/src/tier1/tier1.cmake b/mp/src/tier1/tier1.cmake new file mode 100644 index 00000000000..b57bac77cf2 --- /dev/null +++ b/mp/src/tier1/tier1.cmake @@ -0,0 +1,157 @@ +# tier1.cmake + +set(TIER1_DIR ${CMAKE_CURRENT_LIST_DIR}) + +set( + TIER1_SOURCE_FILES + "${TIER1_DIR}/bitbuf.cpp" + "${TIER1_DIR}/newbitbuf.cpp" + "${TIER1_DIR}/byteswap.cpp" + "${TIER1_DIR}/characterset.cpp" + "${TIER1_DIR}/checksum_crc.cpp" + "${TIER1_DIR}/checksum_md5.cpp" + "${TIER1_DIR}/checksum_sha1.cpp" + "${TIER1_DIR}/commandbuffer.cpp" + "${TIER1_DIR}/convar.cpp" + "${TIER1_DIR}/datamanager.cpp" + "${TIER1_DIR}/diff.cpp" + "${TIER1_DIR}/generichash.cpp" + "${TIER1_DIR}/ilocalize.cpp" + "${TIER1_DIR}/interface.cpp" + "${TIER1_DIR}/KeyValues.cpp" + "${TIER1_DIR}/kvpacker.cpp" + "${TIER1_DIR}/lzmaDecoder.cpp" + "$<$:${TIER1_DIR}/lzss.cpp>" + "${TIER1_DIR}/mempool.cpp" + "${TIER1_DIR}/memstack.cpp" + "${TIER1_DIR}/NetAdr.cpp" + "${TIER1_DIR}/splitstring.cpp" + + "$<${IS_WINDOWS}:${TIER1_DIR}/processor_detect.cpp>" + "$<${IS_POSIX}:${TIER1_DIR}/processor_detect_linux.cpp>" + + "$<${IS_LINUX}:${TIER1_DIR}/qsort_s.cpp>" + + "${TIER1_DIR}/rangecheckedvar.cpp" + "${TIER1_DIR}/reliabletimer.cpp" + "${TIER1_DIR}/stringpool.cpp" + "${TIER1_DIR}/strtools.cpp" + "${TIER1_DIR}/strtools_unicode.cpp" + "${TIER1_DIR}/tier1.cpp" + "${TIER1_DIR}/tokenreader.cpp" + "${TIER1_DIR}/sparsematrix.cpp" + "${TIER1_DIR}/uniqueid.cpp" + "${TIER1_DIR}/utlbuffer.cpp" + "${TIER1_DIR}/utlbufferutil.cpp" + "${TIER1_DIR}/utlstring.cpp" + "${TIER1_DIR}/utlsymbol.cpp" + "${TIER1_DIR}/utlbinaryblock.cpp" + "$<${IS_LINUX}:${TIER1_DIR}/pathmatch.cpp>" + "${TIER1_DIR}/snappy.cpp" + "${TIER1_DIR}/snappy-sinksource.cpp" + "${TIER1_DIR}/snappy-stubs-internal.cpp" + + # Select bits from the LZMA SDK to support lzmaDecoder.h + # Encoding support requires the full lzma project + # LZMA Decompression Support + "${SRCDIR}/utils/lzma/C/LzmaDec.h" + "${SRCDIR}/utils/lzma/C/LzmaDec.c" + "${SRCDIR}/utils/lzma/C/7zTypes.h" + + # Header Files + + # Internal Header Files + "${TIER1_DIR}/snappy-internal.h" + "${TIER1_DIR}/snappy-stubs-internal.h" + + "${SRCDIR}/public/tier1/bitbuf.h" + "${SRCDIR}/public/tier1/byteswap.h" + "${SRCDIR}/public/tier1/callqueue.h" + "${SRCDIR}/public/tier1/characterset.h" + "${SRCDIR}/public/tier1/checksum_crc.h" + "${SRCDIR}/public/tier1/checksum_md5.h" + "${SRCDIR}/public/tier1/checksum_sha1.h" + "${SRCDIR}/public/tier1/CommandBuffer.h" + "${SRCDIR}/public/tier1/convar.h" + "${SRCDIR}/public/tier1/datamanager.h" + "${SRCDIR}/public/datamap.h" + "${SRCDIR}/public/tier1/delegates.h" + "${SRCDIR}/public/tier1/diff.h" + "${SRCDIR}/public/tier1/fmtstr.h" + "${SRCDIR}/public/tier1/functors.h" + "${SRCDIR}/public/tier1/generichash.h" + "${SRCDIR}/public/tier1/iconvar.h" + "${SRCDIR}/public/tier1/ilocalize.h" + "${SRCDIR}/public/tier1/interface.h" + "${SRCDIR}/public/tier1/KeyValues.h" + "${SRCDIR}/public/tier1/kvpacker.h" + "${SRCDIR}/public/tier1/lzmaDecoder.h" + "${SRCDIR}/public/tier1/lzss.h" + "${SRCDIR}/public/tier1/mempool.h" + "${SRCDIR}/public/tier1/memstack.h" + "${SRCDIR}/public/tier1/netadr.h" + "${SRCDIR}/public/tier1/processor_detect.h" + "${SRCDIR}/public/tier1/rangecheckedvar.h" + "${SRCDIR}/public/tier1/refcount.h" + "${SRCDIR}/public/tier1/smartptr.h" + "${SRCDIR}/public/tier1/snappy.h" + "${SRCDIR}/public/tier1/snappy-sinksource.h" + "${SRCDIR}/public/tier1/stringpool.h" + "${SRCDIR}/public/tier1/strtools.h" + "${SRCDIR}/public/tier1/tier1.h" + "${SRCDIR}/public/tier1/tokenreader.h" + "$<${IS_WINDOWS}:${SRCDIR}/public/tier1/uniqueid.h>" + "${SRCDIR}/public/tier1/utlbidirectionalset.h" + "${SRCDIR}/public/tier1/utlblockmemory.h" + "${SRCDIR}/public/tier1/utlbuffer.h" + "${SRCDIR}/public/tier1/utlbufferutil.h" + "${SRCDIR}/public/tier1/utlcommon.h" + "${SRCDIR}/public/tier1/utldict.h" + "${SRCDIR}/public/tier1/utlenvelope.h" + "${SRCDIR}/public/tier1/utlfixedmemory.h" + "${SRCDIR}/public/tier1/utlhandletable.h" + "${SRCDIR}/public/tier1/utlhash.h" + "${SRCDIR}/public/tier1/utlhashtable.h" + "${SRCDIR}/public/tier1/utllinkedlist.h" + "${SRCDIR}/public/tier1/utlmap.h" + "${SRCDIR}/public/tier1/utlmemory.h" + "${SRCDIR}/public/tier1/utlmultilist.h" + "${SRCDIR}/public/tier1/utlpriorityqueue.h" + "${SRCDIR}/public/tier1/utlqueue.h" + "${SRCDIR}/public/tier1/utlrbtree.h" + "${SRCDIR}/public/tier1/UtlSortVector.h" + "${SRCDIR}/public/tier1/utlstack.h" + "${SRCDIR}/public/tier1/utlstring.h" + "${SRCDIR}/public/tier1/UtlStringMap.h" + "${SRCDIR}/public/tier1/utlsymbol.h" + "${SRCDIR}/public/tier1/utlsymbollarge.h" + "${SRCDIR}/public/tier1/utlvector.h" + "${SRCDIR}/public/tier1/utlbinaryblock.h" + "$<${IS_WINDOWS}:${SRCDIR}/common/xbox/xboxstubs.h>" +) + +set_source_files_properties( + "$<${IS_WINDOWS}:${TIER1_DIR}/processor_detect.cpp>" + PROPERTIES + COMPILE_FLAGS + /EHsc +) + +add_library( + tier1 STATIC + ${TIER1_SOURCE_FILES} +) + +target_compile_definitions( + tier1 PRIVATE + TIER1_STATIC_LIB +) + +target_link_libraries( + tier1 INTERFACE + $<${IS_WINDOWS}:Rpcrt4> + + # strtools depends on this, so make it an interface + # instead of linking it everywhere + $<${IS_OSX}:iconv> +) \ No newline at end of file diff --git a/mp/src/utils/captioncompiler/captioncompiler.cmake b/mp/src/utils/captioncompiler/captioncompiler.cmake new file mode 100644 index 00000000000..50d4a276ef8 --- /dev/null +++ b/mp/src/utils/captioncompiler/captioncompiler.cmake @@ -0,0 +1,58 @@ +# captioncompiler.cmake + +set(CAPTIONCOMPILER_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + CAPTIONCOMPILER_SOURCE_FILES + + "${CAPTIONCOMPILER_DIR}/captioncompiler.cpp" + "${SRCDIR}/common/compiledcaptionswap.cpp" + "${SRCDIR}/utils/common/filesystem_tools.cpp" + + # Header Files + "${CAPTIONCOMPILER_DIR}/cbase.h" + "${SRCDIR}/utils/common/filesystem_tools.h" + + # Shared Code + "${SRCDIR}/utils/common/cmdlib.cpp" + "${SRCDIR}/utils/common/cmdlib.h" + "${SRCDIR}/public/filesystem_helpers.cpp" + "${SRCDIR}/public/filesystem_helpers.h" + "${SRCDIR}/public/filesystem_init.cpp" + "${SRCDIR}/public/filesystem_init.h" + "${SRCDIR}/public/mathlib/mathlib.h" + "${SRCDIR}/utils/common/pacifier.cpp" + "${SRCDIR}/utils/common/pacifier.h" + "${SRCDIR}/utils/common/scriplib.cpp" + "${SRCDIR}/utils/common/scriplib.h" + "${SRCDIR}/public/stringregistry.cpp" + "${SRCDIR}/public/stringregistry.h" +) + +add_executable(captioncompiler ${CAPTIONCOMPILER_SOURCE_FILES}) + +set_target_properties( + captioncompiler PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_compile_definitions( + captioncompiler PRIVATE + captioncompiler +) + +target_include_directories( + captioncompiler PRIVATE + "${SRCDIR}/utils/common" + "${SRCDIR}/game/shared" + "${CAPTIONCOMPILER_DIR}" +) + +target_link_libraries( + captioncompiler PRIVATE + "${LIBPUBLIC}/appframework${STATIC_LIB_EXT}" + mathlib + "${LIBPUBLIC}/tier2${STATIC_LIB_EXT}" + "${LIBPUBLIC}/tier3${STATIC_LIB_EXT}" +) \ No newline at end of file diff --git a/mp/src/utils/glview/glview.cmake b/mp/src/utils/glview/glview.cmake new file mode 100644 index 00000000000..15ed238d9d9 --- /dev/null +++ b/mp/src/utils/glview/glview.cmake @@ -0,0 +1,52 @@ +# glview.cmake + +set(GLVIEW_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + GLVIEW_SOURCE_FILES + + "${GLVIEW_DIR}/glview.cpp" + + # Common Files + "${SRCDIR}/utils/common/cmdlib.cpp" + "${SRCDIR}/public/filesystem_helpers.cpp" + "${SRCDIR}/public/filesystem_init.cpp" + "${SRCDIR}/utils/common/filesystem_tools.cpp" + "${SRCDIR}/utils/common/physdll.cpp" + + # Header Files + "${SRCDIR}/utils/common/cmdlib.h" + "${GLVIEW_DIR}/glos.h" + "${SRCDIR}/public/mathlib/mathlib.h" +) + +add_executable(glview WIN32 ${GLVIEW_SOURCE_FILES}) + +set_target_properties( + glview PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_include_directories( + glview PRIVATE + "${SRCDIR}/utils/common" +) + +target_compile_definitions( + glview PRIVATE + PROTECTED_THINGS_DISABLE +) + +target_link_libraries( + glview PRIVATE + + glu32 + opengl32 + odbc32 + odbccp32 + winmm + + mathlib + "${LIBPUBLIC}/tier2${STATIC_LIB_EXT}" +) \ No newline at end of file diff --git a/mp/src/utils/height2normal/height2normal.cmake b/mp/src/utils/height2normal/height2normal.cmake new file mode 100644 index 00000000000..97292cf44a0 --- /dev/null +++ b/mp/src/utils/height2normal/height2normal.cmake @@ -0,0 +1,48 @@ +# height2normal.cmake + +set(HEIGHT2NORMAL_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + HEIGHT2NORMAL_SOURCE_FILES + + "${HEIGHT2NORMAL_DIR}/height2normal.cpp" + + # Header Files + "${SRCDIR}/public/tier1/interface.h" + "${SRCDIR}/public/tier1/utlbuffer.h" +) + +set( + height2normal_exclude_source + "${SRCDIR}/public/tier0/memoverride.cpp" +) + +add_executable(height2normal ${HEIGHT2NORMAL_SOURCE_FILES}) + +set_target_properties( + height2normal PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_include_directories( + height2normal PRIVATE + "${SRCDIR}/utils/common" +) + +target_compile_definitions( + height2normal PRIVATE + _HAS_ITERATOR_DEBUGGING=0 + _CONSOLE + _ALLOW_RUNTIME_LIBRARY_MISMATCH + _ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH + _ALLOW_MSC_VER_MISMATCH +) + +target_link_libraries( + height2normal PRIVATE + + "${LIBPUBLIC}/bitmap${STATIC_LIB_EXT}" + mathlib + "${LIBPUBLIC}/tier2${STATIC_LIB_EXT}" +) \ No newline at end of file diff --git a/mp/src/utils/motionmapper/motionmapper.cmake b/mp/src/utils/motionmapper/motionmapper.cmake new file mode 100644 index 00000000000..6e7ce5c453f --- /dev/null +++ b/mp/src/utils/motionmapper/motionmapper.cmake @@ -0,0 +1,83 @@ +# motionmapper.cmake + +set(MOTIONMAPPER_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + MOTIONMAPPER_SOURCE_FILES + + "${SRCDIR}/utils/common/cmdlib.cpp" + "${SRCDIR}/public/filesystem_helpers.cpp" + "${SRCDIR}/public/filesystem_init.cpp" + "${SRCDIR}/utils/common/filesystem_tools.cpp" + "${MOTIONMAPPER_DIR}/motionmapper.cpp" + "${SRCDIR}/utils/common/scriplib.cpp" + + # Header Files + "${SRCDIR}/public/mathlib/amd3dx.h" + "${SRCDIR}/public/tier0/basetypes.h" + "${SRCDIR}/public/tier1/characterset.h" + "${SRCDIR}/utils/common/cmdlib.h" + "${SRCDIR}/public/Color.h" + "${SRCDIR}/public/tier0/commonmacros.h" + "${SRCDIR}/public/mathlib/compressed_vector.h" + "${SRCDIR}/public/tier0/dbg.h" + "${SRCDIR}/public/tier0/fasttimer.h" + "${SRCDIR}/public/filesystem.h" + "${SRCDIR}/public/filesystem_helpers.h" + "${SRCDIR}/utils/common/filesystem_tools.h" + "${SRCDIR}/public/appframework/IAppSystem.h" + "${SRCDIR}/public/tier0/icommandline.h" + "${SRCDIR}/public/vstdlib/IKeyValuesSystem.h" + "${SRCDIR}/public/tier1/interface.h" + "${SRCDIR}/public/tier1/KeyValues.h" + "${SRCDIR}/public/mathlib/mathlib.h" + "${SRCDIR}/public/tier0/mem.h" + "${SRCDIR}/public/tier0/memalloc.h" + "${SRCDIR}/public/tier0/memdbgoff.h" + "${SRCDIR}/public/tier0/memdbgon.h" + "${MOTIONMAPPER_DIR}/motionmapper.h" + "${SRCDIR}/public/tier0/platform.h" + "${SRCDIR}/public/tier0/protected_things.h" + "${SRCDIR}/utils/common/scriplib.h" + "${SRCDIR}/public/string_t.h" + "${SRCDIR}/public/tier1/strtools.h" + "${SRCDIR}/public/studio.h" + "${SRCDIR}/public/tier1/utlbuffer.h" + "${SRCDIR}/public/tier1/utldict.h" + "${SRCDIR}/public/tier1/utllinkedlist.h" + "${SRCDIR}/public/tier1/utlmemory.h" + "${SRCDIR}/public/tier1/utlrbtree.h" + "${SRCDIR}/public/tier1/utlsymbol.h" + "${SRCDIR}/public/tier1/utlvector.h" + "${SRCDIR}/public/mathlib/vector.h" + "${SRCDIR}/public/mathlib/vector2d.h" + "${SRCDIR}/public/mathlib/vector4d.h" + "${SRCDIR}/public/vstdlib/vstdlib.h" +) + +add_executable(motionmapper ${MOTIONMAPPER_SOURCE_FILES}) + +set_target_properties( + motionmapper PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_include_directories( + motionmapper PRIVATE + "${SRCDIR}/utils/common" + "${SRCDIR}/utils/nvtristriplib" +) + +target_compile_definitions( + motionmapper PRIVATE + PROTECTED_THINGS_DISABLE +) + +target_link_libraries( + motionmapper PRIVATE + winmm + mathlib + "${LIBPUBLIC}/nvtristrip${STATIC_LIB_EXT}" + "${LIBPUBLIC}/tier2${STATIC_LIB_EXT}" +) \ No newline at end of file diff --git a/mp/src/utils/qc_eyes/qc_eyes.cmake b/mp/src/utils/qc_eyes/qc_eyes.cmake new file mode 100644 index 00000000000..d724db34003 --- /dev/null +++ b/mp/src/utils/qc_eyes/qc_eyes.cmake @@ -0,0 +1,56 @@ +# qc_eyes.cmake + +set(QC_EYES_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + QC_EYES_SOURCE_FILES + + "${QC_EYES_DIR}/QC_Eyes.cpp" + "${QC_EYES_DIR}/QC_Eyes.rc" + "${QC_EYES_DIR}/QC_EyesDlg.cpp" + "${QC_EYES_DIR}/StdAfx.cpp" + + # Header Files + "${QC_EYES_DIR}/QC_Eyes.h" + "${QC_EYES_DIR}/QC_EyesDlg.h" + "${QC_EYES_DIR}/Resource.h" + "${QC_EYES_DIR}/StdAfx.h" + + # Resources + "${QC_EYES_DIR}/res/eye_default.bmp" + "${QC_EYES_DIR}/res/eye_lower_hi.bmp" + "${QC_EYES_DIR}/res/eye_lower_lo.bmp" + "${QC_EYES_DIR}/res/eye_lower_mid.bmp" + "${QC_EYES_DIR}/res/eye_upper_hi.bmp" + "${QC_EYES_DIR}/res/eye_upper_lo.bmp" + "${QC_EYES_DIR}/res/eye_upper_mid.bmp" + "${QC_EYES_DIR}/res/eye_XY_L.bmp" + "${QC_EYES_DIR}/res/eye_XY_R.bmp" + "${QC_EYES_DIR}/res/eye_Z_L.bmp" + "${QC_EYES_DIR}/res/eye_Z_R.bmp" + "${QC_EYES_DIR}/res/QC_Eyes.ico" + "${QC_EYES_DIR}/res/QC_Eyes.rc2" +) + +set( + qc_eyes_exclude_source + "${SRCDIR}/public/tier0/memoverride.cpp" +) + +add_executable(qc_eyes WIN32 ${QC_EYES_SOURCE_FILES}) + +set_target_properties( + qc_eyes PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_precompile_headers( + qc_eyes PRIVATE + "${QC_EYES_DIR}/StdAfx.h" +) + +target_compile_definitions( + qc_eyes PRIVATE + NO_WARN_MBCS_MFC_DEPRECATION +) \ No newline at end of file diff --git a/mp/src/utils/serverplugin_sample/serverplugin_empty.cmake b/mp/src/utils/serverplugin_sample/serverplugin_empty.cmake new file mode 100644 index 00000000000..25d9c149248 --- /dev/null +++ b/mp/src/utils/serverplugin_sample/serverplugin_empty.cmake @@ -0,0 +1,59 @@ +# serverplugin_empty.cmake + +set(SERVERPLUGIN_EMPTY_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + SERVERPLUGIN_EMPTY_SOURCE_FILES + + "${SERVERPLUGIN_EMPTY_DIR}/serverplugin_bot.cpp" + "${SERVERPLUGIN_EMPTY_DIR}/serverplugin_empty.cpp" + + # Header Files + "${SRCDIR}/public/tier0/basetypes.h" + "${SRCDIR}/public/Color.h" + "${SRCDIR}/public/tier0/dbg.h" + "${SRCDIR}/public/eiface.h" + "${SRCDIR}/public/filesystem.h" + "${SRCDIR}/public/tier0/icommandline.h" + "${SRCDIR}/public/igameevents.h" + "${SRCDIR}/public/tier1/interface.h" + "${SRCDIR}/public/game/server/iplayerinfo.h" + "${SRCDIR}/public/engine/iserverplugin.h" + "${SRCDIR}/public/tier1/KeyValues.h" + "${SRCDIR}/public/tier0/mem.h" + "${SRCDIR}/public/tier0/memalloc.h" + "${SRCDIR}/public/tier0/memdbgon.h" + "${SRCDIR}/public/tier1/strtools.h" + "${SRCDIR}/public/tier1/utlbuffer.h" + "${SRCDIR}/public/tier1/utlmemory.h" + "${SRCDIR}/public/tier1/utlvector.h" + "${SRCDIR}/public/vstdlib/vstdlib.h" +) + +add_library(serverplugin_empty MODULE ${SERVERPLUGIN_EMPTY_SOURCE_FILES}) + +set_target_properties( + serverplugin_empty + PROPERTIES + PREFIX "" + LIBRARY_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + LIBRARY_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + LIBRARY_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_include_directories( + serverplugin_empty PRIVATE + "${SRCDIR}/game/server" + "${SRCDIR}/game/shared" +) + +target_compile_definitions( + serverplugin_empty PRIVATE + serverplugin_emptyONLY + _MBCS +) + +target_link_libraries( + serverplugin_empty PRIVATE + mathlib + "${LIBPUBLIC}/tier2${STATIC_LIB_EXT}" +) \ No newline at end of file diff --git a/mp/src/utils/tgadiff/tgadiff.cmake b/mp/src/utils/tgadiff/tgadiff.cmake new file mode 100644 index 00000000000..90aef207021 --- /dev/null +++ b/mp/src/utils/tgadiff/tgadiff.cmake @@ -0,0 +1,24 @@ +# tgadiff.cmake + +set(TGADIFF_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + TGADIFF_SOURCE_FILES + + "${TGADIFF_DIR}/tgadiff.cpp" +) + +add_executable(tgadiff ${TGADIFF_SOURCE_FILES}) + +set_target_properties( + tgadiff PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_link_libraries( + tgadiff PRIVATE + "${LIBPUBLIC}/bitmap${STATIC_LIB_EXT}" + mathlib + "${LIBPUBLIC}/tier2${STATIC_LIB_EXT}" +) \ No newline at end of file diff --git a/mp/src/utils/vbsp/vbsp.cmake b/mp/src/utils/vbsp/vbsp.cmake new file mode 100644 index 00000000000..3cb4a46f8ef --- /dev/null +++ b/mp/src/utils/vbsp/vbsp.cmake @@ -0,0 +1,177 @@ +# vbsp.cmake + +set(VBSP_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + VBSP_SOURCE_FILES + + "${VBSP_DIR}/boundbox.cpp" + "${VBSP_DIR}/brushbsp.cpp" + "${SRCDIR}/public/CollisionUtils.cpp" + "${VBSP_DIR}/csg.cpp" + "${VBSP_DIR}/cubemap.cpp" + "${VBSP_DIR}/detail.cpp" + "${VBSP_DIR}/detailObjects.cpp" + "${SRCDIR}/public/disp_common.cpp" + "${VBSP_DIR}/disp_ivp.cpp" + "${SRCDIR}/public/disp_powerinfo.cpp" + "${VBSP_DIR}/disp_vbsp.cpp" + "${VBSP_DIR}/faces.cpp" + "${VBSP_DIR}/glfile.cpp" + "${VBSP_DIR}/ivp.cpp" + "${VBSP_DIR}/leakfile.cpp" + "${SRCDIR}/public/loadcmdline.cpp" + "${SRCDIR}/public/lumpfiles.cpp" + "${VBSP_DIR}/map.cpp" + "${VBSP_DIR}/manifest.cpp" + "${VBSP_DIR}/materialpatch.cpp" + "${VBSP_DIR}/materialsub.cpp" + "${SRCDIR}/utils/common/mstristrip.cpp" + "${VBSP_DIR}/nodraw.cpp" + "${VBSP_DIR}/normals.cpp" + "${VBSP_DIR}/overlay.cpp" + "${SRCDIR}/utils/common/physdll.cpp" + "${VBSP_DIR}/portals.cpp" + "${VBSP_DIR}/prtfile.cpp" + "${SRCDIR}/public/ScratchPad3D.cpp" + "${SRCDIR}/utils/common/scratchpad_helpers.cpp" + "${VBSP_DIR}/StaticProp.cpp" + "${VBSP_DIR}/textures.cpp" + "${VBSP_DIR}/tree.cpp" + "${SRCDIR}/utils/common/utilmatlib.cpp" + "${VBSP_DIR}/vbsp.cpp" + "${VBSP_DIR}/worldvertextransitionfixup.cpp" + "${VBSP_DIR}/writebsp.cpp" + "${SRCDIR}/public/zip_utils.cpp" + + # Common Files + "${SRCDIR}/utils/common/bsplib.cpp" + "${SRCDIR}/public/builddisp.cpp" + "${SRCDIR}/public/ChunkFile.cpp" + "${SRCDIR}/utils/common/cmdlib.cpp" + "${SRCDIR}/public/filesystem_helpers.cpp" + "${SRCDIR}/public/filesystem_init.cpp" + "${SRCDIR}/utils/common/filesystem_tools.cpp" + "${SRCDIR}/utils/common/map_shared.cpp" + "${SRCDIR}/utils/common/pacifier.cpp" + "${SRCDIR}/utils/common/polylib.cpp" + "${SRCDIR}/utils/common/scriplib.cpp" + "${SRCDIR}/utils/common/threads.cpp" + "${SRCDIR}/utils/common/tools_minidump.cpp" + "${SRCDIR}/utils/common/tools_minidump.h" + + # Header Files + "${VBSP_DIR}/boundbox.h" + "${VBSP_DIR}/csg.h" + "${VBSP_DIR}/detail.h" + "${SRCDIR}/public/disp_powerinfo.h" + "${VBSP_DIR}/disp_vbsp.h" + "${SRCDIR}/public/disp_vertindex.h" + "${VBSP_DIR}/faces.h" + "${VBSP_DIR}/map.h" + "${VBSP_DIR}/manifest.h" + "${VBSP_DIR}/materialpatch.h" + "${VBSP_DIR}/materialsub.h" + "${SRCDIR}/utils/common/scratchpad_helpers.h" + "${VBSP_DIR}/vbsp.h" + "${VBSP_DIR}/worldvertextransitionfixup.h" + "${VBSP_DIR}/writebsp.h" + + # Common Header Files + "${SRCDIR}/utils/common/bsplib.h" + "${SRCDIR}/public/builddisp.h" + "${SRCDIR}/public/ChunkFile.h" + "${SRCDIR}/utils/common/cmdlib.h" + "${VBSP_DIR}/disp_ivp.h" + "${SRCDIR}/public/filesystem.h" + "${SRCDIR}/public/filesystem_helpers.h" + "${SRCDIR}/utils/common/FileSystem_Tools.h" + "${SRCDIR}/public/GameBSPFile.h" + "${SRCDIR}/public/tier1/interface.h" + "${VBSP_DIR}/ivp.h" + "${SRCDIR}/utils/common/map_shared.h" + "${SRCDIR}/utils/common/pacifier.h" + "${SRCDIR}/utils/common/polylib.h" + "${SRCDIR}/public/tier1/tokenreader.h" + "${SRCDIR}/utils/common/utilmatlib.h" + "${SRCDIR}/utils/vmpi/vmpi.h" + "${SRCDIR}/public/zip_uncompressed.h" + + # Public Headers + "${SRCDIR}/public/mathlib/amd3dx.h" + "${SRCDIR}/public/arraystack.h" + "${SRCDIR}/public/tier0/basetypes.h" + "${SRCDIR}/public/BSPFILE.H" + "${SRCDIR}/public/bspflags.h" + "${SRCDIR}/public/BSPTreeData.h" + "${SRCDIR}/public/mathlib/bumpvects.h" + "${SRCDIR}/public/tier1/byteswap.h" + "${SRCDIR}/public/cmodel.h" + "${SRCDIR}/public/CollisionUtils.h" + "${SRCDIR}/public/tier0/commonmacros.h" + "${SRCDIR}/public/tier0/dbg.h" + "${SRCDIR}/public/disp_common.h" + "${SRCDIR}/public/IScratchPad3D.h" + "${SRCDIR}/public/mathlib/mathlib.h" + "${SRCDIR}/utils/common/mstristrip.h" + "${SRCDIR}/public/nmatrix.h" + "${SRCDIR}/public/NTree.h" + "${SRCDIR}/public/nvector.h" + "${SRCDIR}/public/phyfile.h" + "${SRCDIR}/utils/common/physdll.h" + "${SRCDIR}/utils/common/qfiles.h" + "${SRCDIR}/public/ScratchPad3D.h" + "${SRCDIR}/utils/common/scriplib.h" + "${SRCDIR}/public/studio.h" + "${SRCDIR}/utils/common/threads.h" + "${SRCDIR}/public/tier1/utlbuffer.h" + "${SRCDIR}/public/tier1/utllinkedlist.h" + "${SRCDIR}/public/tier1/utlmemory.h" + "${SRCDIR}/public/tier1/utlrbtree.h" + "${SRCDIR}/public/tier1/utlsymbol.h" + "${SRCDIR}/public/tier1/utlvector.h" + "${SRCDIR}/public/vcollide.h" + "${SRCDIR}/public/mathlib/vector.h" + "${SRCDIR}/public/mathlib/vector2d.h" + "${SRCDIR}/public/mathlib/vector4d.h" + "${SRCDIR}/public/mathlib/vmatrix.h" + "${SRCDIR}/public/vphysics_interface.h" + "${SRCDIR}/public/mathlib/vplane.h" + "${SRCDIR}/public/wadtypes.h" + "${SRCDIR}/public/worldsize.h" +) + +add_executable(vbsp ${VBSP_SOURCE_FILES}) + +set_target_properties( + vbsp PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_include_directories( + vbsp PRIVATE + "${SRCDIR}/utils/common" + "${SRCDIR}/utils/vmpi" +) + +target_compile_definitions( + vbsp PRIVATE + MACRO_MATHLIB + PROTECTED_THINGS_DISABLE +) + +target_link_libraries( + vbsp PRIVATE + ws2_32 + odbc32 + odbccp32 + winmm + + "${LIBPUBLIC}/bitmap${STATIC_LIB_EXT}" + fgdlib + mathlib + "${LIBPUBLIC}/tier2${STATIC_LIB_EXT}" + "${LIBPUBLIC}/vtf${STATIC_LIB_EXT}" + "${LIBCOMMON}/lzma${STATIC_LIB_EXT}" +) \ No newline at end of file diff --git a/mp/src/utils/vice/vice.cmake b/mp/src/utils/vice/vice.cmake new file mode 100644 index 00000000000..6b9b9d37134 --- /dev/null +++ b/mp/src/utils/vice/vice.cmake @@ -0,0 +1,35 @@ +# vice.cmake + +set(VICE_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + VICE_SOURCE_FILES + + "${SRCDIR}/utils/common/cmdlib.cpp" + "${SRCDIR}/public/filesystem_helpers.cpp" + "${SRCDIR}/public/filesystem_init.cpp" + "${SRCDIR}/utils/common/filesystem_tools.cpp" + "${VICE_DIR}/vice.cpp" + + # Header Files + "${SRCDIR}/public/mathlib/IceKey.H" +) + +add_executable(vice ${VICE_SOURCE_FILES}) + +set_target_properties( + vice PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_include_directories( + vice PRIVATE + "${SRCDIR}/utils/common" +) + +target_link_libraries( + vice PRIVATE + "${LIBPUBLIC}/tier2${STATIC_LIB_EXT}" + mathlib +) \ No newline at end of file diff --git a/mp/src/utils/vrad/vrad_dll.cmake b/mp/src/utils/vrad/vrad_dll.cmake new file mode 100644 index 00000000000..fa48640d260 --- /dev/null +++ b/mp/src/utils/vrad/vrad_dll.cmake @@ -0,0 +1,216 @@ +# vrad_dll.cmake + +set(VRAD_DLL_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + VRAD_DLL_SOURCE_FILES + + "${SRCDIR}/public/BSPTreeData.cpp" + "${SRCDIR}/public/disp_common.cpp" + "${SRCDIR}/public/disp_powerinfo.cpp" + "${VRAD_DLL_DIR}/disp_vrad.cpp" + "${VRAD_DLL_DIR}/imagepacker.cpp" + "${VRAD_DLL_DIR}/incremental.cpp" + "${VRAD_DLL_DIR}/leaf_ambient_lighting.cpp" + "${VRAD_DLL_DIR}/lightmap.cpp" + "${SRCDIR}/public/loadcmdline.cpp" + "${SRCDIR}/public/lumpfiles.cpp" + "${VRAD_DLL_DIR}/macro_texture.cpp" + "${SRCDIR}/utils/common/mpi_stats.cpp" + "${VRAD_DLL_DIR}/mpivrad.cpp" + "${SRCDIR}/utils/common/MySqlDatabase.cpp" + "${SRCDIR}/utils/common/pacifier.cpp" + "${SRCDIR}/utils/common/physdll.cpp" + "${VRAD_DLL_DIR}/radial.cpp" + "${VRAD_DLL_DIR}/SampleHash.cpp" + "${VRAD_DLL_DIR}/trace.cpp" + "${SRCDIR}/utils/common/utilmatlib.cpp" + "${VRAD_DLL_DIR}/vismat.cpp" + "${SRCDIR}/utils/common/vmpi_tools_shared.cpp" + "${SRCDIR}/utils/common/vmpi_tools_shared.h" + "${VRAD_DLL_DIR}/vrad.cpp" + "${VRAD_DLL_DIR}/VRAD_DispColl.cpp" + "${VRAD_DLL_DIR}/VradDetailProps.cpp" + "${VRAD_DLL_DIR}/VRadDisps.cpp" + "${VRAD_DLL_DIR}/vraddll.cpp" + "${VRAD_DLL_DIR}/VRadStaticProps.cpp" + "${SRCDIR}/public/zip_utils.cpp" + + # Common Files + "${SRCDIR}/utils/common/bsplib.cpp" + "${SRCDIR}/public/builddisp.cpp" + "${SRCDIR}/public/ChunkFile.cpp" + "${SRCDIR}/utils/common/cmdlib.cpp" + "${SRCDIR}/public/DispColl_Common.cpp" + "${SRCDIR}/utils/common/map_shared.cpp" + "${SRCDIR}/utils/common/polylib.cpp" + "${SRCDIR}/utils/common/scriplib.cpp" + "${SRCDIR}/utils/common/threads.cpp" + "${SRCDIR}/utils/common/tools_minidump.cpp" + "${SRCDIR}/utils/common/tools_minidump.h" + + # Public Files + "${SRCDIR}/public/CollisionUtils.cpp" + "${SRCDIR}/public/filesystem_helpers.cpp" + "${SRCDIR}/public/ScratchPad3D.cpp" + "${SRCDIR}/public/ScratchPadUtils.cpp" + + # Header Files + "${VRAD_DLL_DIR}/disp_vrad.h" + "${VRAD_DLL_DIR}/iincremental.h" + "${VRAD_DLL_DIR}/imagepacker.h" + "${VRAD_DLL_DIR}/incremental.h" + "${VRAD_DLL_DIR}/leaf_ambient_lighting.h" + "${VRAD_DLL_DIR}/lightmap.h" + "${VRAD_DLL_DIR}/macro_texture.h" + "${SRCDIR}/public/map_utils.h" + "${VRAD_DLL_DIR}/mpivrad.h" + "${VRAD_DLL_DIR}/radial.h" + "${SRCDIR}/public/bitmap/tgawriter.h" + "${VRAD_DLL_DIR}/vismat.h" + "${VRAD_DLL_DIR}/vrad.h" + "${VRAD_DLL_DIR}/VRAD_DispColl.h" + "${VRAD_DLL_DIR}/vraddetailprops.h" + "${VRAD_DLL_DIR}/vraddll.h" + + # Common Header Files + "${SRCDIR}/utils/common/bsplib.h" + "${SRCDIR}/utils/common/cmdlib.h" + "${SRCDIR}/utils/common/consolewnd.h" + "${SRCDIR}/utils/vmpi/ichannel.h" + "${SRCDIR}/utils/vmpi/imysqlwrapper.h" + "${SRCDIR}/utils/vmpi/iphelpers.h" + "${SRCDIR}/utils/common/ISQLDBReplyTarget.h" + "${SRCDIR}/utils/common/map_shared.h" + "${SRCDIR}/utils/vmpi/messbuf.h" + "${SRCDIR}/utils/common/mpi_stats.h" + "${SRCDIR}/utils/common/MySqlDatabase.h" + "${SRCDIR}/utils/common/pacifier.h" + "${SRCDIR}/utils/common/polylib.h" + "${SRCDIR}/utils/common/scriplib.h" + "${SRCDIR}/utils/vmpi/threadhelpers.h" + "${SRCDIR}/utils/common/threads.h" + "${SRCDIR}/utils/common/utilmatlib.h" + "${SRCDIR}/utils/vmpi/vmpi_defs.h" + "${SRCDIR}/utils/vmpi/vmpi_dispatch.h" + "${SRCDIR}/utils/vmpi/vmpi_distribute_work.h" + "${SRCDIR}/utils/vmpi/vmpi_filesystem.h" + + # Public Header Files + "${SRCDIR}/public/mathlib/amd3dx.h" + "${SRCDIR}/public/mathlib/ANORMS.H" + "${SRCDIR}/public/basehandle.h" + "${SRCDIR}/public/tier0/basetypes.h" + "${SRCDIR}/public/tier1/bitbuf.h" + "${SRCDIR}/public/bitvec.h" + "${SRCDIR}/public/BSPFILE.H" + "${SRCDIR}/public/bspflags.h" + "${SRCDIR}/public/BSPTreeData.h" + "${SRCDIR}/public/builddisp.h" + "${SRCDIR}/public/mathlib/bumpvects.h" + "${SRCDIR}/public/tier1/byteswap.h" + "${SRCDIR}/public/tier1/characterset.h" + "${SRCDIR}/public/tier1/checksum_crc.h" + "${SRCDIR}/public/tier1/checksum_md5.h" + "${SRCDIR}/public/ChunkFile.h" + "${SRCDIR}/public/cmodel.h" + "${SRCDIR}/public/CollisionUtils.h" + "${SRCDIR}/public/tier0/commonmacros.h" + "${SRCDIR}/public/mathlib/compressed_vector.h" + "${SRCDIR}/public/const.h" + "${SRCDIR}/public/coordsize.h" + "${SRCDIR}/public/tier0/dbg.h" + "${SRCDIR}/public/disp_common.h" + "${SRCDIR}/public/disp_powerinfo.h" + "${SRCDIR}/public/disp_vertindex.h" + "${SRCDIR}/public/DispColl_Common.h" + "${SRCDIR}/public/tier0/fasttimer.h" + "${SRCDIR}/public/filesystem.h" + "${SRCDIR}/public/filesystem_helpers.h" + "${SRCDIR}/public/GameBSPFile.h" + "${SRCDIR}/public/gametrace.h" + "${SRCDIR}/public/mathlib/halton.h" + "${SRCDIR}/public/materialsystem/hardwareverts.h" + "${SRCDIR}/public/appframework/IAppSystem.h" + "${SRCDIR}/public/tier0/icommandline.h" + "${SRCDIR}/public/ihandleentity.h" + "${SRCDIR}/public/materialsystem/imaterial.h" + "${SRCDIR}/public/materialsystem/imaterialsystem.h" + "${SRCDIR}/public/materialsystem/imaterialvar.h" + "${SRCDIR}/public/tier1/interface.h" + "${SRCDIR}/public/iscratchpad3d.h" + "${SRCDIR}/public/ivraddll.h" + "${SRCDIR}/public/materialsystem/materialsystem_config.h" + "${SRCDIR}/public/mathlib/mathlib.h" + "${SRCDIR}/public/tier0/memdbgon.h" + "${SRCDIR}/public/optimize.h" + "${SRCDIR}/public/phyfile.h" + "${SRCDIR}/utils/common/physdll.h" + "${SRCDIR}/public/tier0/platform.h" + "${SRCDIR}/public/tier0/protected_things.h" + "${SRCDIR}/public/vstdlib/random.h" + "${SRCDIR}/public/ScratchPad3D.h" + "${SRCDIR}/public/ScratchPadUtils.h" + "${SRCDIR}/public/string_t.h" + "${SRCDIR}/public/tier1/strtools.h" + "${SRCDIR}/public/studio.h" + "${SRCDIR}/public/tier1/tokenreader.h" + "${SRCDIR}/public/trace.h" + "${SRCDIR}/public/tier1/utlbuffer.h" + "${SRCDIR}/public/tier1/utldict.h" + "${SRCDIR}/public/tier1/utlhash.h" + "${SRCDIR}/public/tier1/utllinkedlist.h" + "${SRCDIR}/public/tier1/utlmemory.h" + "${SRCDIR}/public/tier1/utlrbtree.h" + "${SRCDIR}/public/tier1/utlsymbol.h" + "${SRCDIR}/public/tier1/utlvector.h" + "${SRCDIR}/public/vcollide.h" + "${SRCDIR}/public/mathlib/vector.h" + "${SRCDIR}/public/mathlib/vector2d.h" + "${SRCDIR}/public/mathlib/vector4d.h" + "${SRCDIR}/public/mathlib/vmatrix.h" + "${SRCDIR}/utils/vmpi/vmpi.h" + "${SRCDIR}/public/vphysics_interface.h" + "${SRCDIR}/public/mathlib/vplane.h" + "${SRCDIR}/public/tier0/vprof.h" + "${SRCDIR}/public/vstdlib/vstdlib.h" + "${SRCDIR}/public/vtf/vtf.h" + "${SRCDIR}/public/wadtypes.h" + "${SRCDIR}/public/worldsize.h" +) + +add_library(vrad_dll MODULE ${VRAD_DLL_SOURCE_FILES}) + +set_target_properties( + vrad_dll PROPERTIES + LIBRARY_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + LIBRARY_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + LIBRARY_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_include_directories( + vrad_dll PRIVATE + "${SRCDIR}/utils/common" + "${SRCDIR}/utils/vmpi" + "${SRCDIR}/utils/vmpi/mysql/mysqlpp/include" + "${SRCDIR}/utils/vmpi/mysql/include" +) + +target_compile_definitions( + vrad_dll PRIVATE + MPI + PROTECTED_THINGS_DISABLE + VRAD +) + +target_link_libraries( + vrad_dll PRIVATE + ws2_32 + + "${LIBPUBLIC}/bitmap${STATIC_LIB_EXT}" + mathlib + raytrace + "${LIBPUBLIC}/tier2${STATIC_LIB_EXT}" + "${LIBPUBLIC}/vmpi${STATIC_LIB_EXT}" + "${LIBPUBLIC}/vtf${STATIC_LIB_EXT}" + "${LIBCOMMON}/lzma${STATIC_LIB_EXT}" +) \ No newline at end of file diff --git a/mp/src/utils/vrad_launcher/vrad_launcher.cmake b/mp/src/utils/vrad_launcher/vrad_launcher.cmake new file mode 100644 index 00000000000..4272de2264f --- /dev/null +++ b/mp/src/utils/vrad_launcher/vrad_launcher.cmake @@ -0,0 +1,38 @@ +# vrad_launcher.cmake + +set(VRAD_LAUNCHER_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + VRAD_LAUNCHER_SOURCE_FILES + + "${VRAD_LAUNCHER_DIR}/vrad_launcher.cpp" + "${VRAD_LAUNCHER_DIR}/StdAfx.cpp" + + # Header Files + "${SRCDIR}/public/tier1/interface.h" + "${SRCDIR}/public/ivraddll.h" + "${VRAD_LAUNCHER_DIR}/StdAfx.h" +) + +set( + vrad_launcher_exclude_source + "${SRCDIR}/public/tier0/memoverride.cpp" +) + +add_executable(vrad_launcher ${VRAD_LAUNCHER_SOURCE_FILES}) + +set_target_properties( + vrad_launcher PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_precompile_headers( + vrad_launcher PRIVATE + "${VRAD_LAUNCHER_DIR}/stdafx.h" +) + +target_link_options( + vrad_launcher PRIVATE + /LARGEADDRESSAWARE +) \ No newline at end of file diff --git a/mp/src/utils/vtf2tga/vtf2tga.cmake b/mp/src/utils/vtf2tga/vtf2tga.cmake new file mode 100644 index 00000000000..59617588b8c --- /dev/null +++ b/mp/src/utils/vtf2tga/vtf2tga.cmake @@ -0,0 +1,44 @@ +# vtf2tga.cmake + +set(VTF2TGA_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + VTF2TGA_SOURCE_FILES + + "${VTF2TGA_DIR}/vtf2tga.cpp" + + # Header Files + "${SRCDIR}/public/mathlib/amd3dx.h" + "${SRCDIR}/public/tier0/basetypes.h" + "${SRCDIR}/public/tier0/commonmacros.h" + "${SRCDIR}/public/tier0/dbg.h" + "${SRCDIR}/public/tier0/fasttimer.h" + "${SRCDIR}/public/mathlib/mathlib.h" + "${SRCDIR}/public/tier0/memdbgon.h" + "${SRCDIR}/public/tier0/platform.h" + "${SRCDIR}/public/tier0/protected_things.h" + "${SRCDIR}/public/string_t.h" + "${SRCDIR}/public/tier1/strtools.h" + "${SRCDIR}/public/tier1/utlbuffer.h" + "${SRCDIR}/public/tier1/utlmemory.h" + "${SRCDIR}/public/mathlib/vector.h" + "${SRCDIR}/public/mathlib/vector2d.h" + "${SRCDIR}/public/vstdlib/vstdlib.h" + "${SRCDIR}/public/vtf/vtf.h" +) + +add_executable(vtf2tga ${VTF2TGA_SOURCE_FILES}) + +set_target_properties( + vtf2tga PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_link_libraries( + vtf2tga PRIVATE + "${LIBPUBLIC}/bitmap${STATIC_LIB_EXT}" + mathlib + "${LIBPUBLIC}/tier2${STATIC_LIB_EXT}" + "${LIBPUBLIC}/vtf${STATIC_LIB_EXT}" +) \ No newline at end of file diff --git a/mp/src/utils/vtfdiff/vtfdiff.cmake b/mp/src/utils/vtfdiff/vtfdiff.cmake new file mode 100644 index 00000000000..503b5e2ad80 --- /dev/null +++ b/mp/src/utils/vtfdiff/vtfdiff.cmake @@ -0,0 +1,25 @@ +# vtfdiff.cmake + +set(VTFDIFF_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + VTFDIFF_SOURCE_FILES + + "${VTFDIFF_DIR}/vtfdiff.cpp" +) + +add_executable(vtfdiff ${VTFDIFF_SOURCE_FILES}) + +set_target_properties( + vtfdiff PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_link_libraries( + vtfdiff PRIVATE + "${LIBPUBLIC}/bitmap${STATIC_LIB_EXT}" + mathlib + "${LIBPUBLIC}/tier2${STATIC_LIB_EXT}" + "${LIBPUBLIC}/vtf${STATIC_LIB_EXT}" +) \ No newline at end of file diff --git a/mp/src/utils/vvis/vvis_dll.cmake b/mp/src/utils/vvis/vvis_dll.cmake new file mode 100644 index 00000000000..014d94b32b1 --- /dev/null +++ b/mp/src/utils/vvis/vvis_dll.cmake @@ -0,0 +1,105 @@ +# vvis_dll.cmake + +set(VVIS_DLL_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + VVIS_DLL_SOURCE_FILES + + "${SRCDIR}/utils/common/bsplib.cpp" + "${SRCDIR}/utils/common/cmdlib.cpp" + "${SRCDIR}/public/collisionutils.cpp" + "${SRCDIR}/public/filesystem_helpers.cpp" + "${VVIS_DLL_DIR}/flow.cpp" + "${SRCDIR}/public/loadcmdline.cpp" + "${SRCDIR}/public/lumpfiles.cpp" + "${SRCDIR}/utils/common/mpi_stats.cpp" + "${VVIS_DLL_DIR}/mpivis.cpp" + "${SRCDIR}/utils/common/MySqlDatabase.cpp" + "${SRCDIR}/utils/common/pacifier.cpp" + "${SRCDIR}/public/scratchpad3d.cpp" + "${SRCDIR}/utils/common/scratchpad_helpers.cpp" + "${SRCDIR}/utils/common/scriplib.cpp" + "${SRCDIR}/utils/common/threads.cpp" + "${SRCDIR}/utils/common/tools_minidump.cpp" + "${SRCDIR}/utils/common/tools_minidump.h" + "${SRCDIR}/utils/common/vmpi_tools_shared.cpp" + "${VVIS_DLL_DIR}/vvis.cpp" + "${VVIS_DLL_DIR}/WaterDist.cpp" + "${SRCDIR}/public/zip_utils.cpp" + + # Header Files + "${SRCDIR}/public/mathlib/amd3dx.h" + "${SRCDIR}/public/tier0/basetypes.h" + "${SRCDIR}/public/BSPFILE.H" + "${SRCDIR}/public/bspflags.h" + "${SRCDIR}/utils/common/bsplib.h" + "${SRCDIR}/public/BSPTreeData.h" + "${SRCDIR}/public/mathlib/bumpvects.h" + "${SRCDIR}/public/tier1/byteswap.h" + "${SRCDIR}/public/tier1/checksum_crc.h" + "${SRCDIR}/public/tier1/checksum_md5.h" + "${SRCDIR}/utils/common/cmdlib.h" + "${SRCDIR}/public/cmodel.h" + "${SRCDIR}/public/tier0/commonmacros.h" + "${SRCDIR}/public/GameBSPFile.h" + "${SRCDIR}/utils/common/ISQLDBReplyTarget.h" + "${SRCDIR}/public/mathlib/mathlib.h" + "${VVIS_DLL_DIR}/mpivis.h" + "${SRCDIR}/utils/common/MySqlDatabase.h" + "${SRCDIR}/utils/common/pacifier.h" + "${SRCDIR}/utils/common/scriplib.h" + "${SRCDIR}/public/tier1/strtools.h" + "${SRCDIR}/utils/common/threads.h" + "${SRCDIR}/public/tier1/utlbuffer.h" + "${SRCDIR}/public/tier1/utllinkedlist.h" + "${SRCDIR}/public/tier1/utlmemory.h" + "${SRCDIR}/public/tier1/utlrbtree.h" + "${SRCDIR}/public/tier1/utlsymbol.h" + "${SRCDIR}/public/tier1/utlvector.h" + "${SRCDIR}/public/vcollide.h" + "${SRCDIR}/public/mathlib/vector.h" + "${SRCDIR}/public/mathlib/vector2d.h" + "${VVIS_DLL_DIR}/vis.h" + "${SRCDIR}/utils/vmpi/vmpi_distribute_work.h" + "${SRCDIR}/utils/common/vmpi_tools_shared.h" + "${SRCDIR}/public/vstdlib/vstdlib.h" + "${SRCDIR}/public/wadtypes.h" +) + +set( + vvis_dll_exclude_source + "${SRCDIR}/public/tier0/memoverride.cpp" +) + +add_library(vvis_dll MODULE ${VVIS_DLL_SOURCE_FILES}) + +set_target_properties( + vvis_dll PROPERTIES + LIBRARY_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + LIBRARY_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + LIBRARY_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_include_directories( + vvis_dll PRIVATE + "${SRCDIR}/utils/common" + "${SRCDIR}/utils/vmpi" + "${SRCDIR}/utils/vmpi/mysql/include" +) + +target_compile_definitions( + vvis_dll PRIVATE + MPI + PROTECTED_THINGS_DISABLE +) + +target_link_libraries( + vvis_dll PRIVATE + odbc32 + odbccp32 + ws2_32 + + mathlib + "${LIBPUBLIC}/tier2${STATIC_LIB_EXT}" + "${LIBPUBLIC}/vmpi${STATIC_LIB_EXT}" + "${LIBCOMMON}/lzma${STATIC_LIB_EXT}" +) \ No newline at end of file diff --git a/mp/src/utils/vvis_launcher/vvis_launcher.cmake b/mp/src/utils/vvis_launcher/vvis_launcher.cmake new file mode 100644 index 00000000000..38c980b771c --- /dev/null +++ b/mp/src/utils/vvis_launcher/vvis_launcher.cmake @@ -0,0 +1,41 @@ +# vvis_launcher.cmake + +set(VVIS_LAUNCHER_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + VVIS_LAUNCHER_SOURCE_FILES + + "${VVIS_LAUNCHER_DIR}/vvis_launcher.cpp" + "${VVIS_LAUNCHER_DIR}/StdAfx.cpp" + + # Header Files + "${SRCDIR}/public/tier1/interface.h" + "${VVIS_LAUNCHER_DIR}/StdAfx.h" +) + +add_executable(vvis_launcher ${VVIS_LAUNCHER_SOURCE_FILES}) + +set_target_properties( + vvis_launcher PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_precompile_headers( + vvis_launcher PRIVATE + "${VVIS_LAUNCHER_DIR}/StdAfx.h" +) + +target_include_directories( + vvis_launcher PRIVATE + "${SRCDIR}/utils/common" +) + +target_link_options( + vvis_launcher PRIVATE + /LARGEADDRESSAWARE +) + +target_link_libraries( + vvis_launcher PRIVATE +) \ No newline at end of file diff --git a/mp/src/vgui2/vgui_controls/vgui_controls.cmake b/mp/src/vgui2/vgui_controls/vgui_controls.cmake new file mode 100644 index 00000000000..d6980e36205 --- /dev/null +++ b/mp/src/vgui2/vgui_controls/vgui_controls.cmake @@ -0,0 +1,182 @@ +# vgui_controls.cmake + +set(VGUI_CONTROLS_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + VGUI_CONTROLS_SOURCE_FILES + + "${VGUI_CONTROLS_DIR}/AnalogBar.cpp" + "${VGUI_CONTROLS_DIR}/AnimatingImagePanel.cpp" + "${VGUI_CONTROLS_DIR}/AnimationController.cpp" + "${VGUI_CONTROLS_DIR}/BitmapImagePanel.cpp" + "${VGUI_CONTROLS_DIR}/BuildFactoryHelper.cpp" + "${VGUI_CONTROLS_DIR}/BuildGroup.cpp" + "${VGUI_CONTROLS_DIR}/BuildModeDialog.cpp" + "${VGUI_CONTROLS_DIR}/Button.cpp" + "${VGUI_CONTROLS_DIR}/CheckButton.cpp" + "${VGUI_CONTROLS_DIR}/CheckButtonList.cpp" + "${VGUI_CONTROLS_DIR}/CircularProgressBar.cpp" + "${VGUI_CONTROLS_DIR}/ComboBox.cpp" + "${VGUI_CONTROLS_DIR}/consoledialog.cpp" + "${VGUI_CONTROLS_DIR}/ControllerMap.cpp" + "${VGUI_CONTROLS_DIR}/controls.cpp" + "${VGUI_CONTROLS_DIR}/cvartogglecheckbutton.cpp" + "${VGUI_CONTROLS_DIR}/DirectorySelectDialog.cpp" + "${VGUI_CONTROLS_DIR}/Divider.cpp" + "${VGUI_CONTROLS_DIR}/EditablePanel.cpp" + "${VGUI_CONTROLS_DIR}/ExpandButton.cpp" + "${VGUI_CONTROLS_DIR}/FileOpenDialog.cpp" + "${VGUI_CONTROLS_DIR}/FileOpenStateMachine.cpp" + "${SRCDIR}/public/filesystem_helpers.cpp" + "${VGUI_CONTROLS_DIR}/FocusNavGroup.cpp" + "${VGUI_CONTROLS_DIR}/Frame.cpp" + "${VGUI_CONTROLS_DIR}/GraphPanel.cpp" + "${VGUI_CONTROLS_DIR}/HTML.cpp" + "${VGUI_CONTROLS_DIR}/Image.cpp" + "${VGUI_CONTROLS_DIR}/ImageList.cpp" + "${VGUI_CONTROLS_DIR}/ImagePanel.cpp" + "${VGUI_CONTROLS_DIR}/InputDialog.cpp" + "${VGUI_CONTROLS_DIR}/KeyBindingHelpDialog.cpp" + "${VGUI_CONTROLS_DIR}/KeyBoardEditorDialog.cpp" + "${VGUI_CONTROLS_DIR}/KeyRepeat.cpp" + "${VGUI_CONTROLS_DIR}/Label.cpp" + "${VGUI_CONTROLS_DIR}/ListPanel.cpp" + "${VGUI_CONTROLS_DIR}/ListViewPanel.cpp" + "${VGUI_CONTROLS_DIR}/Menu.cpp" + "${VGUI_CONTROLS_DIR}/MenuBar.cpp" + "${VGUI_CONTROLS_DIR}/MenuButton.cpp" + "${VGUI_CONTROLS_DIR}/MenuItem.cpp" + "${VGUI_CONTROLS_DIR}/MessageBox.cpp" + "${VGUI_CONTROLS_DIR}/MessageDialog.cpp" + "${VGUI_CONTROLS_DIR}/Panel.cpp" + "${VGUI_CONTROLS_DIR}/PanelListPanel.cpp" + "${VGUI_CONTROLS_DIR}/PerforceFileExplorer.cpp" + "${VGUI_CONTROLS_DIR}/PerforceFileList.cpp" + "${VGUI_CONTROLS_DIR}/perforcefilelistframe.cpp" + "${VGUI_CONTROLS_DIR}/ProgressBar.cpp" + "${VGUI_CONTROLS_DIR}/ProgressBox.cpp" + "${VGUI_CONTROLS_DIR}/PropertyDialog.cpp" + "${VGUI_CONTROLS_DIR}/PropertyPage.cpp" + "${VGUI_CONTROLS_DIR}/PropertySheet.cpp" + "${VGUI_CONTROLS_DIR}/QueryBox.cpp" + "${VGUI_CONTROLS_DIR}/RadioButton.cpp" + "${VGUI_CONTROLS_DIR}/RichText.cpp" + "${VGUI_CONTROLS_DIR}/RotatingProgressBar.cpp" + "${VGUI_CONTROLS_DIR}/savedocumentquery.cpp" + "${VGUI_CONTROLS_DIR}/ScalableImagePanel.cpp" + "${VGUI_CONTROLS_DIR}/ScrollableEditablePanel.cpp" + "${VGUI_CONTROLS_DIR}/ScrollBar.cpp" + "${VGUI_CONTROLS_DIR}/ScrollBarSlider.cpp" + "${VGUI_CONTROLS_DIR}/SectionedListPanel.cpp" + "${VGUI_CONTROLS_DIR}/Slider.cpp" + "${VGUI_CONTROLS_DIR}/Splitter.cpp" + "${VGUI_CONTROLS_DIR}/subrectimage.cpp" + "${VGUI_CONTROLS_DIR}/TextEntry.cpp" + "${VGUI_CONTROLS_DIR}/TextImage.cpp" + "${VGUI_CONTROLS_DIR}/ToggleButton.cpp" + "${VGUI_CONTROLS_DIR}/Tooltip.cpp" + "${VGUI_CONTROLS_DIR}/ToolWindow.cpp" + "${VGUI_CONTROLS_DIR}/TreeView.cpp" + "${VGUI_CONTROLS_DIR}/TreeViewListControl.cpp" + "${VGUI_CONTROLS_DIR}/URLLabel.cpp" + "${VGUI_CONTROLS_DIR}/WizardPanel.cpp" + "${VGUI_CONTROLS_DIR}/WizardSubPanel.cpp" + "${SRCDIR}/vgui2/src/vgui_key_translation.cpp" + + "${SRCDIR}/public/vgui_controls/AnalogBar.h" + "${SRCDIR}/public/vgui_controls/AnimatingImagePanel.h" + "${SRCDIR}/public/vgui_controls/AnimationController.h" + "${SRCDIR}/public/vgui_controls/BitmapImagePanel.h" + "${SRCDIR}/public/vgui_controls/BuildGroup.h" + "${SRCDIR}/public/vgui_controls/BuildModeDialog.h" + "${SRCDIR}/public/vgui_controls/Button.h" + "${SRCDIR}/public/vgui_controls/CheckButton.h" + "${SRCDIR}/public/vgui_controls/CheckButtonList.h" + "${SRCDIR}/public/vgui_controls/CircularProgressBar.h" + "${SRCDIR}/public/Color.h" + "${SRCDIR}/public/vgui_controls/ComboBox.h" + "${SRCDIR}/public/vgui_controls/consoledialog.h" + "${SRCDIR}/public/vgui_controls/ControllerMap.h" + "${SRCDIR}/public/vgui_controls/Controls.h" + "${SRCDIR}/public/vgui_controls/cvartogglecheckbutton.h" + "${SRCDIR}/public/vgui_controls/DialogManager.h" + "${SRCDIR}/public/vgui_controls/DirectorySelectDialog.h" + "${SRCDIR}/public/vgui_controls/Divider.h" + "${SRCDIR}/public/vgui_controls/EditablePanel.h" + "${SRCDIR}/public/vgui_controls/ExpandButton.h" + "${SRCDIR}/public/vgui_controls/FileOpenDialog.h" + "${SRCDIR}/public/vgui_controls/FileOpenStateMachine.h" + "${SRCDIR}/public/filesystem.h" + "${SRCDIR}/public/filesystem_helpers.h" + "${SRCDIR}/public/vgui_controls/FocusNavGroup.h" + "${SRCDIR}/public/vgui_controls/Frame.h" + "${SRCDIR}/public/vgui_controls/GraphPanel.h" + "${SRCDIR}/public/vgui_controls/HTML.h" + "${SRCDIR}/public/vgui_controls/Image.h" + "${SRCDIR}/public/vgui_controls/ImageList.h" + "${SRCDIR}/public/vgui_controls/ImagePanel.h" + "${SRCDIR}/public/vgui_controls/InputDialog.h" + "${SRCDIR}/public/tier1/interface.h" + "${SRCDIR}/public/vgui_controls/KeyBindingHelpDialog.h" + "${SRCDIR}/public/vgui_controls/KeyBindingMap.h" + "${SRCDIR}/public/vgui_controls/KeyBoardEditorDialog.h" + "${SRCDIR}/public/vgui_controls/KeyRepeat.h" + "${SRCDIR}/public/tier1/KeyValues.h" + "${SRCDIR}/public/vgui_controls/Label.h" + "${SRCDIR}/public/vgui_controls/ListPanel.h" + "${SRCDIR}/public/vgui_controls/ListViewPanel.h" + "${SRCDIR}/public/tier0/memdbgoff.h" + "${SRCDIR}/public/tier0/memdbgon.h" + "${SRCDIR}/public/tier1/mempool.h" + "${SRCDIR}/public/vgui_controls/Menu.h" + "${SRCDIR}/public/vgui_controls/MenuBar.h" + "${SRCDIR}/public/vgui_controls/MenuButton.h" + "${SRCDIR}/public/vgui_controls/MenuItem.h" + "${SRCDIR}/public/vgui_controls/MessageBox.h" + "${SRCDIR}/public/vgui_controls/MessageDialog.h" + "${SRCDIR}/public/vgui_controls/MessageMap.h" + "${SRCDIR}/public/vgui_controls/Panel.h" + "${SRCDIR}/public/vgui_controls/PanelAnimationVar.h" + "${SRCDIR}/public/vgui_controls/PanelListPanel.h" + "${SRCDIR}/public/vgui_controls/PerforceFileExplorer.h" + "${SRCDIR}/public/vgui_controls/PerforceFileList.h" + "${SRCDIR}/public/vgui_controls/perforcefilelistframe.h" + "${SRCDIR}/public/vgui_controls/PHandle.h" + "${SRCDIR}/public/vgui_controls/ProgressBar.h" + "${SRCDIR}/public/vgui_controls/ProgressBox.h" + "${SRCDIR}/public/vgui_controls/PropertyDialog.h" + "${SRCDIR}/public/vgui_controls/PropertyPage.h" + "${SRCDIR}/public/vgui_controls/PropertySheet.h" + "${SRCDIR}/public/vgui_controls/QueryBox.h" + "${SRCDIR}/public/vgui_controls/RadioButton.h" + "${SRCDIR}/public/vgui_controls/RichText.h" + "${SRCDIR}/public/vgui_controls/RotatingProgressBar.h" + "${SRCDIR}/public/vgui_controls/savedocumentquery.h" + "${SRCDIR}/public/vgui_controls/ScalableImagePanel.h" + "${SRCDIR}/public/vgui_controls/ScrollableEditablePanel.h" + "${SRCDIR}/public/vgui_controls/ScrollBar.h" + "${SRCDIR}/public/vgui_controls/ScrollBarSlider.h" + "${SRCDIR}/public/vgui_controls/SectionedListPanel.h" + "${SRCDIR}/public/vgui_controls/Slider.h" + "${SRCDIR}/public/vgui_controls/Splitter.h" + "${SRCDIR}/public/vgui_controls/subrectimage.h" + "${SRCDIR}/public/vgui_controls/TextEntry.h" + "${SRCDIR}/public/vgui_controls/TextImage.h" + "${SRCDIR}/public/vgui_controls/ToggleButton.h" + "${SRCDIR}/public/vgui_controls/Tooltip.h" + "${SRCDIR}/public/vgui_controls/ToolWindow.h" + "${SRCDIR}/public/vgui_controls/TreeView.h" + "${SRCDIR}/public/vgui_controls/TreeViewListControl.h" + "${SRCDIR}/public/vgui_controls/URLLabel.h" + "${SRCDIR}/public/tier1/utlmemory.h" + "${SRCDIR}/public/tier1/utlrbtree.h" + "${SRCDIR}/public/tier1/utlvector.h" + "${SRCDIR}/public/vgui_controls/WizardPanel.h" + "${SRCDIR}/public/vgui_controls/WizardSubPanel.h" +) + +add_library(vgui_controls STATIC ${VGUI_CONTROLS_SOURCE_FILES}) +target_include_directories( + vgui_controls PRIVATE + "${SRCDIR}/thirdparty" + "${SRCDIR}/thirdparty/cef" +) \ No newline at end of file diff --git a/sp/.devcontainer/devcontainer.json b/sp/.devcontainer/devcontainer.json new file mode 100644 index 00000000000..936966adb3a --- /dev/null +++ b/sp/.devcontainer/devcontainer.json @@ -0,0 +1,40 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/docker-existing-dockerfile +{ + "name": "Existing Dockerfile", + "build": { + // Sets the run context to one level up instead of the .devcontainer folder. + "context": "..", + // Update the 'dockerFile' property if you aren't using the standard 'Dockerfile' filename. + "dockerfile": "../../Dockerfile" + }, + "features": { + "ghcr.io/wxw-matt/devcontainer-features/command_runner:0": {} + }, + "customizations": { + "vscode": { + "extensions": [ + "ms-vscode.cpptools", + "ms-vscode.cpptools-extension-pack", + "twxs.cmake", + "ms-vscode.cmake-tools", + "ms-azuretools.vscode-docker" + ] + } + } + + // Features to add to the dev container. More info: https://containers.dev/features. + // "features": {}, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Uncomment the next line to run commands after the container is created. + // "postCreateCommand": "cat /etc/os-release", + + // Configure tool-specific properties. + // "customizations": {}, + + // Uncomment to connect as an existing user other than the container default. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "devcontainer" +} diff --git a/sp/CMakeLists.txt b/sp/CMakeLists.txt new file mode 100644 index 00000000000..b34295a38e4 --- /dev/null +++ b/sp/CMakeLists.txt @@ -0,0 +1,250 @@ +cmake_minimum_required(VERSION 3.18 FATAL_ERROR) + +set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "" FORCE) + +if (APPLE) + # NOTE: You will need to pass this as a command line parameter for the Xcode generator -DCMAKE_OSX_ARCHITECTURES=i386 + # Also note only Xcode 9.4.1 and earlier support i386 + set(CMAKE_OSX_ARCHITECTURES i386) + set(CMAKE_OSX_DEPLOYMENT_TARGET 10.9) + set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "dwarf-with-dsym") +endif() + +project(SourceSDK2013) + +# For some reason, checking if CMAKE_BUILD_TYPE is defined is unreliable +# So simply check if it's empty instead +if ("${CMAKE_BUILD_TYPE}" STREQUAL "") + set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Build type" FORCE) +endif() + +# Modern VS versions default to C++14 anyway, so make it consistent +# But in the future we may want so support C++20 +set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_VISIBILITY_PRESET hidden) +set_property(GLOBAL PROPERTY USE_FOLDERS ON) + +# This is a way to emulate groups.vgc +set(BUILD_GROUP "game" CACHE STRING "Build Group") + +# For the CMake GUIs that support a combobox list +set_property(CACHE BUILD_GROUP PROPERTY STRINGS + "everything" + "game" + "shaders" +) + +# Which game are we building? +set(BUILD_GAME "hl2" CACHE STRING "Build Game") + +set_property( + CACHE BUILD_GAME PROPERTY STRINGS + "hl2" + "episodic" +) + +set(SRCDIR "${CMAKE_CURRENT_LIST_DIR}/src") +set(GAMEDIR "${CMAKE_CURRENT_LIST_DIR}/game") +set(THIRDPARTYDIR "${SRCDIR}/thirdparty") + +# Compile options that are populated and set for each target depending on their type +set(ADDITIONAL_COMPILE_OPTIONS_EXE) +set(ADDITIONAL_COMPILE_OPTIONS_DLL) +set(ADDITIONAL_COMPILE_OPTIONS_LIB) + +# Libraries that are linked to for each target depending on their type +set(ADDITIONAL_LINK_LIBRARIES_EXE) +set(ADDITIONAL_LINK_LIBRARIES_DLL) + +# Linker options that are populated and set for each target depending on their type +set(ADDITIONAL_LINK_OPTIONS_EXE) +set(ADDITIONAL_LINK_OPTIONS_DLL) +set(ADDITIONAL_LINK_OPTIONS_LIB) + +# Sources that are added to each target depending on their type +set(ADDITIONAL_SOURCES_EXE) +set(ADDITIONAL_SOURCES_DLL) +set(ADDITIONAL_SOURCES_LIB) + +# Compile definitions that are added to each target depending on their type +set(ADDITIONAL_COMPILE_DEFINITIONS_EXE) +set(ADDITIONAL_COMPILE_DEFINITIONS_DLL) +set(ADDITIONAL_COMPILE_DEFINITIONS_LIB) + +include("_cmake_scripts/pch_skip.cmake") +include("_cmake_scripts/platform_dirs.cmake") +include("_cmake_scripts/base.cmake") +include("_cmake_scripts/video_base.cmake") +include("_cmake_scripts/postbuild.cmake") + +set(LIBPUBLIC "${SRCDIR}/lib/public${PLATSUBDIR}") +set(LIBCOMMON "${SRCDIR}/lib/common${PLATSUBDIR}") + +link_directories( + ${LIBPUBLIC} + ${LIBCOMMON} +) + +include_directories( + "${SRCDIR}/common" + "${SRCDIR}/public" + "${SRCDIR}/public/tier0" + "${SRCDIR}/public/tier1" +) + +add_compile_definitions($<$:DEBUG> $<$:_DEBUG>) +add_compile_definitions($<$:NDEBUG>) + +if (${IS_WINDOWS}) + include("_cmake_scripts/windows_base.cmake") +elseif (${IS_LINUX} OR ${IS_OSX}) + include("_cmake_scripts/posix_base.cmake") +endif() + +include("_cmake_scripts/groups.cmake") + +# Store all targets in a variable name ( See: https://stackoverflow.com/questions/37434946/how-do-i-iterate-over-all-cmake-targets-programmatically/62311397#62311397 ) +function(get_all_targets var) + set(targets) + get_all_targets_recursive(targets ${CMAKE_CURRENT_SOURCE_DIR}) + set(${var} ${targets} PARENT_SCOPE) +endfunction() + +macro(get_all_targets_recursive targets dir) + get_property(subdirectories DIRECTORY ${dir} PROPERTY SUBDIRECTORIES) + foreach(subdir ${subdirectories}) + get_all_targets_recursive(${targets} ${subdir}) + endforeach() + + get_property(current_targets DIRECTORY ${dir} PROPERTY BUILDSYSTEM_TARGETS) + list(APPEND ${targets} ${current_targets}) +endmacro() + +get_all_targets(ALL_TARGETS) + +# Set of helper functions to add defintions/options/libs for each target in a filtered way +function(add_compile_definitions_filtered target definitions) + foreach(additional_definition IN LISTS ${definitions}) + set(SHOULD_EXCLUDE 0) + # Exclude the compile definition if target defines an exclude list + foreach(exclude IN LISTS "${target}_exclude_compile_definitions") + if (${additional_definition} STREQUAL ${exclude}) + set(SHOULD_EXCLUDE 1) + break() + endif() + endforeach() + if (NOT ${SHOULD_EXCLUDE}) + target_compile_definitions(${target} PRIVATE ${additional_definition}) + endif() + endforeach() +endfunction() + + +function(add_compile_options_filtered target options) + foreach(additional_option IN LISTS ${options}) + set(SHOULD_EXCLUDE 0) + # Exclude the compile options if target defines an exclude list + foreach(exclude IN LISTS "${target}_exclude_compile_options") + if (${additional_option} STREQUAL ${exclude}) + set(SHOULD_EXCLUDE 1) + break() + endif() + endforeach() + if (NOT ${SHOULD_EXCLUDE}) + target_compile_options(${target} PRIVATE "$<$:${additional_option}>") + endif() + endforeach() +endfunction() + +function(add_sources_filtered target sources) + foreach(additional_source IN LISTS ${sources}) + set(SHOULD_EXCLUDE 0) + # Exclude the source if target defines an exclude list + foreach(exclude IN LISTS "${target}_exclude_source") + if (${additional_source} STREQUAL ${exclude}) + set(SHOULD_EXCLUDE 1) + break() + endif() + endforeach() + if (NOT ${SHOULD_EXCLUDE}) + target_sources(${target} PRIVATE ${additional_source}) + endif() + endforeach() +endfunction() + +function(add_libraries_filtered target libraries) + foreach(additional_lib IN LISTS ${libraries}) + set(SHOULD_EXCLUDE 0) + # Exclude the lib if target defines an exclude list + foreach(exclude IN LISTS "${target}_exclude_lib") + if (${additional_lib} STREQUAL ${exclude}) + set(SHOULD_EXCLUDE 1) + break() + endif() + endforeach() + if (NOT ${SHOULD_EXCLUDE}) + get_target_property(libraries ${target} LINK_LIBRARIES) + # Don't bother adding it if the target already links it manually + foreach(lib IN LISTS libraries) + if (${additional_lib} STREQUAL ${lib}) + set(SHOULD_EXCLUDE 1) + break() + endif() + endforeach() + endif() + if (NOT ${SHOULD_EXCLUDE}) + target_link_libraries(${target} PRIVATE ${additional_lib}) + endif() + endforeach() +endfunction() + +# Iterates over all the targets and add necessary definitions/options/libs +# This is an incredible hack, but it allows for targets to specify exclude lists +# This allows us to emulate -$File and such from VPC +foreach(target ${ALL_TARGETS}) + # Define an empty exclude list if one isn't defined + if (NOT DEFINED "${target}_exclude_compile_options") + set("${target}_exclude_compile_options") + endif() + + # Define an empty exclude list if one isn't defined + if (NOT DEFINED "${target}_exclude_lib") + set("${target}_exclude_lib") + endif() + + # Define an empty exclude list if one isn't defined + if (NOT DEFINED "${target}_exclude_source") + set("${target}_exclude_source") + endif() + + get_target_property(target_type ${target} TYPE) + if (${target_type} STREQUAL "EXECUTABLE") + add_compile_options_filtered(${target} ADDITIONAL_COMPILE_OPTIONS_EXE) + add_libraries_filtered(${target} ADDITIONAL_LINK_LIBRARIES_EXE) + add_sources_filtered(${target} ADDITIONAL_SOURCES_EXE) + target_link_options(${target} PRIVATE ${ADDITIONAL_LINK_OPTIONS_EXE}) + target_compile_definitions(${target} PRIVATE MEMOVERRIDE_MODULE=$) + add_compile_definitions_filtered(${target} ADDITIONAL_COMPILE_DEFINITIONS_EXE) + + # Only applies to Linux and OSX + target_strip_symbols(${target}) + elseif((${target_type} STREQUAL "SHARED_LIBRARY") OR (${target_type} STREQUAL "MODULE_LIBRARY")) + add_compile_options_filtered(${target} ADDITIONAL_COMPILE_OPTIONS_DLL) + add_libraries_filtered(${target} ADDITIONAL_LINK_LIBRARIES_DLL) + add_sources_filtered(${target} ADDITIONAL_SOURCES_DLL) + target_link_options(${target} PRIVATE ${ADDITIONAL_LINK_OPTIONS_DLL}) + target_compile_definitions(${target} PRIVATE MEMOVERRIDE_MODULE=$ DLLNAME=$) + add_compile_definitions_filtered(${target} ADDITIONAL_COMPILE_DEFINITIONS_DLL) + + # Only applies to Linux and OSX + target_strip_symbols(${target}) + elseif(${target_type} STREQUAL "STATIC_LIBRARY") + add_compile_options_filtered(${target} ADDITIONAL_COMPILE_OPTIONS_LIB) + add_sources_filtered(${target} ADDITIONAL_SOURCES_LIB) + target_link_options(${target} PRIVATE ${ADDITIONAL_LINK_OPTIONS_LIB}) + target_compile_definitions(${target} PRIVATE LIBNAME=$) + add_compile_definitions_filtered(${target} ADDITIONAL_COMPILE_DEFINITIONS_LIB) + endif() + +endforeach() \ No newline at end of file diff --git a/sp/_cmake_scripts/base.cmake b/sp/_cmake_scripts/base.cmake new file mode 100644 index 00000000000..9cbf8b68092 --- /dev/null +++ b/sp/_cmake_scripts/base.cmake @@ -0,0 +1,62 @@ +# base.cmake + +# NOTE: We use 0 or 1 so we can use these more easily in generator expressions +# Initialize them with default values that we then set later + +set(IS_WINDOWS 0) +set(IS_LINUX 0) +set(IS_OSX 0) +set(IS_POSIX 0) + +set(IS_XCODE 0) +set(IS_SOURCESDK 1) + +if (WIN32) + set(IS_WINDOWS 1) +endif() + +if (UNIX AND NOT APPLE) + set(IS_LINUX 1) +endif() + +if (APPLE) + set(IS_OSX 1) + if (${CMAKE_GENERATOR} STREQUAL "Xcode") + set(IS_XCODE 1) + endif() +endif() + +if (UNIX) + set(IS_POSIX 1) +endif() + +if (${IS_WINDOWS}) + set(_DLL_EXT ".dll") + set(STATIC_LIB_EXT ".lib") + set(IMPLIB_EXT ".lib") +elseif (${IS_OSX}) + set(_DLL_EXT ".dylib") + set(STATIC_LIB_EXT ".a") + set(IMPLIB_EXT ".dylib") +elseif(${IS_LINUX}) + set(_DLL_EXT ".so") + set(STATIC_LIB_EXT ".a") + set(IMPLIB_EXT ".so") +endif() + +option(RETAIL "Build in retail mode" OFF) +option(STAGING_ONLY "Staging only" OFF) + +set(RAD_TELEMETRY_DISABLED ${IS_SOURCESDK}) +set(TF_BETA 0) +set(BUILD_REPLAY 0) +set(DEDICATED 0) + +add_compile_definitions( + $<$:_RETAIL> + $<$:STAGING_ONLY> + $<${TF_BETA}:TF_BETA> + $<${RAD_TELEMETRY_DISABLED}:RAD_TELEMETRY_DISABLED> + _DLL_EXT=${_DLL_EXT} + FRAME_POINTER_OMISSION_DISABLED +) \ No newline at end of file diff --git a/sp/_cmake_scripts/groups.cmake b/sp/_cmake_scripts/groups.cmake new file mode 100644 index 00000000000..ec5e39a2f7d --- /dev/null +++ b/sp/_cmake_scripts/groups.cmake @@ -0,0 +1,63 @@ +# groups.cmake + +if (${BUILD_GROUP} STREQUAL "game") + + if (${BUILD_GAME} STREQUAL "hl2") + include("${SRCDIR}/game/client/client_hl2.cmake") + include("${SRCDIR}/game/server/server_hl2.cmake") + elseif (${BUILD_GAME} STREQUAL "episodic") + include("${SRCDIR}/game/client/client_episodic.cmake") + include("${SRCDIR}/game/server/server_episodic.cmake") + endif() + + include("${SRCDIR}/mathlib/mathlib.cmake") + include("${SRCDIR}/raytrace/raytrace.cmake") + include("${SRCDIR}/tier1/tier1.cmake") + include("${SRCDIR}/vgui2/vgui_controls/vgui_controls.cmake") +elseif (${BUILD_GROUP} STREQUAL "everything") + + if (${BUILD_GAME} STREQUAL "hl2") + include("${SRCDIR}/game/client/client_hl2.cmake") + include("${SRCDIR}/game/server/server_hl2.cmake") + include("${SRCDIR}/materialsystem/stdshaders/game_shader_dx9_hl2.cmake") + elseif (${BUILD_GAME} STREQUAL "episodic") + include("${SRCDIR}/game/client/client_episodic.cmake") + include("${SRCDIR}/game/server/server_episodic.cmake") + include("${SRCDIR}/materialsystem/stdshaders/game_shader_dx9_episodic.cmake") + endif() + + if (${IS_WINDOWS}) + include("${SRCDIR}/utils/captioncompiler/captioncompiler.cmake") + include("${SRCDIR}/fgdlib/fgdlib.cmake") + include("${SRCDIR}/utils/glview/glview.cmake") + include("${SRCDIR}/utils/height2normal/height2normal.cmake") + include("${SRCDIR}/utils/motionmapper/motionmapper.cmake") + include("${SRCDIR}/utils/qc_eyes/qc_eyes.cmake") + include("${SRCDIR}/utils/tgadiff/tgadiff.cmake") + include("${SRCDIR}/utils/vbsp/vbsp.cmake") + include("${SRCDIR}/utils/vice/vice.cmake") + include("${SRCDIR}/utils/vrad/vrad_dll.cmake") + include("${SRCDIR}/utils/vrad_launcher/vrad_launcher.cmake") + include("${SRCDIR}/utils/vtf2tga/vtf2tga.cmake") + include("${SRCDIR}/utils/vtfdiff/vtfdiff.cmake") + include("${SRCDIR}/utils/vvis/vvis_dll.cmake") + include("${SRCDIR}/utils/vvis_launcher/vvis_launcher.cmake") + endif() + + include("${SRCDIR}/mathlib/mathlib.cmake") + include("${SRCDIR}/raytrace/raytrace.cmake") + include("${SRCDIR}/utils/serverplugin_sample/serverplugin_empty.cmake") + include("${SRCDIR}/tier1/tier1.cmake") + include("${SRCDIR}/vgui2/vgui_controls/vgui_controls.cmake") + +elseif (${BUILD_GROUP} STREQUAL "shaders") + + if (${BUILD_GAME} STREQUAL "hl2") + include("${SRCDIR}/materialsystem/stdshaders/game_shader_dx9_hl2.cmake") + elseif(${BUILD_GAME} STREQUAL "episodic") + include("${SRCDIR}/materialsystem/stdshaders/game_shader_dx9_episodic.cmake") + endif() + + include("${SRCDIR}/mathlib/mathlib.cmake") + include("${SRCDIR}/tier1/tier1.cmake") +endif() \ No newline at end of file diff --git a/sp/_cmake_scripts/msvc_base.cmake b/sp/_cmake_scripts/msvc_base.cmake new file mode 100644 index 00000000000..d4b158480dc --- /dev/null +++ b/sp/_cmake_scripts/msvc_base.cmake @@ -0,0 +1,161 @@ +# msvc_base.cmake + +# If using CMake, we'll require 2015 toolset or greater +if (MSVC_TOOLSET_VERSION LESS 140) + message(FATAL_ERROR "MSVC must use toolset 140 (2015) or greater") +endif() + +if (${CMAKE_SIZEOF_VOID_P} EQUAL 8) + message(FATAL_ERROR "Source SDK 2013 only supports 32-bit generation") +endif() + +# No frame pointer optimization +set(NOFPO 1) + +set(MSVC_LINK_OPTION_IGNORE_DEFAULTLIBS_DEBUG + /NODEFAULTLIB:libc + /NODEFAULTLIB:libcd + /NODEFAULTLIB:libcmt + /NODEFAULTLIB:libcpmt + /NODEFAULTLIB:libcpmt1 +) +set(MSVC_LINK_OPTION_IGNORE_DEFAULTLIBS_RELEASE + /NODEFAULTLIB:libc + /NODEFAULTLIB:libcd + /NODEFAULTLIB:libcmtd + /NODEFAULTLIB:libcpmtd + /NODEFAULTLIB:libcpmtd0 + /NODEFAULTLIB:libcpmtd1 +) + +set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + +add_compile_definitions( + COMPILER_MSVC + _CRT_SECURE_NO_DEPRECATE + _CRT_NONSTDC_NO_DEPRECATE + _ALLOW_RUNTIME_LIBRARY_MISMATCH + _ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH + _ALLOW_MSC_VER_MISMATCH +) + +# Remove default warning level from CMAKE_CXX_FLAGS (This is stupid I know) +string (REGEX REPLACE "/W[0-4]" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + +# Disable C++ exceptions by default +string(REPLACE "/EHsc" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + +string(REPLACE "/Zi" "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") +string(REPLACE "/Zi" "" CMAKE_C_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") + +string(REPLACE "/Ob0" "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") +string(REPLACE "/Ob0" "" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}") + +string(REPLACE "/Ob2" "" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") +string(REPLACE "/Ob2" "" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") + +# These are expanded so that we can pass each option individually to the targets +# So they may choose to exclude them +set( + MSVC_C_AND_CXX_COMPILE_OPTIONS + + # Set warning level + /W4 + + # Treat warnings as errors... someday + #/WX + + # Don't Omit Frame Pointers + "$<${NOFPO}:/Oy->" + + /MP # Multi-processor compilation + /Gw + /Zc:threadSafeInit- + /Zc:__cplusplus + /Zc:preprocessor + /Zc:inline + + # We'll be permissive for now +# /permissive- + + /GR # Enable Run-Time Type Information + /GF # Enable String Pooling + /fp:fast # Floating Point Model + /GS- # Buffer Security Check + + $<$:/Oi> # Enable Intrinsic Functions + $<$:/Ot> # Favor Fast Code + $<$:/Gy> # Enable Function-Level Linking + + # Inline Function Expansion + $<$:/Ob2> + $<$:/Ob0> +) + +add_link_options( + $<$:/DEBUG:FASTLINK> + $<$:/DEBUG:FULL> +) + +list( + APPEND ADDITIONAL_COMPILE_OPTIONS_EXE + $<$:/ZI> + $<$:/Zi> + "${MSVC_C_AND_CXX_COMPILE_OPTIONS}" +) + +list( + APPEND ADDITIONAL_COMPILE_OPTIONS_DLL + $<$:/ZI> + $<$:/Zi> + "${MSVC_C_AND_CXX_COMPILE_OPTIONS}" +) + +list( + APPEND ADDITIONAL_COMPILE_OPTIONS_LIB + $<$:/ZI> + $<$:/Z7> + "${MSVC_C_AND_CXX_COMPILE_OPTIONS}" +) + +list( + APPEND ADDITIONAL_LINK_OPTIONS_EXE + $<$:${MSVC_LINK_OPTION_IGNORE_DEFAULTLIBS_DEBUG}> + $<$:${MSVC_LINK_OPTION_IGNORE_DEFAULTLIBS_RELEASE}> + $<$:/OPT:REF> + $<$:/OPT:ICF> + /SAFESEH:NO + /MANIFEST:NO +) + +list( + APPEND ADDITIONAL_LINK_OPTIONS_DLL + $<$:${MSVC_LINK_OPTION_IGNORE_DEFAULTLIBS_DEBUG}> + $<$:${MSVC_LINK_OPTION_IGNORE_DEFAULTLIBS_RELEASE}> + $<$:/OPT:REF> + $<$:/OPT:ICF> + /SAFESEH:NO + /MANIFEST:NO +) + +list( + APPEND ADDITIONAL_COMPILE_DEFINITIONS_EXE + $<$:_HAS_ITERATOR_DEBUGGING=0> +) + +list( + APPEND ADDITIONAL_COMPILE_DEFINITIONS_DLL + _USRDLL + $<$:_HAS_ITERATOR_DEBUGGING=0> +) + +list( + APPEND ADDITIONAL_COMPILE_DEFINITIONS_LIB + _LIB + $<$:_HAS_ITERATOR_DEBUGGING=0> +) + +list( + APPEND ADDITIONAL_LINK_LIBRARIES_DLL + legacy_stdio_definitions +) \ No newline at end of file diff --git a/sp/_cmake_scripts/pch_skip.cmake b/sp/_cmake_scripts/pch_skip.cmake new file mode 100644 index 00000000000..b20576c1353 --- /dev/null +++ b/sp/_cmake_scripts/pch_skip.cmake @@ -0,0 +1,3 @@ +# pch_skip.cmake + +set_source_files_properties("${SRCDIR}/public/tier0/memoverride.cpp" PROPERTIES SKIP_PRECOMPILE_HEADERS ON) \ No newline at end of file diff --git a/sp/_cmake_scripts/platform_dirs.cmake b/sp/_cmake_scripts/platform_dirs.cmake new file mode 100644 index 00000000000..dca89e5b83d --- /dev/null +++ b/sp/_cmake_scripts/platform_dirs.cmake @@ -0,0 +1,13 @@ +# platform_dirs.cmake + +if (UNIX) + if (APPLE) + set(PLATSUBDIR "/osx32") + else() + set(PLATSUBDIR "/linux32") + endif() +endif() + +if (WIN32) + set(PLATSUBDIR "/.") +endif() \ No newline at end of file diff --git a/sp/_cmake_scripts/posix_base.cmake b/sp/_cmake_scripts/posix_base.cmake new file mode 100644 index 00000000000..7718ef2da06 --- /dev/null +++ b/sp/_cmake_scripts/posix_base.cmake @@ -0,0 +1,92 @@ +# posix_base.cmake + +string(REPLACE "-O3" "-O2" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") +string(REPLACE "-O3" "-O2" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") + +find_package(Threads REQUIRED) + +if (${IS_XCODE}) + if (${CMAKE_SIZEOF_VOID_P} EQUAL 8) + message( + FATAL_ERROR + " Source SDK 2013 only supports 32-bit generation\n" + " Please add -DCMAKE_OSX_ARCHITECTURES=i386 for Xcode generation\n" + " NOTE: Only Xcode 9.4.1 and earlier support i386" + ) + endif() +endif() + +add_compile_options( + -g + -m32 + $<$:-fpermissive> + -fdiagnostics-color + -Wno-narrowing + $<${IS_LINUX}:-U_FORTIFY_SOURCE> + -Usprintf + -Ustrncpy + -UPROTECTED_THINGS_ENABLE + $<${IS_LINUX}:-fabi-compat-version=2> +) + +add_link_options(-m32) + +add_compile_definitions( + _POSIX + POSIX + GNUC + COMPILER_GCC + NO_HOOK_MALLOC + NO_MALLOC_OVERRIDE + $<${IS_LINUX}:_LINUX> + $<${IS_LINUX}:LINUX> + $<${IS_OSX}:_OSX> + $<${IS_OSX}:OSX> + $<${IS_OSX}:_DARWIN_UNLIMITED_SELECT> + $<${IS_OSX}:FD_SETSIZE=10240> + $<${IS_OSX}:OVERRIDE_V_DEFINES> +) + +if (${IS_LINUX}) + if (NOT ${DEDICATED}) + list( + APPEND ADDITIONAL_LINK_OPTIONS_EXE + -Wl,--no-as-needed -ltcmalloc_minimal -Wl,--as-needed + ) + endif() + + # Helps us catch any linker errors from out of order linking or in general + list( + APPEND ADDITIONAL_LINK_OPTIONS_DLL + -Wl,--no-undefined + ) +endif() + +link_libraries( + Threads::Threads + ${CMAKE_DL_LIBS} + $<${IS_LINUX}:m> +) + +if (${IS_LINUX}) + add_link_options( + -static-libgcc + -static-libstdc++ + ) +endif() + +add_compile_options( + $<${IS_LINUX}:-march=pentium4> + -msse2 -mfpmath=sse -mtune=core2 +) + +list( + APPEND ADDITIONAL_LINK_LIBRARIES_DLL + tier0 + tier1 + vstdlib +) + +if (${IS_OSX}) + set(CMAKE_SHARED_MODULE_SUFFIX ".dylib") +endif() \ No newline at end of file diff --git a/sp/_cmake_scripts/postbuild.cmake b/sp/_cmake_scripts/postbuild.cmake new file mode 100644 index 00000000000..811defa6b2b --- /dev/null +++ b/sp/_cmake_scripts/postbuild.cmake @@ -0,0 +1,23 @@ +# postbuild.cmake + +include_guard(GLOBAL) + +function(target_strip_symbols target) + if (${IS_LINUX}) + add_custom_command( + TARGET ${target} POST_BUILD + COMMAND ${CMAKE_OBJCOPY} "$" "$.dbg" + COMMAND ${CMAKE_OBJCOPY} --add-gnu-debuglink="$.dbg" "$" + COMMAND ${CMAKE_STRIP} -x "$" $<$:-S> + ) + endif() + + # Xcode will do this for us through CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT + if (${IS_OSX} AND NOT ${IS_XCODE}) + add_custom_command( + TARGET ${target} POST_BUILD + COMMAND dsymutil "$" + COMMAND ${CMAKE_STRIP} -x "$" + ) + endif() +endfunction() \ No newline at end of file diff --git a/sp/_cmake_scripts/video_base.cmake b/sp/_cmake_scripts/video_base.cmake new file mode 100644 index 00000000000..4c574e15e2b --- /dev/null +++ b/sp/_cmake_scripts/video_base.cmake @@ -0,0 +1,23 @@ +# video_base.cmake + +set(QUICKTIME_WINDOWS 0) + +set(USE_GL 0) +set(USE_SDL 0) + +if (${IS_POSIX} AND NOT ${DEDICATED}) + set(USE_GL 1) + set(USE_SDL 1) +endif() + + +add_compile_definitions( + "$<${IS_OSX}:QUICKTIME_VIDEO;FORCE_QUICKTIME>" + $<$:BINK_VIDEO> + $<${IS_LINUX}:BINK_VIDEO> + AVI_VIDEO + WMV_VIDEO + + "$<${USE_GL}:GL_GLEXT_PROTOTYPES;DX_TO_GL_ABSTRACTION>" + $<${USE_SDL}:USE_SDL> +) \ No newline at end of file diff --git a/sp/_cmake_scripts/windows_base.cmake b/sp/_cmake_scripts/windows_base.cmake new file mode 100644 index 00000000000..9dd81fad5cd --- /dev/null +++ b/sp/_cmake_scripts/windows_base.cmake @@ -0,0 +1,41 @@ +# windows_base.cmake + +add_compile_definitions( + WIN32 + _WIN32 + _WINDOWS +) + +if (MSVC) + include("${CMAKE_CURRENT_LIST_DIR}/msvc_base.cmake") +endif() + +list( + APPEND ADDITIONAL_SOURCES_EXE + "${SRCDIR}/public/tier0/memoverride.cpp" + "$<$:${SRCDIR}/public/windows_default.manifest>" +) + +list( + APPEND ADDITIONAL_SOURCES_DLL + "${SRCDIR}/public/tier0/memoverride.cpp" + "$<$:${SRCDIR}/common/debug_dll_check.cpp>" +) +list( + APPEND ADDITIONAL_SOURCES_LIB + "$<$:${SRCDIR}/common/debug_lib_check.cpp>" +) + +list( + APPEND ADDITIONAL_LINK_LIBRARIES_EXE + tier0 + tier1 + vstdlib +) + +list( + APPEND ADDITIONAL_LINK_LIBRARIES_DLL + tier0 + tier1 + vstdlib +) \ No newline at end of file diff --git a/sp/cmake-variants.yaml b/sp/cmake-variants.yaml new file mode 100644 index 00000000000..0309f182db1 --- /dev/null +++ b/sp/cmake-variants.yaml @@ -0,0 +1,11 @@ +buildType: + default: debug + choices: + debug: + short: Debug + long: Unoptimized debug build + buildType: Debug + release: + short: Release + long: Optimized release build with debug information + buildType: Release \ No newline at end of file diff --git a/sp/src/fgdlib/fgdlib.cmake b/sp/src/fgdlib/fgdlib.cmake new file mode 100644 index 00000000000..6d2527332cd --- /dev/null +++ b/sp/src/fgdlib/fgdlib.cmake @@ -0,0 +1,28 @@ +# fgdlib.cmake + +set(FGDLIB_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + FGDLIB_SOURCE_FILES + + "${FGDLIB_DIR}/gamedata.cpp" + "${FGDLIB_DIR}/gdclass.cpp" + "${FGDLIB_DIR}/gdvar.cpp" + "${FGDLIB_DIR}/inputoutput.cpp" + "${FGDLIB_DIR}/wckeyvalues.cpp" + + # Header Files + "${SRCDIR}/public/fgdlib/fgdlib.h" + "${SRCDIR}/public/fgdlib/gamedata.h" + "${SRCDIR}/public/fgdlib/gdclass.h" + "${SRCDIR}/public/fgdlib/gdvar.h" + "${SRCDIR}/public/fgdlib/helperinfo.h" + "${SRCDIR}/public/fgdlib/ieditortexture.h" + "${SRCDIR}/public/fgdlib/inputoutput.h" + "${SRCDIR}/public/fgdlib/wckeyvalues.h" +) + +add_library(fgdlib STATIC ${FGDLIB_SOURCE_FILES}) +target_include_directories( + fgdlib PRIVATE + "${SRCDIR}/utils/common" +) \ No newline at end of file diff --git a/sp/src/game/client/client_base.cmake b/sp/src/game/client/client_base.cmake new file mode 100644 index 00000000000..c469beffc4f --- /dev/null +++ b/sp/src/game/client/client_base.cmake @@ -0,0 +1,1238 @@ +# client_base.cmake + +include_guard(GLOBAL) + +set(CLIENT_BASE_DIR ${CMAKE_CURRENT_LIST_DIR}) + +# Replay sources behind BUILD_REPLAY +set( + REPLAY_SOURCE_FILES + "${CLIENT_BASE_DIR}/replay/gamedefs.h" + "${CLIENT_BASE_DIR}/replay/gamedefs.cpp" + "${CLIENT_BASE_DIR}/replay/replay_ragdoll.cpp" + "${CLIENT_BASE_DIR}/replay/replay_ragdoll.h" + "${CLIENT_BASE_DIR}/replay/replay_screenshot.cpp" + "${CLIENT_BASE_DIR}/replay/replay_screenshot.h" + "${CLIENT_BASE_DIR}/replay/replayperformanceplaybackhandler.h" + "${CLIENT_BASE_DIR}/replay/replayperformanceplaybackhandler.cpp" + "${CLIENT_BASE_DIR}/replay/replayrenderer.cpp" + "${CLIENT_BASE_DIR}/replay/replayrenderer.h" + "${CLIENT_BASE_DIR}/replay/replayvideo.cpp" + "${CLIENT_BASE_DIR}/replay/replayvideo.h" + + "${CLIENT_BASE_DIR}/replay/genericclassbased_replay.cpp" + "${CLIENT_BASE_DIR}/replay/genericclassbased_replay.h" + + "${SRCDIR}/game/shared/replay_gamestats_shared.cpp" + "${SRCDIR}/game/shared/replay_gamestats_shared.h" + + "${SRCDIR}/game/client/youtubeapi.h" + "${SRCDIR}/game/client/youtubeapi.cpp" + + # Folder UI + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowserbasepage.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowserbasepage.h" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowserbasepanel.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowserbasepanel.h" + "${CLIENT_BASE_DIR}/replay/vgui/replayconfirmquitdlg.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replayconfirmquitdlg.h" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowserdetailspanel.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowserdetailspanel.h" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowseritemmanager.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowseritemmanager.h" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowserlistitempanel.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowserlistitempanel.h" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowserlistpanel.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowserlistpanel.h" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowsermainpanel.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowsermainpanel.h" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowsermovieplayerpanel.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowsermovieplayerpanel.h" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowserpreviewpanel.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowserpreviewpanel.h" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowserrenderdialog.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replaybrowserrenderdialog.h" + "${CLIENT_BASE_DIR}/replay/vgui/replayinputpanel.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replayinputpanel.h" + "${CLIENT_BASE_DIR}/replay/vgui/replaymessagepanel.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replaymessagepanel.h" + "${CLIENT_BASE_DIR}/replay/vgui/replayperformanceeditor.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replayperformanceeditor.h" + "${CLIENT_BASE_DIR}/replay/vgui/replayperformancesavedlg.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replayperformancesavedlg.h" + "${CLIENT_BASE_DIR}/replay/vgui/replayrenderoverlay.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replayrenderoverlay.h" + "${CLIENT_BASE_DIR}/replay/vgui/replayreminderpanel.cpp" + "${CLIENT_BASE_DIR}/replay/vgui/replayreminderpanel.h" + "${CLIENT_BASE_DIR}/replay/replayyoutubeapi.cpp" + "${CLIENT_BASE_DIR}/replay/replayyoutubeapi.h" + "$<$:${CLIENT_BASE_DIR}/replay/replayyoutubeapi_key.cpp>" + "$<${IS_SOURCESDK}:${CLIENT_BASE_DIR}/replay/replayyoutubeapi_key_sdk.cpp>" + + "${CLIENT_BASE_DIR}/game_controls/slideshowpanel.cpp" + "${CLIENT_BASE_DIR}/game_controls/slideshowpanel.h" + + "${SRCDIR}/common/movieobjects/timeutils.cpp" + "${SRCDIR}/public/movieobjects/timeutils.h" +) + +set( + CLIENT_BASE_SOURCE_FILES + + # Replay + "${CLIENT_BASE_DIR}/replay/replaycamera.cpp" + "${CLIENT_BASE_DIR}/replay/replaycamera.h" + "${CLIENT_BASE_DIR}/replay/cdll_replay.cpp" + "${CLIENT_BASE_DIR}/replay/cdll_replay.h" + + "$<${BUILD_REPLAY}:${REPLAY_SOURCE_FILES}>" + + # Source Files + "${CLIENT_BASE_DIR}/hl2/C_Func_Monitor.cpp" + "${CLIENT_BASE_DIR}/geiger.cpp" + "${CLIENT_BASE_DIR}/history_resource.cpp" + "${CLIENT_BASE_DIR}/hud_weapon.cpp" + "${CLIENT_BASE_DIR}/train.cpp" + "${SRCDIR}/game/shared/weapon_parse_default.cpp" + "${SRCDIR}/game/shared/achievement_saverestore.cpp" + "${SRCDIR}/game/shared/achievement_saverestore.h" + "${SRCDIR}/game/shared/achievementmgr.cpp" + "${SRCDIR}/game/shared/achievementmgr.h" + "${SRCDIR}/game/shared/achievements_and_stats_interface.h" + "${SRCDIR}/game/shared/achievements_hlx.cpp" + "${CLIENT_BASE_DIR}/achievement_notification_panel.cpp" + "${CLIENT_BASE_DIR}/achievement_notification_panel.h" + "${SRCDIR}/game/shared/activitylist.cpp" + "${CLIENT_BASE_DIR}/alphamaterialproxy.cpp" + "${SRCDIR}/game/shared/ammodef.cpp" + "${CLIENT_BASE_DIR}/animatedentitytextureproxy.cpp" + "${CLIENT_BASE_DIR}/animatedoffsettextureproxy.cpp" + "${CLIENT_BASE_DIR}/animatedtextureproxy.cpp" + "${CLIENT_BASE_DIR}/AnimateSpecificTextureProxy.cpp" + "${SRCDIR}/game/shared/animation.cpp" + "${SRCDIR}/game/shared/base_playeranimstate.cpp" + "${SRCDIR}/game/shared/baseachievement.cpp" + "${SRCDIR}/game/shared/baseachievement.h" + "${CLIENT_BASE_DIR}/baseanimatedtextureproxy.cpp" + "${CLIENT_BASE_DIR}/baseclientrendertargets.cpp" + "${SRCDIR}/game/shared/basecombatcharacter_shared.cpp" + "${SRCDIR}/game/shared/basecombatweapon_shared.cpp" + "${SRCDIR}/game/shared/baseentity_shared.cpp" + "${SRCDIR}/game/shared/basegrenade_shared.cpp" + "${SRCDIR}/game/shared/baseparticleentity.cpp" + "${SRCDIR}/game/shared/baseplayer_shared.cpp" + "${SRCDIR}/game/shared/baseprojectile.cpp" + "${SRCDIR}/game/shared/baseprojectile.h" + "${SRCDIR}/game/shared/baseviewmodel_shared.cpp" + "${CLIENT_BASE_DIR}/beamdraw.cpp" + "${SRCDIR}/game/shared/beam_shared.cpp" + "${SRCDIR}/public/bone_accessor.cpp" + "${CLIENT_BASE_DIR}/bone_merge_cache.cpp" + "${CLIENT_BASE_DIR}/c_ai_basehumanoid.cpp" + "${CLIENT_BASE_DIR}/c_ai_basenpc.cpp" + "${CLIENT_BASE_DIR}/c_baseanimating.cpp" + "${CLIENT_BASE_DIR}/c_baseanimatingoverlay.cpp" + "${CLIENT_BASE_DIR}/c_basecombatcharacter.cpp" + "${CLIENT_BASE_DIR}/c_basecombatweapon.cpp" + "${CLIENT_BASE_DIR}/c_basedoor.cpp" + "${CLIENT_BASE_DIR}/c_baseentity.cpp" + "${CLIENT_BASE_DIR}/c_baseflex.cpp" + "${CLIENT_BASE_DIR}/c_baseplayer.cpp" + "${CLIENT_BASE_DIR}/c_baseviewmodel.cpp" + "${CLIENT_BASE_DIR}/c_breakableprop.cpp" + "${CLIENT_BASE_DIR}/c_colorcorrection.cpp" + "${CLIENT_BASE_DIR}/c_colorcorrectionvolume.cpp" + "${CLIENT_BASE_DIR}/c_dynamiclight.cpp" + "${CLIENT_BASE_DIR}/c_entitydissolve.cpp" + "${CLIENT_BASE_DIR}/c_entityparticletrail.cpp" + "${CLIENT_BASE_DIR}/c_env_fog_controller.cpp" + "${CLIENT_BASE_DIR}/c_env_particlescript.cpp" + "${CLIENT_BASE_DIR}/c_env_projectedtexture.cpp" + "${CLIENT_BASE_DIR}/c_env_screenoverlay.cpp" + "${CLIENT_BASE_DIR}/c_env_tonemap_controller.cpp" + "${CLIENT_BASE_DIR}/c_fire_smoke.cpp" + "${CLIENT_BASE_DIR}/c_fish.cpp" + "${CLIENT_BASE_DIR}/c_func_areaportalwindow.cpp" + "${CLIENT_BASE_DIR}/c_func_breakablesurf.cpp" + "${CLIENT_BASE_DIR}/c_func_conveyor.cpp" + "${CLIENT_BASE_DIR}/c_func_dust.cpp" + "${CLIENT_BASE_DIR}/c_func_lod.cpp" + "${CLIENT_BASE_DIR}/c_func_occluder.cpp" + "${CLIENT_BASE_DIR}/c_func_reflective_glass.cpp" + "${CLIENT_BASE_DIR}/c_func_rotating.cpp" + "${CLIENT_BASE_DIR}/c_func_smokevolume.cpp" + "${CLIENT_BASE_DIR}/c_func_tracktrain.cpp" + "${CLIENT_BASE_DIR}/c_gib.cpp" + "${CLIENT_BASE_DIR}/c_hairball.cpp" + "${CLIENT_BASE_DIR}/c_info_overlay_accessor.cpp" + "${CLIENT_BASE_DIR}/c_lightglow.cpp" + "${CLIENT_BASE_DIR}/C_MaterialModifyControl.cpp" + "${CLIENT_BASE_DIR}/c_particle_system.cpp" + "${CLIENT_BASE_DIR}/c_physbox.cpp" + "${CLIENT_BASE_DIR}/c_physicsprop.cpp" + "${CLIENT_BASE_DIR}/c_physmagnet.cpp" + "${CLIENT_BASE_DIR}/c_pixel_visibility.cpp" + "${CLIENT_BASE_DIR}/c_plasma.cpp" + "${CLIENT_BASE_DIR}/c_playerresource.cpp" + "${CLIENT_BASE_DIR}/c_point_camera.cpp" + "${CLIENT_BASE_DIR}/c_point_commentary_node.cpp" + "${CLIENT_BASE_DIR}/c_props.cpp" + "${CLIENT_BASE_DIR}/c_props.h" + "${CLIENT_BASE_DIR}/c_ragdoll_manager.cpp" + "${CLIENT_BASE_DIR}/c_rope.cpp" + "${CLIENT_BASE_DIR}/c_rumble.cpp" + "${CLIENT_BASE_DIR}/c_sceneentity.cpp" + "${CLIENT_BASE_DIR}/c_shadowcontrol.cpp" + "${CLIENT_BASE_DIR}/c_slideshow_display.cpp" + "${CLIENT_BASE_DIR}/c_slideshow_display.h" + "${CLIENT_BASE_DIR}/c_soundscape.cpp" + "${CLIENT_BASE_DIR}/c_spotlight_end.cpp" + "${CLIENT_BASE_DIR}/c_sprite.cpp" + "${CLIENT_BASE_DIR}/c_sprite_perfmonitor.cpp" + "${CLIENT_BASE_DIR}/c_sun.cpp" + "${CLIENT_BASE_DIR}/c_team.cpp" + "${CLIENT_BASE_DIR}/c_tesla.cpp" + "${CLIENT_BASE_DIR}/c_test_proxytoggle.cpp" + "${CLIENT_BASE_DIR}/c_user_message_register.cpp" + "${CLIENT_BASE_DIR}/c_vehicle_choreo_generic.cpp" + "${CLIENT_BASE_DIR}/c_vehicle_jeep.cpp" + "${CLIENT_BASE_DIR}/c_vguiscreen.cpp" + "${CLIENT_BASE_DIR}/hl2/c_waterbullet.cpp" + "${CLIENT_BASE_DIR}/hl2/hud_autoaim.cpp" + "${CLIENT_BASE_DIR}/C_WaterLODControl.cpp" + "${CLIENT_BASE_DIR}/c_world.cpp" + "${SRCDIR}/game/shared/cam_thirdperson.cpp" + "${SRCDIR}/game/shared/cam_thirdperson.h" + "${CLIENT_BASE_DIR}/camomaterialproxy.cpp" + "${CLIENT_BASE_DIR}/cdll_client_int.cpp" + "${CLIENT_BASE_DIR}/cdll_bounded_cvars.cpp" + "${CLIENT_BASE_DIR}/cdll_bounded_cvars.h" + "${CLIENT_BASE_DIR}/cdll_util.cpp" + "${CLIENT_BASE_DIR}/cl_mat_stub.cpp" + "${CLIENT_BASE_DIR}/classmap.cpp" + "${CLIENT_BASE_DIR}/client_factorylist.cpp" + "${CLIENT_BASE_DIR}/client_thinklist.cpp" + "${CLIENT_BASE_DIR}/client_virtualreality.cpp" + "${CLIENT_BASE_DIR}/client_virtualreality.h" + "${CLIENT_BASE_DIR}/clienteffectprecachesystem.cpp" + "${CLIENT_BASE_DIR}/cliententitylist.cpp" + "${CLIENT_BASE_DIR}/clientleafsystem.cpp" + "${CLIENT_BASE_DIR}/clientmode_shared.cpp" + "${CLIENT_BASE_DIR}/clientshadowmgr.cpp" + "${CLIENT_BASE_DIR}/clientsideeffects.cpp" + "${CLIENT_BASE_DIR}/clientsideeffects_test.cpp" + "${CLIENT_BASE_DIR}/clientsteamcontext.cpp" + "${CLIENT_BASE_DIR}/clientsteamcontext.h" + "${CLIENT_BASE_DIR}/colorcorrectionmgr.cpp" + "${CLIENT_BASE_DIR}/commentary_modelviewer.cpp" + "${CLIENT_BASE_DIR}/commentary_modelviewer.h" + "${SRCDIR}/game/shared/collisionproperty.cpp" + "${SRCDIR}/game/shared/death_pose.cpp" + "${SRCDIR}/game/shared/debugoverlay_shared.cpp" + "${SRCDIR}/game/shared/decals.cpp" + "${CLIENT_BASE_DIR}/detailobjectsystem.cpp" + "${CLIENT_BASE_DIR}/dummyproxy.cpp" + "${SRCDIR}/game/shared/effect_dispatch_data.cpp" + "${CLIENT_BASE_DIR}/EffectsClient.cpp" + "${SRCDIR}/game/shared/ehandle.cpp" + "${SRCDIR}/game/shared/entitylist_base.cpp" + "${CLIENT_BASE_DIR}/entityoriginmaterialproxy.cpp" + "${SRCDIR}/game/shared/EntityParticleTrail_Shared.cpp" + "${SRCDIR}/game/shared/env_detail_controller.cpp" + "${SRCDIR}/game/shared/env_wind_shared.cpp" + "${SRCDIR}/game/shared/eventlist.cpp" + "${CLIENT_BASE_DIR}/flashlighteffect.cpp" + "${SRCDIR}/game/shared/func_ladder.cpp" + "${CLIENT_BASE_DIR}/functionproxy.cpp" + "${CLIENT_BASE_DIR}/fx_blood.cpp" + "${CLIENT_BASE_DIR}/fx_cube.cpp" + "${CLIENT_BASE_DIR}/fx_explosion.cpp" + "${CLIENT_BASE_DIR}/fx_fleck.cpp" + "${CLIENT_BASE_DIR}/fx_impact.cpp" + "${CLIENT_BASE_DIR}/fx_interpvalue.cpp" + "${CLIENT_BASE_DIR}/fx_quad.cpp" + "${CLIENT_BASE_DIR}/fx_shelleject.cpp" + "${CLIENT_BASE_DIR}/fx_staticline.cpp" + "${CLIENT_BASE_DIR}/fx_tracer.cpp" + "${CLIENT_BASE_DIR}/fx_trail.cpp" + "${CLIENT_BASE_DIR}/fx_water.cpp" + "${SRCDIR}/game/shared/gamemovement.cpp" + "${SRCDIR}/game/shared/gamerules.cpp" + "${SRCDIR}/game/shared/gamerules_register.cpp" + "${SRCDIR}/game/shared/GameStats.cpp" + "${SRCDIR}/game/shared/gamestringpool.cpp" + "${CLIENT_BASE_DIR}/gametrace_client.cpp" + "${SRCDIR}/game/shared/gamevars_shared.cpp" + "${CLIENT_BASE_DIR}/glow_outline_effect.cpp" + "${CLIENT_BASE_DIR}/glow_overlay.cpp" + "${SRCDIR}/game/shared/hintmessage.cpp" + "${SRCDIR}/game/shared/hintsystem.cpp" + "${CLIENT_BASE_DIR}/hltvcamera.cpp" + "${CLIENT_BASE_DIR}/hud.cpp" + "${CLIENT_BASE_DIR}/hud_animationinfo.cpp" + "${CLIENT_BASE_DIR}/hud_basechat.cpp" + "${CLIENT_BASE_DIR}/hud_basetimer.cpp" + "${CLIENT_BASE_DIR}/hud_bitmapnumericdisplay.cpp" + "${CLIENT_BASE_DIR}/hud_closecaption.cpp" + "${CLIENT_BASE_DIR}/hud_crosshair.cpp" + "${CLIENT_BASE_DIR}/hud_element_helper.cpp" + "${CLIENT_BASE_DIR}/hl2/hud_filmdemo.cpp" + "${CLIENT_BASE_DIR}/hl2/hud_hdrdemo.cpp" + "${CLIENT_BASE_DIR}/hud_hintdisplay.cpp" + "${CLIENT_BASE_DIR}/hud_msg.cpp" + "${CLIENT_BASE_DIR}/hud_numericdisplay.cpp" + "${CLIENT_BASE_DIR}/hud_pdump.cpp" + "${CLIENT_BASE_DIR}/hud_redraw.cpp" + "${CLIENT_BASE_DIR}/hud_vehicle.cpp" + "${SRCDIR}/game/shared/igamesystem.cpp" + "${CLIENT_BASE_DIR}/in_camera.cpp" + "${CLIENT_BASE_DIR}/in_joystick.cpp" + "${CLIENT_BASE_DIR}/in_main.cpp" + "${CLIENT_BASE_DIR}/initializer.cpp" + "${CLIENT_BASE_DIR}/interpolatedvar.cpp" + "${CLIENT_BASE_DIR}/IsNPCProxy.cpp" + "${CLIENT_BASE_DIR}/lampbeamproxy.cpp" + "${CLIENT_BASE_DIR}/lamphaloproxy.cpp" + "${SRCDIR}/game/shared/mapentities_shared.cpp" + "${CLIENT_BASE_DIR}/mathproxy.cpp" + "${CLIENT_BASE_DIR}/matrixproxy.cpp" + "${CLIENT_BASE_DIR}/menu.cpp" + "${CLIENT_BASE_DIR}/message.cpp" + "${CLIENT_BASE_DIR}/movehelper_client.cpp" + "${SRCDIR}/game/shared/movevars_shared.cpp" + "${SRCDIR}/game/shared/multiplay_gamerules.cpp" + "${SRCDIR}/game/shared/obstacle_pushaway.cpp" + "${CLIENT_BASE_DIR}/panelmetaclassmgr.cpp" + "${CLIENT_BASE_DIR}/particle_collision.cpp" + "${CLIENT_BASE_DIR}/particle_litsmokeemitter.cpp" + "${SRCDIR}/game/shared/particle_parse.cpp" + "${SRCDIR}/game/shared/particle_parse.h" + "${SRCDIR}/game/shared/particle_property.cpp" + "${SRCDIR}/game/shared/particle_property.h" + "${CLIENT_BASE_DIR}/particle_proxies.cpp" + "${CLIENT_BASE_DIR}/particle_simple3d.cpp" + "${CLIENT_BASE_DIR}/particlemgr.cpp" + "${CLIENT_BASE_DIR}/particles_attractor.cpp" + "${CLIENT_BASE_DIR}/particles_ez.cpp" + "${CLIENT_BASE_DIR}/particles_localspace.cpp" + "${CLIENT_BASE_DIR}/particles_new.cpp" + "${CLIENT_BASE_DIR}/particles_simple.cpp" + "${SRCDIR}/game/shared/particlesystemquery.cpp" + "${CLIENT_BASE_DIR}/perfvisualbenchmark.cpp" + "${CLIENT_BASE_DIR}/physics.cpp" + "${CLIENT_BASE_DIR}/physics_main_client.cpp" + "${SRCDIR}/game/shared/physics_main_shared.cpp" + "${SRCDIR}/game/shared/physics_saverestore.cpp" + "${SRCDIR}/game/shared/physics_shared.cpp" + "${CLIENT_BASE_DIR}/physpropclientside.cpp" + "${CLIENT_BASE_DIR}/playerandobjectenumerator.cpp" + "${CLIENT_BASE_DIR}/playerspawncache.cpp" + "${SRCDIR}/game/shared/point_bonusmaps_accessor.cpp" + "${SRCDIR}/game/shared/point_bonusmaps_accessor.h" + "${SRCDIR}/game/shared/point_posecontroller.cpp" + "${SRCDIR}/game/shared/precache_register.cpp" + "${SRCDIR}/game/shared/predictableid.cpp" + "${CLIENT_BASE_DIR}/prediction.cpp" + "${SRCDIR}/game/shared/predictioncopy.cpp" + "${SRCDIR}/game/shared/props_shared.cpp" + "${CLIENT_BASE_DIR}/proxyentity.cpp" + "${CLIENT_BASE_DIR}/ProxyHealth.cpp" + "${CLIENT_BASE_DIR}/proxyplayer.cpp" + "${CLIENT_BASE_DIR}/proxypupil.cpp" + "${CLIENT_BASE_DIR}/ragdoll.cpp" + "${SRCDIR}/game/shared/ragdoll_shared.cpp" + "${CLIENT_BASE_DIR}/recvproxy.cpp" + "${CLIENT_BASE_DIR}/basepresence.cpp" + "${SRCDIR}/game/shared/rope_helpers.cpp" + "${SRCDIR}/game/shared/saverestore.cpp" + "${SRCDIR}/game/shared/sceneentity_shared.cpp" + "${CLIENT_BASE_DIR}/ScreenSpaceEffects.cpp" + "${SRCDIR}/game/shared/sequence_Transitioner.cpp" + "${CLIENT_BASE_DIR}/simple_keys.cpp" + "${SRCDIR}/game/shared/simtimer.cpp" + "${SRCDIR}/game/shared/singleplay_gamerules.cpp" + "${SRCDIR}/game/shared/SoundEmitterSystem.cpp" + "${SRCDIR}/game/shared/soundenvelope.cpp" + "${SRCDIR}/public/SoundParametersInternal.cpp" + "${CLIENT_BASE_DIR}/splinepatch.cpp" + "${SRCDIR}/game/shared/Sprite.cpp" + "${CLIENT_BASE_DIR}/spritemodel.cpp" + "${SRCDIR}/game/shared/SpriteTrail.cpp" + "${SRCDIR}/game/shared/studio_shared.cpp" + "${CLIENT_BASE_DIR}/studio_stats.cpp" + "${CLIENT_BASE_DIR}/studio_stats.h" + "${SRCDIR}/game/shared/takedamageinfo.cpp" + "${SRCDIR}/game/shared/teamplay_gamerules.cpp" + "${SRCDIR}/game/shared/teamplayroundbased_gamerules.cpp" + "${SRCDIR}/game/shared/test_ehandle.cpp" + "${CLIENT_BASE_DIR}/text_message.cpp" + "${CLIENT_BASE_DIR}/texturescrollmaterialproxy.cpp" + "${CLIENT_BASE_DIR}/timematerialproxy.cpp" + "${CLIENT_BASE_DIR}/toggletextureproxy.cpp" + "${SRCDIR}/game/shared/usercmd.cpp" + "${SRCDIR}/game/shared/usermessages.cpp" + "${SRCDIR}/game/shared/util_shared.cpp" + "${SRCDIR}/game/shared/vehicle_viewblend_shared.cpp" + "${CLIENT_BASE_DIR}/vgui_avatarimage.cpp" + "${CLIENT_BASE_DIR}/vgui_avatarimage.h" + "${CLIENT_BASE_DIR}/vgui_basepanel.cpp" + "${CLIENT_BASE_DIR}/vgui_bitmapbutton.cpp" + "${CLIENT_BASE_DIR}/vgui_bitmapimage.cpp" + "${CLIENT_BASE_DIR}/vgui_bitmappanel.cpp" + "${CLIENT_BASE_DIR}/vgui_schemevisualizer.cpp" + "${CLIENT_BASE_DIR}/vgui_centerstringpanel.cpp" + "${CLIENT_BASE_DIR}/vgui_consolepanel.cpp" + "${CLIENT_BASE_DIR}/vgui_debugoverlaypanel.cpp" + "${CLIENT_BASE_DIR}/vgui_fpspanel.cpp" + "${CLIENT_BASE_DIR}/vgui_game_viewport.cpp" + "${CLIENT_BASE_DIR}/vgui_grid.cpp" + "${CLIENT_BASE_DIR}/vgui_int.cpp" + "${CLIENT_BASE_DIR}/vgui_loadingdiscpanel.cpp" + "${CLIENT_BASE_DIR}/vgui_messagechars.cpp" + "${CLIENT_BASE_DIR}/vgui_netgraphpanel.cpp" + "${CLIENT_BASE_DIR}/vgui_slideshow_display_screen.cpp" + "${CLIENT_BASE_DIR}/view.cpp" + "${CLIENT_BASE_DIR}/view_beams.cpp" + "${CLIENT_BASE_DIR}/view_effects.cpp" + "${CLIENT_BASE_DIR}/view_scene.cpp" + "${CLIENT_BASE_DIR}/viewangleanim.cpp" + "${CLIENT_BASE_DIR}/ViewConeImage.cpp" + "${CLIENT_BASE_DIR}/viewdebug.cpp" + "${CLIENT_BASE_DIR}/viewdebug.h" + "${CLIENT_BASE_DIR}/viewpostprocess.cpp" + "${CLIENT_BASE_DIR}/viewpostprocess.h" + "${CLIENT_BASE_DIR}/viewrender.cpp" + "${SRCDIR}/game/shared/voice_banmgr.cpp" + "${SRCDIR}/game/shared/voice_status.cpp" + "${CLIENT_BASE_DIR}/warp_overlay.cpp" + "${CLIENT_BASE_DIR}/WaterLODMaterialProxy.cpp" + "${SRCDIR}/game/shared/weapon_parse.cpp" + "${CLIENT_BASE_DIR}/weapon_selection.cpp" + "${CLIENT_BASE_DIR}/weapons_resource.cpp" + "${CLIENT_BASE_DIR}/WorldDimsProxy.cpp" + "${CLIENT_BASE_DIR}/vgui_video.cpp" + "${CLIENT_BASE_DIR}/vgui_video_player.cpp" + "${SRCDIR}/game/shared/mp_shareddefs.cpp" + "${SRCDIR}/game/client/c_vote_controller.h" + "${SRCDIR}/game/client/c_vote_controller.cpp" + + # Haptics + "${SRCDIR}/public/haptics/haptic_msgs.cpp" + "$<${IS_WINDOWS}:${SRCDIR}/public/haptics/haptic_utils.cpp>" + + # Sixense + "${CLIENT_BASE_DIR}/sixense/in_sixense.cpp" + "${CLIENT_BASE_DIR}/sixense/in_sixense.h" + "${CLIENT_BASE_DIR}/sixense/in_sixense_gesture_bindings.cpp" + "${CLIENT_BASE_DIR}/sixense/in_sixense_gesture_bindings.h" + "${SRCDIR}/game/shared/sixense/sixense_convars.cpp" + "${SRCDIR}/game/shared/sixense/sixense_convars_extern.h" + + # Source Files + "${SRCDIR}/public/bone_setup.cpp" + "${SRCDIR}/public/posedebugger.cpp" + "${SRCDIR}/public/client_class.cpp" + "${SRCDIR}/common/compiledcaptionswap.cpp" + "${SRCDIR}/public/collisionutils.cpp" + "${SRCDIR}/public/crtmemdebug.cpp" + "${SRCDIR}/public/dt_recv.cpp" + "${SRCDIR}/public/dt_utlvector_common.cpp" + "${SRCDIR}/public/dt_utlvector_recv.cpp" + "${SRCDIR}/public/filesystem_helpers.cpp" + "${SRCDIR}/public/interpolatortypes.cpp" + "${SRCDIR}/game/shared/interval.cpp" + "${SRCDIR}/common/language.cpp" + "${SRCDIR}/public/networkvar.cpp" + "${SRCDIR}/common/randoverride.cpp" + "${SRCDIR}/public/rope_physics.cpp" + "${SRCDIR}/public/scratchpad3d.cpp" + "${SRCDIR}/public/ScratchPadUtils.cpp" + "${SRCDIR}/public/sentence.cpp" + "${SRCDIR}/game/shared/sheetsimulator.cpp" + "${SRCDIR}/public/simple_physics.cpp" + "${SRCDIR}/public/stringregistry.cpp" + "${SRCDIR}/public/studio.cpp" + "${SRCDIR}/public/vallocator.cpp" + "${SRCDIR}/public/vgui_controls/vgui_controls.cpp" + "${SRCDIR}/public/jigglebones.cpp" + "${CLIENT_BASE_DIR}/hud_lcd.cpp" + "${CLIENT_BASE_DIR}/in_mouse.cpp" + "${CLIENT_BASE_DIR}/mumble.cpp" + "${SRCDIR}/public/renamed_recvtable_compat.cpp" + "${CLIENT_BASE_DIR}/rendertexture.cpp" + + # Temporary Entities + "${CLIENT_BASE_DIR}/c_basetempentity.cpp" + "${CLIENT_BASE_DIR}/c_effects.cpp" + "${CLIENT_BASE_DIR}/c_impact_effects.cpp" + "${CLIENT_BASE_DIR}/c_movie_explosion.cpp" + "${CLIENT_BASE_DIR}/c_particle_fire.cpp" + "${CLIENT_BASE_DIR}/c_particle_smokegrenade.cpp" + "${CLIENT_BASE_DIR}/c_prop_vehicle.cpp" + "${CLIENT_BASE_DIR}/c_recipientfilter.cpp" + "${CLIENT_BASE_DIR}/c_smoke_trail.cpp" + "${CLIENT_BASE_DIR}/c_smokestack.cpp" + "${CLIENT_BASE_DIR}/c_steamjet.cpp" + "${CLIENT_BASE_DIR}/c_stickybolt.cpp" + "${CLIENT_BASE_DIR}/c_te.cpp" + "${CLIENT_BASE_DIR}/c_te_armorricochet.cpp" + "${CLIENT_BASE_DIR}/c_te_basebeam.cpp" + "${CLIENT_BASE_DIR}/c_te_beamentpoint.cpp" + "${CLIENT_BASE_DIR}/c_te_beaments.cpp" + "${CLIENT_BASE_DIR}/c_te_beamfollow.cpp" + "${CLIENT_BASE_DIR}/c_te_beamlaser.cpp" + "${CLIENT_BASE_DIR}/c_te_beampoints.cpp" + "${CLIENT_BASE_DIR}/c_te_beamring.cpp" + "${CLIENT_BASE_DIR}/c_te_beamringpoint.cpp" + "${CLIENT_BASE_DIR}/c_te_beamspline.cpp" + "${CLIENT_BASE_DIR}/c_te_bloodsprite.cpp" + "${CLIENT_BASE_DIR}/c_te_bloodstream.cpp" + "${CLIENT_BASE_DIR}/c_te_breakmodel.cpp" + "${CLIENT_BASE_DIR}/c_te_bspdecal.cpp" + "${CLIENT_BASE_DIR}/c_te_bubbles.cpp" + "${CLIENT_BASE_DIR}/c_te_bubbletrail.cpp" + "${CLIENT_BASE_DIR}/c_te_clientprojectile.cpp" + "${CLIENT_BASE_DIR}/c_te_decal.cpp" + "${CLIENT_BASE_DIR}/c_te_dynamiclight.cpp" + "${CLIENT_BASE_DIR}/c_te_effect_dispatch.cpp" + "${CLIENT_BASE_DIR}/c_te_energysplash.cpp" + "${CLIENT_BASE_DIR}/c_te_explosion.cpp" + "${CLIENT_BASE_DIR}/c_te_fizz.cpp" + "${CLIENT_BASE_DIR}/c_te_footprint.cpp" + "${CLIENT_BASE_DIR}/c_te_glassshatter.cpp" + "${CLIENT_BASE_DIR}/c_te_glowsprite.cpp" + "${CLIENT_BASE_DIR}/c_te_impact.cpp" + "${CLIENT_BASE_DIR}/c_te_killplayerattachments.cpp" + "${CLIENT_BASE_DIR}/c_te_largefunnel.cpp" + "${CLIENT_BASE_DIR}/c_te_legacytempents.cpp" + "${CLIENT_BASE_DIR}/c_te_muzzleflash.cpp" + "${CLIENT_BASE_DIR}/c_te_particlesystem.cpp" + "${CLIENT_BASE_DIR}/c_te_physicsprop.cpp" + "${CLIENT_BASE_DIR}/c_te_playerdecal.cpp" + "${CLIENT_BASE_DIR}/c_te_projecteddecal.cpp" + "${CLIENT_BASE_DIR}/c_te_showline.cpp" + "${CLIENT_BASE_DIR}/c_te_smoke.cpp" + "${CLIENT_BASE_DIR}/c_te_sparks.cpp" + "${CLIENT_BASE_DIR}/c_te_sprite.cpp" + "${CLIENT_BASE_DIR}/c_te_spritespray.cpp" + "${CLIENT_BASE_DIR}/c_te_worlddecal.cpp" + "${CLIENT_BASE_DIR}/c_testtraceline.cpp" + "${CLIENT_BASE_DIR}/c_tracer.cpp" + "${CLIENT_BASE_DIR}/fx.cpp" + "${CLIENT_BASE_DIR}/fx_discreetline.cpp" + "${CLIENT_BASE_DIR}/fx_envelope.cpp" + "${CLIENT_BASE_DIR}/fx_line.cpp" + "${CLIENT_BASE_DIR}/fx_sparks.cpp" + "${CLIENT_BASE_DIR}/particlesphererenderer.cpp" + "${CLIENT_BASE_DIR}/smoke_fog_overlay.cpp" + + # game_controls + "${CLIENT_BASE_DIR}/game_controls/baseviewport.cpp" + "${CLIENT_BASE_DIR}/game_controls/basemodelpanel.cpp" + "${CLIENT_BASE_DIR}/game_controls/basemodelpanel.h" + "${CLIENT_BASE_DIR}/game_controls/basemodel_panel.cpp" + "${CLIENT_BASE_DIR}/game_controls/basemodel_panel.h" + "${CLIENT_BASE_DIR}/game_controls/ClientScoreBoardDialog.cpp" + "${CLIENT_BASE_DIR}/game_controls/commandmenu.cpp" + "${CLIENT_BASE_DIR}/game_controls/intromenu.cpp" + "${CLIENT_BASE_DIR}/game_controls/MapOverview.cpp" + "${CLIENT_BASE_DIR}/game_controls/NavProgress.cpp" + "${CLIENT_BASE_DIR}/game_controls/SpectatorGUI.cpp" + "${CLIENT_BASE_DIR}/game_controls/teammenu.cpp" + "${CLIENT_BASE_DIR}/game_controls/vguitextwindow.cpp" + "${CLIENT_BASE_DIR}/game_controls/IconPanel.cpp" + + # MP3 + "${CLIENT_BASE_DIR}/mp3player.cpp" + "${CLIENT_BASE_DIR}/mp3player.h" + + # Tool Framework + "${SRCDIR}/public/tools/bonelist.cpp" + "${SRCDIR}/public/tools/bonelist.h" + "${CLIENT_BASE_DIR}/entity_client_tools.cpp" + "${CLIENT_BASE_DIR}/toolframework_client.cpp" + "${CLIENT_BASE_DIR}/toolframework_client.h" + + # Header Files + "${CLIENT_BASE_DIR}/animationlayer.h" + "${CLIENT_BASE_DIR}/baseanimatedtextureproxy.h" + "${CLIENT_BASE_DIR}/baseclientrendertargets.h" + "${CLIENT_BASE_DIR}/beamdraw.h" + "${CLIENT_BASE_DIR}/bone_merge_cache.h" + "${CLIENT_BASE_DIR}/c_ai_basenpc.h" + "${CLIENT_BASE_DIR}/c_baseanimating.h" + "${CLIENT_BASE_DIR}/c_baseanimatingoverlay.h" + "${CLIENT_BASE_DIR}/c_basecombatcharacter.h" + "${CLIENT_BASE_DIR}/c_basecombatweapon.h" + "${CLIENT_BASE_DIR}/c_basedoor.h" + "${CLIENT_BASE_DIR}/c_baseentity.h" + "${CLIENT_BASE_DIR}/c_baseflex.h" + "${CLIENT_BASE_DIR}/c_baseplayer.h" + "${CLIENT_BASE_DIR}/c_basetempentity.h" + "${CLIENT_BASE_DIR}/c_baseviewmodel.h" + "${CLIENT_BASE_DIR}/c_breakableprop.h" + "${CLIENT_BASE_DIR}/c_effects.h" + "${CLIENT_BASE_DIR}/c_entitydissolve.h" + "${CLIENT_BASE_DIR}/c_env_fog_controller.h" + "${CLIENT_BASE_DIR}/c_fire_smoke.h" + "${CLIENT_BASE_DIR}/c_func_dust.h" + "${CLIENT_BASE_DIR}/c_func_reflective_glass.h" + "${CLIENT_BASE_DIR}/c_gib.h" + "${CLIENT_BASE_DIR}/c_impact_effects.h" + "${CLIENT_BASE_DIR}/c_physbox.h" + "${CLIENT_BASE_DIR}/c_physicsprop.h" + "${CLIENT_BASE_DIR}/c_pixel_visibility.h" + "${CLIENT_BASE_DIR}/c_playerlocaldata.h" + "${CLIENT_BASE_DIR}/c_playerresource.h" + "${CLIENT_BASE_DIR}/c_point_camera.h" + "${CLIENT_BASE_DIR}/c_prop_vehicle.h" + "${CLIENT_BASE_DIR}/c_recipientfilter.h" + "${CLIENT_BASE_DIR}/c_rope.h" + "${CLIENT_BASE_DIR}/c_rumble.h" + "${CLIENT_BASE_DIR}/c_sceneentity.h" + "${CLIENT_BASE_DIR}/c_smoke_trail.h" + "${CLIENT_BASE_DIR}/c_soundscape.h" + "${CLIENT_BASE_DIR}/c_sprite.h" + "${CLIENT_BASE_DIR}/c_sun.h" + "${CLIENT_BASE_DIR}/c_te_basebeam.h" + "${CLIENT_BASE_DIR}/c_te_effect_dispatch.h" + "${CLIENT_BASE_DIR}/c_te_legacytempents.h" + "${CLIENT_BASE_DIR}/c_te_particlesystem.h" + "${CLIENT_BASE_DIR}/c_team.h" + "${CLIENT_BASE_DIR}/c_tesla.h" + "${CLIENT_BASE_DIR}/c_tracer.h" + "${CLIENT_BASE_DIR}/c_vehicle_jeep.h" + "${CLIENT_BASE_DIR}/c_user_message_register.h" + "${CLIENT_BASE_DIR}/c_vguiscreen.h" + "${CLIENT_BASE_DIR}/c_weapon__stubs.h" + "${CLIENT_BASE_DIR}/c_world.h" + "${CLIENT_BASE_DIR}/cbase.h" + "${CLIENT_BASE_DIR}/cdll_client_int.h" + "${CLIENT_BASE_DIR}/cdll_util.h" + "${CLIENT_BASE_DIR}/cl_animevent.h" + "${CLIENT_BASE_DIR}/cl_mat_stub.h" + "${CLIENT_BASE_DIR}/client_factorylist.h" + "${CLIENT_BASE_DIR}/client_thinklist.h" + "${CLIENT_BASE_DIR}/clienteffectprecachesystem.h" + "${CLIENT_BASE_DIR}/cliententitylist.h" + "${CLIENT_BASE_DIR}/clientleafsystem.h" + "${CLIENT_BASE_DIR}/clientmode.h" + "${CLIENT_BASE_DIR}/clientmode_shared.h" + "${CLIENT_BASE_DIR}/clientsideeffects.h" + "${CLIENT_BASE_DIR}/colorcorrectionmgr.h" + "${CLIENT_BASE_DIR}/detailobjectsystem.h" + "${CLIENT_BASE_DIR}/enginesprite.h" + "${CLIENT_BASE_DIR}/flashlighteffect.h" + "${CLIENT_BASE_DIR}/fontabc.h" + "${CLIENT_BASE_DIR}/functionproxy.h" + "${CLIENT_BASE_DIR}/fx.h" + "${CLIENT_BASE_DIR}/fx_blood.h" + "${CLIENT_BASE_DIR}/fx_discreetline.h" + "${CLIENT_BASE_DIR}/fx_envelope.h" + "${CLIENT_BASE_DIR}/fx_explosion.h" + "${CLIENT_BASE_DIR}/fx_fleck.h" + "${CLIENT_BASE_DIR}/fx_impact.h" + "${CLIENT_BASE_DIR}/fx_interpvalue.h" + "${CLIENT_BASE_DIR}/fx_line.h" + "${CLIENT_BASE_DIR}/fx_quad.h" + "${CLIENT_BASE_DIR}/fx_sparks.h" + "${CLIENT_BASE_DIR}/fx_staticline.h" + "${CLIENT_BASE_DIR}/fx_trail.h" + "${CLIENT_BASE_DIR}/fx_water.h" + "${SRCDIR}/game/shared/GameEventListener.h" + "${CLIENT_BASE_DIR}/glow_outline_effect.h" + "${CLIENT_BASE_DIR}/glow_overlay.h" + "${SRCDIR}/game/shared/hintmessage.h" + "${SRCDIR}/game/shared/hintsystem.h" + "${CLIENT_BASE_DIR}/history_resource.h" + "${CLIENT_BASE_DIR}/hltvcamera.h" + "${CLIENT_BASE_DIR}/hud.h" + "${CLIENT_BASE_DIR}/hud_basechat.h" + "${CLIENT_BASE_DIR}/hud_basetimer.h" + "${CLIENT_BASE_DIR}/hud_bitmapnumericdisplay.h" + "${CLIENT_BASE_DIR}/hud_chat.h" + "${CLIENT_BASE_DIR}/hud_closecaption.h" + "${CLIENT_BASE_DIR}/hud_crosshair.h" + "${CLIENT_BASE_DIR}/hud_element_helper.h" + "${CLIENT_BASE_DIR}/hud_lcd.h" + "${CLIENT_BASE_DIR}/hud_macros.h" + "${CLIENT_BASE_DIR}/hud_numericdisplay.h" + "${CLIENT_BASE_DIR}/hud_pdump.h" + "${CLIENT_BASE_DIR}/basepresence.h" + "${CLIENT_BASE_DIR}/hud_vehicle.h" + "${CLIENT_BASE_DIR}/hudelement.h" + "${CLIENT_BASE_DIR}/hudtexturehandle.h" + "${CLIENT_BASE_DIR}/iclassmap.h" + "${CLIENT_BASE_DIR}/icliententityinternal.h" + "${CLIENT_BASE_DIR}/iclientmode.h" + "${CLIENT_BASE_DIR}/iclientshadowmgr.h" + "${CLIENT_BASE_DIR}/iclientvehicle.h" + "${CLIENT_BASE_DIR}/iconsole.h" + "${CLIENT_BASE_DIR}/idebugoverlaypanel.h" + "${CLIENT_BASE_DIR}/ifpspanel.h" + "${SRCDIR}/game/shared/econ/ihasowner.h" + "${CLIENT_BASE_DIR}/ihudlcd.h" + "${CLIENT_BASE_DIR}/ipresence.h" + "${CLIENT_BASE_DIR}/iinput.h" + "${CLIENT_BASE_DIR}/iloadingdisc.h" + "${CLIENT_BASE_DIR}/imessagechars.h" + "${CLIENT_BASE_DIR}/in_main.h" + "${CLIENT_BASE_DIR}/inetgraphpanel.h" + "${CLIENT_BASE_DIR}/initializer.h" + "${CLIENT_BASE_DIR}/input.h" + "${CLIENT_BASE_DIR}/interpolatedvar.h" + "${CLIENT_BASE_DIR}/iprofiling.h" + "${CLIENT_BASE_DIR}/itextmessage.h" + "${CLIENT_BASE_DIR}/ivieweffects.h" + "${CLIENT_BASE_DIR}/iviewrender.h" + "${CLIENT_BASE_DIR}/iviewrender_beams.h" + "${CLIENT_BASE_DIR}/ivmodemanager.h" + "${CLIENT_BASE_DIR}/kbutton.h" + "${SRCDIR}/common/language.h" + "${CLIENT_BASE_DIR}/lerp_functions.h" + "${CLIENT_BASE_DIR}/menu.h" + "${CLIENT_BASE_DIR}/movehelper_client.h" + "${CLIENT_BASE_DIR}/mumble.h" + "${CLIENT_BASE_DIR}/networkstringtable_clientdll.h" + "${CLIENT_BASE_DIR}/panelmetaclassmgr.h" + "${CLIENT_BASE_DIR}/particle_collision.h" + "${CLIENT_BASE_DIR}/particle_iterators.h" + "${CLIENT_BASE_DIR}/particle_litsmokeemitter.h" + "${CLIENT_BASE_DIR}/particle_prototype.h" + "${CLIENT_BASE_DIR}/particle_simple3d.h" + "${CLIENT_BASE_DIR}/particle_util.h" + "${CLIENT_BASE_DIR}/particledraw.h" + "${CLIENT_BASE_DIR}/particlemgr.h" + "${CLIENT_BASE_DIR}/particles_attractor.h" + "${CLIENT_BASE_DIR}/particles_ez.h" + "${CLIENT_BASE_DIR}/particles_localspace.h" + "${CLIENT_BASE_DIR}/particles_new.h" + "${CLIENT_BASE_DIR}/particles_simple.h" + "${CLIENT_BASE_DIR}/particlesphererenderer.h" + "${CLIENT_BASE_DIR}/perfvisualbenchmark.h" + "${CLIENT_BASE_DIR}/physics.h" + "${CLIENT_BASE_DIR}/physpropclientside.h" + "${CLIENT_BASE_DIR}/playerandobjectenumerator.h" + "${CLIENT_BASE_DIR}/playerenumerator.h" + "${CLIENT_BASE_DIR}/playerspawncache.h" + "${CLIENT_BASE_DIR}/prediction.h" + "${CLIENT_BASE_DIR}/prediction_private.h" + "${CLIENT_BASE_DIR}/proxyentity.h" + "${CLIENT_BASE_DIR}/ragdoll.h" + "${CLIENT_BASE_DIR}/ragdollexplosionenumerator.h" + "${CLIENT_BASE_DIR}/recvproxy.h" + "${CLIENT_BASE_DIR}/rendertexture.h" + "${CLIENT_BASE_DIR}/ScreenSpaceEffects.h" + "${CLIENT_BASE_DIR}/simple_keys.h" + "${CLIENT_BASE_DIR}/smoke_fog_overlay.h" + "${CLIENT_BASE_DIR}/splinepatch.h" + "${SRCDIR}/public/steam/steam_api.h" + "${CLIENT_BASE_DIR}/TeamBitmapImage.h" + "${CLIENT_BASE_DIR}/tempent.h" + "${CLIENT_BASE_DIR}/text_message.h" + "${CLIENT_BASE_DIR}/timedevent.h" + "${CLIENT_BASE_DIR}/toggletextureproxy.h" + "${CLIENT_BASE_DIR}/vgui_basepanel.h" + "${CLIENT_BASE_DIR}/vgui_bitmapbutton.h" + "${CLIENT_BASE_DIR}/vgui_bitmapimage.h" + "${CLIENT_BASE_DIR}/vgui_bitmappanel.h" + "${CLIENT_BASE_DIR}/vgui_schemevisualizer.h" + "${CLIENT_BASE_DIR}/vgui_entityimagepanel.h" + "${CLIENT_BASE_DIR}/vgui_entitypanel.h" + "${CLIENT_BASE_DIR}/vgui_grid.h" + "${CLIENT_BASE_DIR}/vgui_helpers.h" + "${CLIENT_BASE_DIR}/vgui_imagehealthpanel.h" + "${CLIENT_BASE_DIR}/vgui_int.h" + "${CLIENT_BASE_DIR}/vguicenterprint.h" + "${CLIENT_BASE_DIR}/view.h" + "${CLIENT_BASE_DIR}/view_scene.h" + "${CLIENT_BASE_DIR}/viewangleanim.h" + "${CLIENT_BASE_DIR}/ViewConeImage.h" + "${CLIENT_BASE_DIR}/viewrender.h" + "${CLIENT_BASE_DIR}/weapon_selection.h" + "${CLIENT_BASE_DIR}/weapons_resource.h" + "${CLIENT_BASE_DIR}/vgui_video.h" + "${CLIENT_BASE_DIR}/vgui_video_player.h" + + # Public Header Files + "${SRCDIR}/public/mathlib/amd3dx.h" + "${SRCDIR}/public/vgui_controls/AnimationController.h" + "${SRCDIR}/public/basehandle.h" + "${SRCDIR}/public/tier0/basetypes.h" + "${SRCDIR}/public/tier1/bitbuf.h" + "${SRCDIR}/public/bitvec.h" + "${SRCDIR}/public/bone_accessor.h" + "${SRCDIR}/public/bone_setup.h" + "${SRCDIR}/public/bspfile.h" + "${SRCDIR}/public/bspflags.h" + "${SRCDIR}/public/bsptreedata.h" + "${SRCDIR}/public/mathlib/bumpvects.h" + "${SRCDIR}/public/vgui_controls/Button.h" + "${SRCDIR}/public/cdll_int.h" + "${SRCDIR}/public/tier1/characterset.h" + "${SRCDIR}/public/tier1/checksum_md5.h" + "${SRCDIR}/public/client_class.h" + "${SRCDIR}/public/client_render_handle.h" + "${SRCDIR}/public/client_textmessage.h" + "${SRCDIR}/public/clientstats.h" + "${SRCDIR}/public/cmodel.h" + "${SRCDIR}/public/vphysics/collision_set.h" + "${SRCDIR}/public/collisionutils.h" + "${SRCDIR}/public/Color.h" + "${SRCDIR}/public/vgui_controls/ComboBox.h" + "${SRCDIR}/public/tier0/commonmacros.h" + "${SRCDIR}/public/mathlib/compressed_light_cube.h" + "${SRCDIR}/public/mathlib/compressed_vector.h" + "${SRCDIR}/public/con_nprint.h" + "${SRCDIR}/public/const.h" + "${SRCDIR}/public/vphysics/constraints.h" + "${SRCDIR}/public/vgui_controls/Controls.h" + "${SRCDIR}/public/tier1/convar.h" + "${SRCDIR}/public/coordsize.h" + "${SRCDIR}/public/crtmemdebug.h" + "${SRCDIR}/public/vgui/Cursor.h" + "${SRCDIR}/public/vgui/Dar.h" + "${SRCDIR}/public/datamap.h" + "${SRCDIR}/public/tier0/dbg.h" + "${SRCDIR}/public/dlight.h" + "${SRCDIR}/public/dt_common.h" + "${SRCDIR}/public/dt_recv.h" + "${SRCDIR}/public/dt_send.h" + "${SRCDIR}/public/dt_utlvector_common.h" + "${SRCDIR}/public/dt_utlvector_recv.h" + "${SRCDIR}/public/edict.h" + "${SRCDIR}/public/vgui_controls/EditablePanel.h" + "${SRCDIR}/public/tier0/fasttimer.h" + "${SRCDIR}/public/filesystem.h" + "${SRCDIR}/public/filesystem_helpers.h" + "${SRCDIR}/public/tier1/fmtstr.h" + "${SRCDIR}/public/vgui_controls/FocusNavGroup.h" + "${SRCDIR}/public/vphysics/friction.h" + "${SRCDIR}/public/gamebspfile.h" + "${SRCDIR}/public/gametrace.h" + "${SRCDIR}/public/globalvars_base.h" + "${SRCDIR}/public/vgui_controls/HTML.h" + "${SRCDIR}/public/iachievementmgr.h" + "${SRCDIR}/public/appframework/IAppSystem.h" + "${SRCDIR}/public/icliententity.h" + "${SRCDIR}/public/icliententitylist.h" + "${SRCDIR}/public/engine/IClientLeafSystem.h" + "${SRCDIR}/public/iclientnetworkable.h" + "${SRCDIR}/public/vgui/IClientPanel.h" + "${SRCDIR}/public/iclientrenderable.h" + "${SRCDIR}/public/game/client/iclientrendertargets.h" + "${SRCDIR}/public/iclientthinkable.h" + "${SRCDIR}/public/iclientunknown.h" + "${SRCDIR}/public/engine/ICollideable.h" + "${SRCDIR}/public/tier0/icommandline.h" + "${SRCDIR}/public/icvar.h" + "${SRCDIR}/public/iefx.h" + "${SRCDIR}/public/engine/IEngineSound.h" + "${SRCDIR}/public/engine/IEngineTrace.h" + "${SRCDIR}/public/ienginevgui.h" + "${SRCDIR}/public/igameevents.h" + "${SRCDIR}/public/igameresources.h" + "${SRCDIR}/public/IGameUIFuncs.h" + "${SRCDIR}/public/ihandleentity.h" + "${SRCDIR}/public/vgui/IHTML.h" + "${SRCDIR}/public/vgui/IImage.h" + "${SRCDIR}/public/vgui/IInput.h" + "${SRCDIR}/public/vgui/IInputInternal.h" + "${SRCDIR}/public/vstdlib/IKeyValuesSystem.h" + "${SRCDIR}/public/vgui/ILocalize.h" + "${SRCDIR}/public/vgui_controls/Image.h" + "${SRCDIR}/public/vgui_controls/ImageList.h" + "${SRCDIR}/public/vgui_controls/ImagePanel.h" + "${SRCDIR}/public/imapoverview.h" + "${SRCDIR}/public/materialsystem/imaterial.h" + "${SRCDIR}/public/materialsystem/imaterialproxy.h" + "${SRCDIR}/public/materialsystem/imaterialsystem.h" + "${SRCDIR}/public/materialsystem/imaterialsystemhardwareconfig.h" + "${SRCDIR}/public/materialsystem/imaterialsystemstub.h" + "${SRCDIR}/public/materialsystem/imaterialvar.h" + "${SRCDIR}/public/VGuiMatSurface/IMatSystemSurface.h" + "${SRCDIR}/public/materialsystem/imesh.h" + "${SRCDIR}/public/inetchannelinfo.h" + "${SRCDIR}/public/tier1/interface.h" + "${SRCDIR}/public/interpolatortypes.h" + "${SRCDIR}/public/vgui/IPanel.h" + "${SRCDIR}/public/iprediction.h" + "${SRCDIR}/public/irecipientfilter.h" + "${SRCDIR}/public/isaverestore.h" + "${SRCDIR}/public/vgui/IScheme.h" + "${SRCDIR}/public/iscratchpad3d.h" + "${SRCDIR}/public/iserverentity.h" + "${SRCDIR}/public/iservernetworkable.h" + "${SRCDIR}/public/iserverunknown.h" + "${SRCDIR}/public/engine/ishadowmgr.h" + "${SRCDIR}/public/SoundEmitterSystem/isoundemittersystembase.h" + "${SRCDIR}/public/ispatialpartition.h" + "${SRCDIR}/public/engine/IStaticPropMgr.h" + "${SRCDIR}/public/istudiorender.h" + "${SRCDIR}/public/vgui/ISurface.h" + "${SRCDIR}/public/vgui/ISystem.h" + "${SRCDIR}/public/materialsystem/itexture.h" + "${SRCDIR}/public/engine/ivdebugoverlay.h" + "${SRCDIR}/public/vgui/IVGui.h" + "${SRCDIR}/public/ivguicenterprint.h" + "${SRCDIR}/public/game/client/iviewport.h" + "${SRCDIR}/public/engine/ivmodelinfo.h" + "${SRCDIR}/public/engine/ivmodelrender.h" + "${SRCDIR}/public/ivrenderview.h" + "${SRCDIR}/public/jigglebones.h" + "${SRCDIR}/public/vgui/KeyCode.h" + "${SRCDIR}/public/tier1/KeyValues.h" + "${SRCDIR}/public/tier0/l2cache.h" + "${SRCDIR}/public/vgui_controls/Label.h" + "${SRCDIR}/public/vgui_controls/ListPanel.h" + "${SRCDIR}/public/mathlib/mathlib.h" + "${SRCDIR}/public/tier0/mem.h" + "${SRCDIR}/public/tier0/memalloc.h" + "${SRCDIR}/public/tier0/memdbgoff.h" + "${SRCDIR}/public/tier0/memdbgon.h" + "${SRCDIR}/public/tier1/mempool.h" + "${SRCDIR}/public/vgui_controls/Menu.h" + "${SRCDIR}/public/vgui_controls/MenuItem.h" + "${SRCDIR}/public/vgui_controls/MessageMap.h" + "${SRCDIR}/public/model_types.h" + "${SRCDIR}/public/vgui/MouseCode.h" + "${SRCDIR}/public/mouthinfo.h" + "${SRCDIR}/public/networkstringtabledefs.h" + "${SRCDIR}/public/networkvar.h" + "${SRCDIR}/public/vphysics/object_hash.h" + "${SRCDIR}/public/overlaytext.h" + "${SRCDIR}/public/vgui_controls/Panel.h" + "${SRCDIR}/public/vgui_controls/PanelAnimationVar.h" + "${SRCDIR}/public/vgui_controls/PanelListPanel.h" + "${SRCDIR}/public/vgui_controls/PHandle.h" + "${SRCDIR}/public/pixelwriter.h" + "${SRCDIR}/public/tier0/platform.h" + "${SRCDIR}/public/PlayerState.h" + "${SRCDIR}/public/tier1/processor_detect.h" + "${SRCDIR}/public/tier0/protected_things.h" + "${SRCDIR}/public/mathlib/polyhedron.h" + "${SRCDIR}/public/r_efx.h" + "${SRCDIR}/public/vstdlib/random.h" + "${SRCDIR}/public/tier1/rangecheckedvar.h" + "${SRCDIR}/public/renamed_recvtable_compat.h" + "${SRCDIR}/public/vgui_controls/RichText.h" + "${SRCDIR}/public/rope_physics.h" + "${SRCDIR}/public/rope_shared.h" + "${SRCDIR}/public/saverestoretypes.h" + "${SRCDIR}/public/scratchpad3d.h" + "${SRCDIR}/public/ScratchPadUtils.h" + "${SRCDIR}/public/vgui_controls/ScrollBar.h" + "${SRCDIR}/public/vgui_controls/SectionedListPanel.h" + "${SRCDIR}/public/sentence.h" + "${SRCDIR}/public/server_class.h" + "${SRCDIR}/public/shake.h" + "${SRCDIR}/public/shattersurfacetypes.h" + "${SRCDIR}/public/simple_physics.h" + "${SRCDIR}/public/tier1/smartptr.h" + "${SRCDIR}/public/soundchars.h" + "${SRCDIR}/public/soundflags.h" + "${SRCDIR}/public/soundinfo.h" + "${SRCDIR}/public/string_t.h" + "${SRCDIR}/public/tier1/stringpool.h" + "${SRCDIR}/public/stringregistry.h" + "${SRCDIR}/public/tier1/strtools.h" + "${SRCDIR}/public/studio.h" + "${SRCDIR}/public/surfinfo.h" + "${SRCDIR}/public/vgui_controls/TextEntry.h" + "${SRCDIR}/public/vgui_controls/TextImage.h" + "${SRCDIR}/public/texture_group_names.h" + "${SRCDIR}/public/vgui_controls/TreeView.h" + "${SRCDIR}/public/tier1/utlbidirectionalset.h" + "${SRCDIR}/public/tier1/utlbuffer.h" + "${SRCDIR}/public/tier1/utldict.h" + "${SRCDIR}/public/tier1/utlfixedmemory.h" + "${SRCDIR}/public/tier1/utlhash.h" + "${SRCDIR}/public/tier1/utllinkedlist.h" + "${SRCDIR}/public/tier1/utlmap.h" + "${SRCDIR}/public/tier1/utlmemory.h" + "${SRCDIR}/public/tier1/utlmultilist.h" + "${SRCDIR}/public/tier1/utlpriorityqueue.h" + "${SRCDIR}/public/tier1/utlqueue.h" + "${SRCDIR}/public/tier1/utlrbtree.h" + "${SRCDIR}/public/tier1/utlstack.h" + "${SRCDIR}/public/tier1/utlsymbol.h" + "${SRCDIR}/public/tier1/utlvector.h" + "${SRCDIR}/public/vallocator.h" + "${SRCDIR}/public/vcollide.h" + "${SRCDIR}/public/vcollide_parse.h" + "${SRCDIR}/public/mathlib/vector.h" + "${SRCDIR}/public/mathlib/vector2d.h" + "${SRCDIR}/public/mathlib/vector4d.h" + "${SRCDIR}/public/vgui/VGUI.h" + "${SRCDIR}/public/view_shared.h" + "${SRCDIR}/public/mathlib/vmatrix.h" + "${SRCDIR}/public/vphysics_interface.h" + "${SRCDIR}/public/mathlib/vplane.h" + "${SRCDIR}/public/tier0/vprof.h" + "${SRCDIR}/public/vstdlib/vstdlib.h" + "${SRCDIR}/public/vtf/vtf.h" + "${SRCDIR}/public/vgui_controls/WizardPanel.h" + "${SRCDIR}/public/vgui_controls/WizardSubPanel.h" + "${SRCDIR}/public/worldsize.h" + "${SRCDIR}/public/zip_uncompressed.h" + + # Haptics + "$<${IS_WINDOWS}:${SRCDIR}/public/haptics/ihaptics.h>" + "$<${IS_WINDOWS}:${SRCDIR}/public/haptics/haptic_utils.h>" + + # Game Shared Header Files + "${SRCDIR}/game/shared/activitylist.h" + "${SRCDIR}/game/shared/ai_activity.h" + "${SRCDIR}/game/shared/ai_debug_shared.h" + "${SRCDIR}/game/shared/ammodef.h" + "${SRCDIR}/game/shared/animation.h" + "${SRCDIR}/game/shared/apparent_velocity_helper.h" + "${SRCDIR}/game/shared/base_playeranimstate.h" + "${SRCDIR}/game/shared/baseentity_shared.h" + "${SRCDIR}/game/shared/basegrenade_shared.h" + "${SRCDIR}/game/shared/hl2/basehlcombatweapon_shared.h" + "${SRCDIR}/game/shared/baseparticleentity.h" + "${SRCDIR}/game/shared/baseplayer_shared.h" + "${SRCDIR}/game/shared/baseviewmodel_shared.h" + "${SRCDIR}/game/shared/beam_flags.h" + "${SRCDIR}/game/shared/beam_shared.h" + "${SRCDIR}/game/shared/choreoactor.h" + "${SRCDIR}/game/shared/choreochannel.h" + "${SRCDIR}/game/shared/choreoevent.h" + "${SRCDIR}/game/shared/choreoscene.h" + "${SRCDIR}/game/shared/collisionproperty.h" + "${SRCDIR}/game/shared/death_pose.h" + "${SRCDIR}/game/shared/decals.h" + "${SRCDIR}/game/shared/effect_color_tables.h" + "${SRCDIR}/game/shared/effect_dispatch_data.h" + "${SRCDIR}/game/shared/ehandle.h" + "${SRCDIR}/game/shared/entitydatainstantiator.h" + "${SRCDIR}/game/shared/entitylist_base.h" + "${SRCDIR}/game/shared/entityparticletrail_shared.h" + "${SRCDIR}/game/shared/env_detail_controller.h" + "${SRCDIR}/game/shared/env_wind_shared.h" + "${SRCDIR}/game/shared/eventlist.h" + "${SRCDIR}/game/shared/func_dust_shared.h" + "${SRCDIR}/game/shared/func_ladder.h" + "${SRCDIR}/game/shared/gameeventdefs.h" + "${SRCDIR}/game/shared/gamemovement.h" + "${SRCDIR}/game/shared/gamerules.h" + "${SRCDIR}/game/shared/gamerules_register.h" + "${SRCDIR}/game/shared/gamestats.h" + "${SRCDIR}/game/shared/gamestringpool.h" + "${SRCDIR}/game/shared/gamevars_shared.h" + "${SRCDIR}/game/shared/groundlink.h" + "${SRCDIR}/game/shared/hl2/hl2_player_shared.h" + "${SRCDIR}/game/shared/hl2/hl_movedata.h" + "${SRCDIR}/game/shared/ichoreoeventcallback.h" + "${SRCDIR}/game/shared/IEffects.h" + "${SRCDIR}/game/shared/igamemovement.h" + "${SRCDIR}/game/shared/igamesystem.h" + "${SRCDIR}/game/shared/imovehelper.h" + "${SRCDIR}/game/shared/in_buttons.h" + "${SRCDIR}/game/shared/interval.h" + "${SRCDIR}/game/shared/iplayeranimstate.h" + "${SRCDIR}/game/shared/ipredictionsystem.h" + "${SRCDIR}/game/shared/itempents.h" + "${SRCDIR}/game/shared/IVehicle.h" + "${SRCDIR}/game/shared/mapdata_shared.h" + "${SRCDIR}/game/shared/mapentities_shared.h" + "${SRCDIR}/game/shared/movevars_shared.h" + "${SRCDIR}/game/shared/multiplay_gamerules.h" + "${SRCDIR}/game/shared/npcevent.h" + "${SRCDIR}/game/shared/obstacle_pushaway.h" + "${SRCDIR}/game/shared/physics_saverestore.h" + "${SRCDIR}/game/shared/physics_shared.h" + "${SRCDIR}/game/shared/playernet_vars.h" + "${SRCDIR}/game/shared/point_posecontroller.h" + "${SRCDIR}/game/shared/positionwatcher.h" + "${SRCDIR}/game/shared/precache_register.h" + "${SRCDIR}/game/shared/precipitation_shared.h" + "${SRCDIR}/game/shared/predictable_entity.h" + "${SRCDIR}/game/shared/predictableid.h" + "${SRCDIR}/game/shared/predictioncopy.h" + "${SRCDIR}/game/shared/ragdoll_shared.h" + "${SRCDIR}/game/shared/rope_helpers.h" + "${SRCDIR}/game/shared/saverestore.h" + "${SRCDIR}/game/shared/saverestore_bitstring.h" + "${SRCDIR}/game/shared/saverestore_utlclass.h" + "${SRCDIR}/game/shared/saverestore_utlsymbol.h" + "${SRCDIR}/game/shared/saverestore_utlvector.h" + "${SRCDIR}/game/shared/sceneentity_shared.h" + "${SRCDIR}/game/shared/scriptevent.h" + "${SRCDIR}/game/shared/sequence_Transitioner.h" + "${SRCDIR}/game/shared/shared_classnames.h" + "${SRCDIR}/game/shared/shareddefs.h" + "${SRCDIR}/game/shared/sharedInterface.h" + "${SRCDIR}/game/shared/sheetsimulator.h" + "${SRCDIR}/game/shared/shot_manipulator.h" + "${SRCDIR}/game/shared/simtimer.h" + "${SRCDIR}/game/shared/singleplay_gamerules.h" + "${SRCDIR}/game/shared/smoke_fog_overlay_shared.h" + "${SRCDIR}/game/shared/solidsetdefaults.h" + "${SRCDIR}/game/shared/soundenvelope.h" + "${SRCDIR}/game/shared/Sprite.h" + "${SRCDIR}/game/shared/SpriteTrail.h" + "${SRCDIR}/game/shared/sun_shared.h" + "${SRCDIR}/game/shared/takedamageinfo.h" + "${SRCDIR}/game/shared/teamplay_gamerules.h" + "${SRCDIR}/game/shared/teamplayroundbased_gamerules.h" + "${SRCDIR}/game/shared/tempentity.h" + "${SRCDIR}/game/shared/touchlink.h" + "${SRCDIR}/game/shared/usercmd.h" + "${SRCDIR}/game/shared/usermessages.h" + "${SRCDIR}/game/shared/util_shared.h" + "${SRCDIR}/game/shared/vehicle_choreo_generic_shared.h" + "${SRCDIR}/game/shared/vehicle_viewblend_shared.h" + "${SRCDIR}/game/shared/vgui_defaultinputsignal.h" + "${SRCDIR}/game/shared/viewport_panel_names.h" + "${SRCDIR}/game/shared/voice_banmgr.h" + "${SRCDIR}/game/shared/voice_common.h" + "${SRCDIR}/game/shared/voice_gamemgr.h" + "${SRCDIR}/game/shared/voice_status.h" + "${SRCDIR}/game/shared/vphysics_sound.h" + "${SRCDIR}/game/shared/weapon_parse.h" + "${SRCDIR}/game/shared/weapon_proficiency.h" + "${SRCDIR}/game/shared/weapon_ifmsteadycam.h" + "${SRCDIR}/game/shared/mp_shareddefs.h" + + # game_controls Header Files + "${CLIENT_BASE_DIR}/game_controls/baseviewport.h" + "${CLIENT_BASE_DIR}/game_controls/clientscoreboarddialog.h" + "${CLIENT_BASE_DIR}/game_controls/commandmenu.h" + "${CLIENT_BASE_DIR}/game_controls/imagemouseoverbutton.h" + "${CLIENT_BASE_DIR}/game_controls/intromenu.h" + "${CLIENT_BASE_DIR}/game_controls/mapoverview.h" + "${CLIENT_BASE_DIR}/game_controls/mouseoverhtmlbutton.h" + "${CLIENT_BASE_DIR}/game_controls/mouseoverpanelbutton.h" + "${CLIENT_BASE_DIR}/game_controls/spectatorgui.h" + "${CLIENT_BASE_DIR}/game_controls/teammenu.h" + "${CLIENT_BASE_DIR}/game_controls/vguitextwindow.h" + "${CLIENT_BASE_DIR}/game_controls/IconPanel.h" +) + +set_source_files_properties( + "${CLIENT_BASE_DIR}/youtubeapi.cpp" + "${SRCDIR}/common/movieobjects/timeutils.cpp" + "${SRCDIR}/public/bone_setup.cpp" + "${SRCDIR}/public/posedebugger.cpp" + "${SRCDIR}/public/client_class.cpp" + "${SRCDIR}/common/compiledcaptionswap.cpp" + "${SRCDIR}/public/collisionutils.cpp" + "${SRCDIR}/public/crtmemdebug.cpp" + "${SRCDIR}/public/dt_recv.cpp" + "${SRCDIR}/public/dt_utlvector_common.cpp" + "${SRCDIR}/public/dt_utlvector_recv.cpp" + "${SRCDIR}/public/filesystem_helpers.cpp" + "${SRCDIR}/public/interpolatortypes.cpp" + "${SRCDIR}/game/shared/interval.cpp" + "${SRCDIR}/common/language.cpp" + "${SRCDIR}/public/networkvar.cpp" + "${SRCDIR}/common/randoverride.cpp" + "${SRCDIR}/public/rope_physics.cpp" + "${SRCDIR}/public/scratchpad3d.cpp" + "${SRCDIR}/public/ScratchPadUtils.cpp" + "${SRCDIR}/public/sentence.cpp" + "${SRCDIR}/game/shared/sheetsimulator.cpp" + "${SRCDIR}/public/simple_physics.cpp" + "${SRCDIR}/public/stringregistry.cpp" + "${SRCDIR}/public/studio.cpp" + "${SRCDIR}/public/vallocator.cpp" + "${SRCDIR}/public/vgui_controls/vgui_controls.cpp" + "${SRCDIR}/public/jigglebones.cpp" + "${CLIENT_BASE_DIR}/hud_lcd.cpp" + "${CLIENT_BASE_DIR}/in_mouse.cpp" + "${CLIENT_BASE_DIR}/mumble.cpp" + "${SRCDIR}/public/renamed_recvtable_compat.cpp" + "${CLIENT_BASE_DIR}/rendertexture.cpp" + PROPERTIES SKIP_PRECOMPILE_HEADERS ON +) + +function(target_use_client_base target EXCLUDE_SOURCES) + set(USED_SOURCES ${CLIENT_BASE_SOURCE_FILES}) + + if (${EXCLUDE_SOURCES}) + list(REMOVE_ITEM USED_SOURCES ${${EXCLUDE_SOURCES}}) + endif() + + target_sources( + ${target} PRIVATE + ${USED_SOURCES} + ) + + target_include_directories( + ${target} PRIVATE + "${CLIENT_BASE_DIR}" + "${SRCDIR}/vgui2/include" + "${SRCDIR}/vgui2/controls" + "${SRCDIR}/game/shared" + "${CLIENT_BASE_DIR}/game_controls" + "${SRCDIR}/thirdparty/sixensesdk/include" + ) + + target_compile_definitions( + ${target} PRIVATE + NO_STRING_T + CLIENT_DLL + VECTOR + VERSION_SAFE_STEAM_API_INTERFACES + PROTECTED_THINGS_ENABLE + strncpy=use_Q_strncpy_instead + _snprintf=use_Q_snprintf_instead + ENABLE_CHROMEHTMLWINDOW + $<${IS_WINDOWS}:fopen=dont_use_fopen> + $<${IS_LINUX}:USE_WEBM_FOR_REPLAY> + $<$:CURL_STATICLIB> + ) + + target_precompile_headers( + ${target} PRIVATE + "${CLIENT_BASE_DIR}/cbase.h" + ) + + # (Originally from client_base.vpc) + # FIXME: VS2022 + # particles.lib defines _hypot, and in VS2022, so does libucrt! + # Ideally, we'd just fix particles.lib, but I'm not sure how yet + if ( MSVC ) + target_link_options( + ${target} PRIVATE + /FORCE:MULTIPLE + ) + endif() + + target_link_libraries( + ${target} PRIVATE + + "$<${IS_OSX}:-framework Carbon>" + $<${IS_LINUX}:rt> + $<${IS_WINDOWS}:winmm> + "$<$:wsock32;Ws2_32>" + "${LIBPUBLIC}/particles${STATIC_LIB_EXT}" + + "${LIBPUBLIC}/bitmap${STATIC_LIB_EXT}" + "${LIBPUBLIC}/choreoobjects${STATIC_LIB_EXT}" + "${LIBPUBLIC}/dmxloader${STATIC_LIB_EXT}" + mathlib + "${LIBPUBLIC}/matsys_controls${STATIC_LIB_EXT}" + tier1 + "${LIBPUBLIC}/tier2${STATIC_LIB_EXT}" + "${LIBPUBLIC}/tier3${STATIC_LIB_EXT}" + vgui_controls + "${LIBPUBLIC}/vtf${STATIC_LIB_EXT}" + steam_api + + #"$<${IS_POSIX}:${LIBCOMMON}/libcrypto${STATIC_LIB_EXT}>" + + #"$<${IS_OSX}:${LIBCOMMON}/curl${STATIC_LIB_EXT}>" + + #"$<${IS_WINDOWS}:${LIBCOMMON}/libcurl${STATIC_LIB_EXT}>" + "$<$:${LIBPUBLIC}/libz${STATIC_LIB_EXT}>" + + #"$<${IS_LINUX}:${LIBCOMMON}/libcurl${STATIC_LIB_EXT}>" + #"$<${IS_LINUX}:${LIBCOMMON}/libcurlssl${STATIC_LIB_EXT}>" + + #"$<${IS_LINUX}:${LIBCOMMON}/libssl${STATIC_LIB_EXT}>" + + ) +endfunction() \ No newline at end of file diff --git a/sp/src/game/client/client_episodic.cmake b/sp/src/game/client/client_episodic.cmake new file mode 100644 index 00000000000..cd942007c6f --- /dev/null +++ b/sp/src/game/client/client_episodic.cmake @@ -0,0 +1,143 @@ +# client_episodic.cmake + +include("${CMAKE_CURRENT_LIST_DIR}/client_base.cmake") + +set(CLIENT_EPISODIC_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + CLIENT_EPISODIC_SOURCE_FILES + + "${CLIENT_EPISODIC_DIR}/hud_chat.cpp" + "${CLIENT_EPISODIC_DIR}/c_team_objectiveresource.cpp" + "${CLIENT_EPISODIC_DIR}/c_team_objectiveresource.h" + + # HL2 DLL + "${SRCDIR}/game/shared/hl2/basehlcombatweapon_shared.cpp" + "${SRCDIR}/game/shared/episodic/achievements_ep1.cpp" + "${SRCDIR}/game/shared/episodic/achievements_ep2.cpp" + "${SRCDIR}/game/shared/episodic/achievements_epx.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_antlion_dust.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_ar2_explosion.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_barnacle.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_barney.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_basehelicopter.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_basehelicopter.h" + "${CLIENT_EPISODIC_DIR}/hl2/c_basehlcombatweapon.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_basehlcombatweapon.h" + "${CLIENT_EPISODIC_DIR}/hl2/c_basehlplayer.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_basehlplayer.h" + "${CLIENT_EPISODIC_DIR}/hl2/c_citadel_effects.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_corpse.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_corpse.h" + "${CLIENT_EPISODIC_DIR}/hl2/c_env_alyxtemp.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_env_headcrabcanister.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_env_starfield.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_func_tankmortar.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_hl2_playerlocaldata.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_hl2_playerlocaldata.h" + "${CLIENT_EPISODIC_DIR}/hl2/c_info_teleporter_countdown.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_npc_antlionguard.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_npc_combinegunship.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_npc_manhack.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_npc_rollermine.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_plasma_beam_node.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_prop_combine_ball.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_prop_combine_ball.h" + "${CLIENT_EPISODIC_DIR}/episodic/c_prop_scalable.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_rotorwash.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_script_intro.cpp" + "${SRCDIR}/game/shared/script_intro_shared.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_strider.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_te_concussiveexplosion.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_te_flare.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_thumper_dust.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_vehicle_airboat.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_vehicle_cannon.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_vehicle_crane.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_vehicle_crane.h" + "${CLIENT_EPISODIC_DIR}/episodic/c_vehicle_jeep_episodic.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_vehicle_prisoner_pod.cpp" + "${CLIENT_EPISODIC_DIR}/episodic/c_vort_charge_token.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_weapon__stubs_hl2.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_weapon_crossbow.cpp" + "${CLIENT_EPISODIC_DIR}/episodic/c_weapon_hopwire.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_weapon_physcannon.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/c_weapon_stunstick.cpp" + "${SRCDIR}/game/shared/hl2/citadel_effects_shared.h" + "${CLIENT_EPISODIC_DIR}/hl2/clientmode_hlnormal.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/clientmode_hlnormal.h" + "${CLIENT_EPISODIC_DIR}/death.cpp" + "${SRCDIR}/game/shared/hl2/env_headcrabcanister_shared.cpp" + "${SRCDIR}/game/shared/hl2/env_headcrabcanister_shared.h" + "${SRCDIR}/game/shared/episodic/npc_advisor_shared.h" + "${CLIENT_EPISODIC_DIR}/episodic/c_npc_advisor.cpp" + "${CLIENT_EPISODIC_DIR}/episodic/episodic_screenspaceeffects.cpp" + "${CLIENT_EPISODIC_DIR}/episodic/episodic_screenspaceeffects.h" + "${CLIENT_EPISODIC_DIR}/episodic/flesh_internal_material_proxy.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/fx_antlion.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/fx_bugbait.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/fx_hl2_impacts.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/fx_hl2_tracers.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/hl2_clientmode.cpp" + "${SRCDIR}/game/shared/hl2/hl2_gamerules.cpp" + "${SRCDIR}/game/shared/hl2/hl2_gamerules.h" + "${SRCDIR}/game/shared/hl2/hl2_shareddefs.h" + "${SRCDIR}/game/shared/hl2/hl2_usermessages.cpp" + "${SRCDIR}/game/shared/hl2/hl_gamemovement.cpp" + "${SRCDIR}/game/shared/hl2/hl_gamemovement.h" + "${CLIENT_EPISODIC_DIR}/hl2/hl_in_main.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/hl_prediction.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/hud_ammo.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/hud_battery.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/hud_blood.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/hud_credits.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/hud_damageindicator.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/hud_flashlight.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/hud_locator.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/hud_health.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/hud_poisondamageindicator.cpp" + "${CLIENT_EPISODIC_DIR}/hud_posture.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/hud_quickinfo.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/hud_radar.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/hud_radar.h" + "${CLIENT_EPISODIC_DIR}/hud_squadstatus.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/hud_suitpower.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/hud_suitpower.h" + "${CLIENT_EPISODIC_DIR}/hl2/hud_weaponselection.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/hud_zoom.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/shieldproxy.cpp" + "${SRCDIR}/game/shared/hl2/survival_gamerules.cpp" + "${CLIENT_EPISODIC_DIR}/hl2/vgui_rootpanel_hl2.cpp" + "${CLIENT_EPISODIC_DIR}/episodic/c_npc_puppet.cpp" +) + +set( + CLIENT_EPISODIC_EXCLUDE_SOURCES +) + +add_library(client_episodic MODULE ${CLIENT_EPISODIC_SOURCE_FILES}) + +set_target_properties( + client_episodic PROPERTIES + OUTPUT_NAME "client" + PREFIX "" + LIBRARY_OUTPUT_DIRECTORY "${GAMEDIR}/mod_episodic/bin" + LIBRARY_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/mod_episodic/bin" + LIBRARY_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/mod_episodic/bin" +) + +target_include_directories( + client_episodic PRIVATE + "${CLIENT_EPISODIC_DIR}/hl2" + "${CLIENT_EPISODIC_DIR}/hl2/elements" + "${SRCDIR}/game/shared/hl2" + "${SRCDIR}/game/shared/episodic" + "${SRCDIR}/public" +) + +target_use_client_base(client_episodic CLIENT_EPISODIC_EXCLUDE_SOURCES) + +target_compile_definitions( + client_episodic PRIVATE + HL2_CLIENT_DLL + HL2_EPISODIC +) diff --git a/sp/src/game/client/client_hl2.cmake b/sp/src/game/client/client_hl2.cmake new file mode 100644 index 00000000000..0cb080b391b --- /dev/null +++ b/sp/src/game/client/client_hl2.cmake @@ -0,0 +1,125 @@ +# client_hl2.cmake + +include("${CMAKE_CURRENT_LIST_DIR}/client_base.cmake") + +set(CLIENT_HL2_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + CLIENT_HL2_SOURCE_FILES + + "${CLIENT_HL2_DIR}/hud_chat.cpp" + "${CLIENT_HL2_DIR}/c_team_objectiveresource.cpp" + "${CLIENT_HL2_DIR}/c_team_objectiveresource.h" + + # HL2 DLL + "${SRCDIR}/game/shared/hl2/basehlcombatweapon_shared.cpp" + "${SRCDIR}/game/shared/hl2/achievements_hl2.cpp" + "${CLIENT_HL2_DIR}/hl2/c_antlion_dust.cpp" + "${CLIENT_HL2_DIR}/hl2/c_ar2_explosion.cpp" + "${CLIENT_HL2_DIR}/hl2/c_barnacle.cpp" + "${CLIENT_HL2_DIR}/hl2/c_barney.cpp" + "${CLIENT_HL2_DIR}/hl2/c_basehelicopter.cpp" + "${CLIENT_HL2_DIR}/hl2/c_basehelicopter.h" + "${CLIENT_HL2_DIR}/hl2/c_basehlcombatweapon.cpp" + "${CLIENT_HL2_DIR}/hl2/c_basehlcombatweapon.h" + "${CLIENT_HL2_DIR}/hl2/c_basehlplayer.cpp" + "${CLIENT_HL2_DIR}/hl2/c_basehlplayer.h" + "${CLIENT_HL2_DIR}/hl2/c_citadel_effects.cpp" + "${CLIENT_HL2_DIR}/hl2/c_corpse.cpp" + "${CLIENT_HL2_DIR}/hl2/c_corpse.h" + "${CLIENT_HL2_DIR}/hl2/c_env_alyxtemp.cpp" + "${CLIENT_HL2_DIR}/hl2/c_env_headcrabcanister.cpp" + "${CLIENT_HL2_DIR}/hl2/c_env_starfield.cpp" + "${CLIENT_HL2_DIR}/hl2/c_func_tankmortar.cpp" + "${CLIENT_HL2_DIR}/hl2/c_hl2_playerlocaldata.cpp" + "${CLIENT_HL2_DIR}/hl2/c_hl2_playerlocaldata.h" + "${CLIENT_HL2_DIR}/hl2/c_info_teleporter_countdown.cpp" + "${CLIENT_HL2_DIR}/hl2/c_npc_antlionguard.cpp" + "${CLIENT_HL2_DIR}/hl2/c_npc_combinegunship.cpp" + "${CLIENT_HL2_DIR}/hl2/c_npc_manhack.cpp" + "${CLIENT_HL2_DIR}/hl2/c_npc_rollermine.cpp" + "${CLIENT_HL2_DIR}/hl2/c_plasma_beam_node.cpp" + "${CLIENT_HL2_DIR}/hl2/c_prop_combine_ball.cpp" + "${CLIENT_HL2_DIR}/hl2/c_prop_combine_ball.h" + "${CLIENT_HL2_DIR}/hl2/c_rotorwash.cpp" + "${CLIENT_HL2_DIR}/hl2/c_script_intro.cpp" + "${SRCDIR}/game/shared/script_intro_shared.cpp" + "${CLIENT_HL2_DIR}/hl2/c_strider.cpp" + "${CLIENT_HL2_DIR}/hl2/c_te_concussiveexplosion.cpp" + "${CLIENT_HL2_DIR}/hl2/c_te_flare.cpp" + "${CLIENT_HL2_DIR}/hl2/c_thumper_dust.cpp" + "${CLIENT_HL2_DIR}/hl2/c_vehicle_airboat.cpp" + "${CLIENT_HL2_DIR}/hl2/c_vehicle_cannon.cpp" + "${CLIENT_HL2_DIR}/hl2/c_vehicle_crane.cpp" + "${CLIENT_HL2_DIR}/hl2/c_vehicle_crane.h" + "${CLIENT_HL2_DIR}/hl2/c_vehicle_prisoner_pod.cpp" + "${CLIENT_HL2_DIR}/hl2/c_weapon__stubs_hl2.cpp" + "${CLIENT_HL2_DIR}/hl2/c_weapon_crossbow.cpp" + "${CLIENT_HL2_DIR}/hl2/c_weapon_physcannon.cpp" + "${CLIENT_HL2_DIR}/hl2/c_weapon_stunstick.cpp" + "${SRCDIR}/game/shared/hl2/citadel_effects_shared.h" + "${CLIENT_HL2_DIR}/hl2/clientmode_hlnormal.cpp" + "${CLIENT_HL2_DIR}/hl2/clientmode_hlnormal.h" + "${CLIENT_HL2_DIR}/death.cpp" + "${SRCDIR}/game/shared/hl2/env_headcrabcanister_shared.cpp" + "${SRCDIR}/game/shared/hl2/env_headcrabcanister_shared.h" + "${CLIENT_HL2_DIR}/hl2/fx_antlion.cpp" + "${CLIENT_HL2_DIR}/hl2/fx_bugbait.cpp" + "${CLIENT_HL2_DIR}/hl2/fx_hl2_impacts.cpp" + "${CLIENT_HL2_DIR}/hl2/fx_hl2_tracers.cpp" + "${CLIENT_HL2_DIR}/hl2/hl2_clientmode.cpp" + "${SRCDIR}/game/shared/hl2/hl2_gamerules.cpp" + "${SRCDIR}/game/shared/hl2/hl2_gamerules.h" + "${SRCDIR}/game/shared/hl2/hl2_shareddefs.h" + "${SRCDIR}/game/shared/hl2/hl2_usermessages.cpp" + "${SRCDIR}/game/shared/hl2/hl_gamemovement.cpp" + "${SRCDIR}/game/shared/hl2/hl_gamemovement.h" + "${CLIENT_HL2_DIR}/hl2/hl_in_main.cpp" + "${CLIENT_HL2_DIR}/hl2/hl_prediction.cpp" + "${CLIENT_HL2_DIR}/hl2/hud_ammo.cpp" + "${CLIENT_HL2_DIR}/hl2/hud_battery.cpp" + "${CLIENT_HL2_DIR}/hl2/hud_blood.cpp" + "${CLIENT_HL2_DIR}/hl2/hud_credits.cpp" + "${CLIENT_HL2_DIR}/hl2/hud_damageindicator.cpp" + "${CLIENT_HL2_DIR}/hl2/hud_flashlight.cpp" + "${CLIENT_HL2_DIR}/hl2/hud_health.cpp" + "${CLIENT_HL2_DIR}/hl2/hud_poisondamageindicator.cpp" + "${CLIENT_HL2_DIR}/hud_posture.cpp" + "${CLIENT_HL2_DIR}/hl2/hud_quickinfo.cpp" + "${CLIENT_HL2_DIR}/hud_squadstatus.cpp" + "${CLIENT_HL2_DIR}/hl2/hud_suitpower.cpp" + "${CLIENT_HL2_DIR}/hl2/hud_suitpower.h" + "${CLIENT_HL2_DIR}/hl2/hud_weaponselection.cpp" + "${CLIENT_HL2_DIR}/hl2/hud_zoom.cpp" + "${CLIENT_HL2_DIR}/hl2/shieldproxy.cpp" + "${CLIENT_HL2_DIR}/hl2/vgui_rootpanel_hl2.cpp" + "${CLIENT_HL2_DIR}/episodic/c_vort_charge_token.cpp" +) + +set( + CLIENT_HL2_EXCLUDE_SOURCES +) + +add_library(client_hl2 MODULE ${CLIENT_HL2_SOURCE_FILES}) + +set_target_properties( + client_hl2 PROPERTIES + OUTPUT_NAME "client" + PREFIX "" + LIBRARY_OUTPUT_DIRECTORY "${GAMEDIR}/mod_hl2/bin" + LIBRARY_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/mod_hl2/bin" + LIBRARY_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/mod_hl2/bin" +) + +target_include_directories( + client_hl2 PRIVATE + "${CLIENT_HL2_DIR}/hl2" + "${CLIENT_HL2_DIR}/hl2/elements" + "${SRCDIR}/game/shared/hl2" +) + +target_use_client_base(client_hl2 CLIENT_HL2_EXCLUDE_SOURCES) + +target_compile_definitions( + client_hl2 PRIVATE + HL2_CLIENT_DLL +) diff --git a/sp/src/game/server/ai_behavior_lead.cpp b/sp/src/game/server/ai_behavior_lead.cpp index 6a316c1e780..fc845c29d26 100644 --- a/sp/src/game/server/ai_behavior_lead.cpp +++ b/sp/src/game/server/ai_behavior_lead.cpp @@ -3,8 +3,7 @@ // Purpose: // //=============================================================================// -#undef strncpy // we use std::string below that needs a good strncpy define -#undef sprintf // " + #include "cbase.h" #include "ai_behavior_lead.h" diff --git a/sp/src/game/server/server_base.cmake b/sp/src/game/server/server_base.cmake new file mode 100644 index 00000000000..357669cbb0f --- /dev/null +++ b/sp/src/game/server/server_base.cmake @@ -0,0 +1,996 @@ +# server_base.cmake + +include_guard(GLOBAL) + +set(SERVER_BASE_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + SERVER_BASE_SOURCE_FILES + + # Replay + "${SERVER_BASE_DIR}/gamedll_replay.cpp" + "${SRCDIR}/common/replay/ireplaysessionrecorder.h" + + "$<${BUILD_REPLAY}:${SRCDIR}/game/shared/replay_gamestats_shared.cpp>" + "$<${BUILD_REPLAY}:${SRCDIR}/game/shared/replay_gamestats_shared.h>" + + # Source Files + "${SRCDIR}/game/shared/achievement_saverestore.cpp" + "${SRCDIR}/game/shared/achievement_saverestore.h" + "${SRCDIR}/game/shared/achievementmgr.cpp" + "${SRCDIR}/game/shared/achievementmgr.h" + "${SRCDIR}/game/shared/achievements_hlx.cpp" + "${SRCDIR}/game/shared/activitylist.cpp" + "${SRCDIR}/game/shared/activitylist.h" + "${SERVER_BASE_DIR}/ai_activity.cpp" + "${SRCDIR}/game/shared/ai_activity.h" + "${SERVER_BASE_DIR}/ai_baseactor.cpp" + "${SERVER_BASE_DIR}/ai_baseactor.h" + "${SERVER_BASE_DIR}/ai_basehumanoid.cpp" + "${SERVER_BASE_DIR}/ai_basehumanoid.h" + "${SERVER_BASE_DIR}/ai_basenpc.cpp" + "${SERVER_BASE_DIR}/ai_basenpc.h" + "${SERVER_BASE_DIR}/ai_basenpc_flyer.cpp" + "${SERVER_BASE_DIR}/ai_basenpc_flyer.h" + "${SERVER_BASE_DIR}/ai_basenpc_flyer_new.cpp" + "${SERVER_BASE_DIR}/ai_basenpc_flyer_new.h" + "${SERVER_BASE_DIR}/ai_basenpc_movement.cpp" + "${SERVER_BASE_DIR}/ai_basenpc_physicsflyer.cpp" + "${SERVER_BASE_DIR}/ai_basenpc_physicsflyer.h" + "${SERVER_BASE_DIR}/ai_basenpc_schedule.cpp" + "${SERVER_BASE_DIR}/ai_basenpc_squad.cpp" + "${SERVER_BASE_DIR}/ai_behavior.cpp" + "${SERVER_BASE_DIR}/ai_behavior.h" + "${SERVER_BASE_DIR}/ai_behavior_assault.cpp" + "${SERVER_BASE_DIR}/ai_behavior_assault.h" + "${SERVER_BASE_DIR}/ai_behavior_fear.cpp" + "${SERVER_BASE_DIR}/ai_behavior_fear.h" + "${SERVER_BASE_DIR}/ai_behavior_follow.cpp" + "${SERVER_BASE_DIR}/ai_behavior_follow.h" + "${SERVER_BASE_DIR}/ai_behavior_lead.cpp" + "${SERVER_BASE_DIR}/ai_behavior_lead.h" + "${SERVER_BASE_DIR}/ai_behavior_rappel.cpp" + "${SERVER_BASE_DIR}/ai_behavior_rappel.h" + "${SERVER_BASE_DIR}/ai_behavior_standoff.cpp" + "${SERVER_BASE_DIR}/ai_behavior_standoff.h" + "${SERVER_BASE_DIR}/ai_blended_movement.cpp" + "${SERVER_BASE_DIR}/ai_blended_movement.h" + "${SERVER_BASE_DIR}/ai_component.h" + "${SERVER_BASE_DIR}/ai_concommands.cpp" + "${SERVER_BASE_DIR}/ai_condition.cpp" + "${SERVER_BASE_DIR}/ai_condition.h" + "${SERVER_BASE_DIR}/AI_Criteria.cpp" + "${SERVER_BASE_DIR}/AI_Criteria.h" + "${SERVER_BASE_DIR}/ai_debug.h" + "${SRCDIR}/game/shared/ai_debug_shared.h" + "${SERVER_BASE_DIR}/ai_default.cpp" + "${SERVER_BASE_DIR}/ai_default.h" + "${SERVER_BASE_DIR}/ai_dynamiclink.cpp" + "${SERVER_BASE_DIR}/ai_dynamiclink.h" + "${SERVER_BASE_DIR}/ai_event.cpp" + "${SERVER_BASE_DIR}/ai_goalentity.cpp" + "${SERVER_BASE_DIR}/ai_goalentity.h" + "${SERVER_BASE_DIR}/ai_hint.cpp" + "${SERVER_BASE_DIR}/ai_hint.h" + "${SERVER_BASE_DIR}/ai_hull.cpp" + "${SERVER_BASE_DIR}/ai_hull.h" + "${SERVER_BASE_DIR}/ai_initutils.cpp" + "${SERVER_BASE_DIR}/ai_initutils.h" + "${SERVER_BASE_DIR}/AI_Interest_Target.cpp" + "${SERVER_BASE_DIR}/AI_Interest_Target.h" + "${SERVER_BASE_DIR}/ai_link.cpp" + "${SERVER_BASE_DIR}/ai_link.h" + "${SERVER_BASE_DIR}/ai_localnavigator.cpp" + "${SERVER_BASE_DIR}/ai_localnavigator.h" + "${SERVER_BASE_DIR}/ai_looktarget.cpp" + "${SERVER_BASE_DIR}/ai_looktarget.h" + "${SERVER_BASE_DIR}/ai_memory.cpp" + "${SERVER_BASE_DIR}/ai_memory.h" + "${SERVER_BASE_DIR}/ai_motor.cpp" + "${SERVER_BASE_DIR}/ai_motor.h" + "${SERVER_BASE_DIR}/ai_moveprobe.cpp" + "${SERVER_BASE_DIR}/ai_moveprobe.h" + "${SERVER_BASE_DIR}/ai_moveshoot.cpp" + "${SERVER_BASE_DIR}/ai_moveshoot.h" + "${SERVER_BASE_DIR}/ai_movesolver.cpp" + "${SERVER_BASE_DIR}/ai_movesolver.h" + "${SERVER_BASE_DIR}/ai_movetypes.h" + "${SERVER_BASE_DIR}/ai_namespaces.cpp" + "${SERVER_BASE_DIR}/ai_namespaces.h" + "${SERVER_BASE_DIR}/ai_navgoaltype.h" + "${SERVER_BASE_DIR}/ai_navigator.cpp" + "${SERVER_BASE_DIR}/ai_navigator.h" + "${SERVER_BASE_DIR}/ai_navtype.h" + "${SERVER_BASE_DIR}/ai_network.cpp" + "${SERVER_BASE_DIR}/ai_network.h" + "${SERVER_BASE_DIR}/ai_networkmanager.cpp" + "${SERVER_BASE_DIR}/ai_networkmanager.h" + "${SERVER_BASE_DIR}/ai_node.cpp" + "${SERVER_BASE_DIR}/ai_node.h" + "${SERVER_BASE_DIR}/ai_npcstate.h" + "${SERVER_BASE_DIR}/ai_obstacle_type.h" + "${SERVER_BASE_DIR}/ai_pathfinder.cpp" + "${SERVER_BASE_DIR}/ai_pathfinder.h" + "${SERVER_BASE_DIR}/ai_planesolver.cpp" + "${SERVER_BASE_DIR}/ai_planesolver.h" + "${SERVER_BASE_DIR}/ai_playerally.cpp" + "${SERVER_BASE_DIR}/ai_playerally.h" + "${SERVER_BASE_DIR}/AI_ResponseSystem.cpp" + "${SERVER_BASE_DIR}/AI_ResponseSystem.h" + "${SERVER_BASE_DIR}/ai_route.cpp" + "${SERVER_BASE_DIR}/ai_route.h" + "${SERVER_BASE_DIR}/ai_routedist.h" + "${SERVER_BASE_DIR}/ai_saverestore.cpp" + "${SERVER_BASE_DIR}/ai_saverestore.h" + "${SERVER_BASE_DIR}/ai_schedule.cpp" + "${SERVER_BASE_DIR}/ai_schedule.h" + "${SERVER_BASE_DIR}/ai_scriptconditions.cpp" + "${SERVER_BASE_DIR}/ai_scriptconditions.h" + "${SERVER_BASE_DIR}/ai_senses.cpp" + "${SERVER_BASE_DIR}/ai_senses.h" + "${SERVER_BASE_DIR}/ai_sentence.cpp" + "${SERVER_BASE_DIR}/ai_sentence.h" + "${SERVER_BASE_DIR}/ai_speech.cpp" + "${SERVER_BASE_DIR}/ai_speech.h" + "${SERVER_BASE_DIR}/ai_speechfilter.cpp" + "${SERVER_BASE_DIR}/ai_speechfilter.h" + "${SERVER_BASE_DIR}/ai_squad.cpp" + "${SERVER_BASE_DIR}/ai_squad.h" + "${SERVER_BASE_DIR}/ai_squadslot.cpp" + "${SERVER_BASE_DIR}/ai_squadslot.h" + "${SERVER_BASE_DIR}/ai_tacticalservices.cpp" + "${SERVER_BASE_DIR}/ai_tacticalservices.h" + "${SERVER_BASE_DIR}/ai_task.cpp" + "${SERVER_BASE_DIR}/ai_task.h" + "${SERVER_BASE_DIR}/ai_trackpather.cpp" + "${SERVER_BASE_DIR}/ai_trackpather.h" + "${SERVER_BASE_DIR}/ai_utils.cpp" + "${SERVER_BASE_DIR}/ai_utils.h" + "${SERVER_BASE_DIR}/ai_waypoint.cpp" + "${SERVER_BASE_DIR}/ai_waypoint.h" + "${SRCDIR}/game/shared/ammodef.cpp" + "${SRCDIR}/game/shared/animation.cpp" + "${SRCDIR}/game/shared/animation.h" + "${SRCDIR}/game/shared/apparent_velocity_helper.h" + "${SRCDIR}/game/shared/base_playeranimstate.cpp" + "${SERVER_BASE_DIR}/base_transmit_proxy.cpp" + "${SRCDIR}/game/shared/baseachievement.cpp" + "${SRCDIR}/game/shared/baseachievement.h" + "${SERVER_BASE_DIR}/baseanimating.cpp" + "${SERVER_BASE_DIR}/baseanimating.h" + "${SERVER_BASE_DIR}/BaseAnimatingOverlay.cpp" + "${SERVER_BASE_DIR}/BaseAnimatingOverlay.h" + "${SERVER_BASE_DIR}/basecombatcharacter.cpp" + "${SERVER_BASE_DIR}/basecombatcharacter.h" + "${SRCDIR}/game/shared/basecombatcharacter_shared.cpp" + "${SERVER_BASE_DIR}/basecombatweapon.cpp" + "${SERVER_BASE_DIR}/basecombatweapon.h" + "${SRCDIR}/game/shared/basecombatweapon_shared.cpp" + "${SRCDIR}/game/shared/basecombatweapon_shared.h" + "${SERVER_BASE_DIR}/baseentity.cpp" + "${SERVER_BASE_DIR}/baseentity.h" + "${SRCDIR}/game/shared/baseentity_shared.cpp" + "${SRCDIR}/game/shared/baseentity_shared.h" + "${SERVER_BASE_DIR}/baseflex.cpp" + "${SERVER_BASE_DIR}/baseflex.h" + "${SRCDIR}/game/shared/basegrenade_shared.cpp" + "${SRCDIR}/game/shared/basegrenade_shared.h" + "${SERVER_BASE_DIR}/basemultiplayerplayer.cpp" + "${SERVER_BASE_DIR}/basemultiplayerplayer.h" + "${SRCDIR}/game/shared/baseparticleentity.cpp" + "${SRCDIR}/game/shared/baseparticleentity.h" + "${SRCDIR}/game/shared/baseplayer_shared.cpp" + "${SRCDIR}/game/shared/baseplayer_shared.h" + "${SRCDIR}/game/shared/baseprojectile.cpp" + "${SRCDIR}/game/shared/baseprojectile.h" + "${SERVER_BASE_DIR}/BasePropDoor.h" + "${SERVER_BASE_DIR}/basetoggle.h" + "${SERVER_BASE_DIR}/baseviewmodel.cpp" + "${SERVER_BASE_DIR}/baseviewmodel.h" + "${SRCDIR}/game/shared/baseviewmodel_shared.cpp" + "${SRCDIR}/game/shared/baseviewmodel_shared.h" + "${SRCDIR}/game/shared/beam_shared.cpp" + "${SRCDIR}/game/shared/beam_shared.h" + "${SERVER_BASE_DIR}/bitstring.cpp" + "${SERVER_BASE_DIR}/bitstring.h" + "${SERVER_BASE_DIR}/bmodels.cpp" + "${SRCDIR}/public/bone_setup.h" + "${SERVER_BASE_DIR}/buttons.cpp" + "${SERVER_BASE_DIR}/buttons.h" + "${SERVER_BASE_DIR}/cbase.cpp" + "${SERVER_BASE_DIR}/cbase.h" + "${SRCDIR}/game/shared/choreoactor.h" + "${SRCDIR}/game/shared/choreochannel.h" + "${SRCDIR}/game/shared/choreoevent.h" + "${SRCDIR}/game/shared/choreoscene.h" + "${SERVER_BASE_DIR}/client.cpp" + "${SERVER_BASE_DIR}/client.h" + "${SRCDIR}/game/shared/collisionproperty.cpp" + "${SRCDIR}/game/shared/collisionproperty.h" + "${SRCDIR}/public/collisionutils.h" + "${SERVER_BASE_DIR}/colorcorrection.cpp" + "${SERVER_BASE_DIR}/colorcorrectionvolume.cpp" + "${SERVER_BASE_DIR}/CommentarySystem.cpp" + "${SERVER_BASE_DIR}/controlentities.cpp" + "${SERVER_BASE_DIR}/cplane.cpp" + "${SERVER_BASE_DIR}/CRagdollMagnet.cpp" + "${SERVER_BASE_DIR}/CRagdollMagnet.h" + "${SERVER_BASE_DIR}/damagemodifier.cpp" + "${SRCDIR}/game/shared/death_pose.cpp" + "${SRCDIR}/game/shared/debugoverlay_shared.cpp" + "${SRCDIR}/game/shared/debugoverlay_shared.h" + "${SRCDIR}/game/shared/decals.cpp" + "${SERVER_BASE_DIR}/doors.cpp" + "${SERVER_BASE_DIR}/doors.h" + "${SERVER_BASE_DIR}/dynamiclight.cpp" + "${SRCDIR}/public/edict.h" + "${SRCDIR}/public/editor_sendcommand.h" + "${SRCDIR}/game/shared/effect_color_tables.h" + "${SRCDIR}/game/shared/effect_dispatch_data.cpp" + "${SERVER_BASE_DIR}/effects.cpp" + "${SERVER_BASE_DIR}/effects.h" + "${SERVER_BASE_DIR}/EffectsServer.cpp" + "${SRCDIR}/game/shared/ehandle.cpp" + "${SRCDIR}/public/eiface.h" + "${SERVER_BASE_DIR}/enginecallback.h" + "${SERVER_BASE_DIR}/entityapi.h" + "${SERVER_BASE_DIR}/entityblocker.cpp" + "${SERVER_BASE_DIR}/entityblocker.h" + "${SERVER_BASE_DIR}/EntityDissolve.cpp" + "${SERVER_BASE_DIR}/EntityDissolve.h" + "${SERVER_BASE_DIR}/EntityFlame.cpp" + "${SERVER_BASE_DIR}/entityinput.h" + "${SERVER_BASE_DIR}/entitylist.cpp" + "${SERVER_BASE_DIR}/entitylist.h" + "${SRCDIR}/game/shared/entitylist_base.cpp" + "${SERVER_BASE_DIR}/entityoutput.h" + "${SERVER_BASE_DIR}/EntityParticleTrail.cpp" + "${SERVER_BASE_DIR}/EntityParticleTrail.h" + "${SRCDIR}/game/shared/EntityParticleTrail_Shared.cpp" + "${SRCDIR}/game/shared/entityparticletrail_shared.h" + "${SERVER_BASE_DIR}/env_debughistory.cpp" + "${SERVER_BASE_DIR}/env_debughistory.h" + "${SRCDIR}/game/shared/env_detail_controller.cpp" + "${SERVER_BASE_DIR}/env_effectsscript.cpp" + "${SERVER_BASE_DIR}/env_entity_maker.cpp" + "${SERVER_BASE_DIR}/env_particlescript.cpp" + "${SERVER_BASE_DIR}/env_player_surface_trigger.cpp" + "${SERVER_BASE_DIR}/env_player_surface_trigger.h" + "${SERVER_BASE_DIR}/env_projectedtexture.cpp" + "${SERVER_BASE_DIR}/env_screenoverlay.cpp" + "${SERVER_BASE_DIR}/env_texturetoggle.cpp" + "${SERVER_BASE_DIR}/env_tonemap_controller.cpp" + "${SRCDIR}/game/shared/env_wind_shared.cpp" + "${SRCDIR}/game/shared/env_wind_shared.h" + "${SERVER_BASE_DIR}/env_zoom.cpp" + "${SERVER_BASE_DIR}/env_zoom.h" + "${SERVER_BASE_DIR}/EnvBeam.cpp" + "${SERVER_BASE_DIR}/EnvFade.cpp" + "${SERVER_BASE_DIR}/EnvHudHint.cpp" + "${SERVER_BASE_DIR}/EnvLaser.cpp" + "${SERVER_BASE_DIR}/EnvLaser.h" + "${SERVER_BASE_DIR}/EnvMessage.cpp" + "${SERVER_BASE_DIR}/EnvMessage.h" + "${SERVER_BASE_DIR}/envmicrophone.cpp" + "${SERVER_BASE_DIR}/envmicrophone.h" + "${SERVER_BASE_DIR}/EnvShake.cpp" + "${SERVER_BASE_DIR}/EnvSpark.cpp" + "${SERVER_BASE_DIR}/envspark.h" + "${SRCDIR}/public/event_flags.h" + "${SERVER_BASE_DIR}/event_tempentity_tester.h" + "${SRCDIR}/game/shared/eventlist.cpp" + "${SRCDIR}/game/shared/eventlist.h" + "${SERVER_BASE_DIR}/EventLog.cpp" + "${SERVER_BASE_DIR}/eventqueue.h" + "${SERVER_BASE_DIR}/explode.cpp" + "${SERVER_BASE_DIR}/explode.h" + "${SERVER_BASE_DIR}/filters.cpp" + "${SERVER_BASE_DIR}/filters.h" + "${SERVER_BASE_DIR}/fire.cpp" + "${SERVER_BASE_DIR}/fire.h" + "${SERVER_BASE_DIR}/fire_smoke.cpp" + "${SERVER_BASE_DIR}/fire_smoke.h" + "${SERVER_BASE_DIR}/fish.cpp" + "${SERVER_BASE_DIR}/fish.h" + "${SERVER_BASE_DIR}/fogcontroller.cpp" + "${SERVER_BASE_DIR}/fourwheelvehiclephysics.cpp" + "${SERVER_BASE_DIR}/fourwheelvehiclephysics.h" + "${SERVER_BASE_DIR}/func_areaportal.cpp" + "${SERVER_BASE_DIR}/func_areaportalbase.cpp" + "${SERVER_BASE_DIR}/func_areaportalbase.h" + "${SERVER_BASE_DIR}/func_areaportalwindow.cpp" + "${SERVER_BASE_DIR}/func_areaportalwindow.h" + "${SERVER_BASE_DIR}/func_break.cpp" + "${SERVER_BASE_DIR}/func_break.h" + "${SERVER_BASE_DIR}/func_breakablesurf.cpp" + "${SERVER_BASE_DIR}/func_breakablesurf.h" + "${SERVER_BASE_DIR}/func_dust.cpp" + "${SRCDIR}/game/shared/func_dust_shared.h" + "${SRCDIR}/game/shared/func_ladder.cpp" + "${SERVER_BASE_DIR}/func_ladder_endpoint.cpp" + "${SERVER_BASE_DIR}/func_lod.cpp" + "${SERVER_BASE_DIR}/func_movelinear.cpp" + "${SERVER_BASE_DIR}/func_movelinear.h" + "${SERVER_BASE_DIR}/func_occluder.cpp" + "${SERVER_BASE_DIR}/func_reflective_glass.cpp" + "${SERVER_BASE_DIR}/func_smokevolume.cpp" + "${SERVER_BASE_DIR}/game.cpp" + "${SERVER_BASE_DIR}/game.h" + "${SERVER_BASE_DIR}/game_ui.cpp" + "${SERVER_BASE_DIR}/gameinterface.cpp" + "${SERVER_BASE_DIR}/gameinterface.h" + "${SRCDIR}/game/shared/gamemovement.cpp" + "${SRCDIR}/game/shared/gamemovement.h" + "${SRCDIR}/game/shared/gamerules.cpp" + "${SRCDIR}/game/shared/gamerules.h" + "${SRCDIR}/game/shared/gamerules_register.cpp" + "${SRCDIR}/game/shared/GameStats.cpp" + "${SRCDIR}/game/shared/gamestats.h" + "${SRCDIR}/game/shared/gamestringpool.cpp" + "${SRCDIR}/game/shared/gamestringpool.h" + "${SERVER_BASE_DIR}/gametrace_dll.cpp" + "${SRCDIR}/game/shared/gamevars_shared.cpp" + "${SRCDIR}/game/shared/gamevars_shared.h" + "${SERVER_BASE_DIR}/gameweaponmanager.cpp" + "${SERVER_BASE_DIR}/gameweaponmanager.h" + "${SERVER_BASE_DIR}/genericactor.cpp" + "${SERVER_BASE_DIR}/genericmonster.cpp" + "${SERVER_BASE_DIR}/gib.cpp" + "${SERVER_BASE_DIR}/gib.h" + "${SERVER_BASE_DIR}/globals.cpp" + "${SERVER_BASE_DIR}/globalstate.cpp" + "${SERVER_BASE_DIR}/globalstate.h" + "${SERVER_BASE_DIR}/globalstate_private.h" + "${SERVER_BASE_DIR}/guntarget.cpp" + "${SERVER_BASE_DIR}/h_ai.cpp" + "${SERVER_BASE_DIR}/hierarchy.cpp" + "${SERVER_BASE_DIR}/hierarchy.h" + "${SRCDIR}/common/hl2orange.spa.h" + "${SERVER_BASE_DIR}/hltvdirector.cpp" + "${SERVER_BASE_DIR}/hltvdirector.h" + "${SRCDIR}/game/shared/hintmessage.cpp" + "${SRCDIR}/game/shared/hintmessage.h" + "${SRCDIR}/game/shared/hintsystem.cpp" + "${SRCDIR}/game/shared/hintsystem.h" + "${SRCDIR}/game/shared/ichoreoeventcallback.h" + "${SRCDIR}/game/shared/igamesystem.cpp" + "${SRCDIR}/game/shared/igamesystem.h" + "${SERVER_BASE_DIR}/info_camera_link.cpp" + "${SERVER_BASE_DIR}/info_camera_link.h" + "${SERVER_BASE_DIR}/info_overlay_accessor.cpp" + "${SERVER_BASE_DIR}/init_factory.h" + "${SERVER_BASE_DIR}/intermission.cpp" + "${SRCDIR}/public/interpolatortypes.h" + "${SRCDIR}/game/shared/interval.h" + "${SRCDIR}/public/iregistry.h" + "${SRCDIR}/game/shared/iscenetokenprocessor.h" + "${SERVER_BASE_DIR}/iservervehicle.h" + "${SERVER_BASE_DIR}/item_world.cpp" + "${SERVER_BASE_DIR}/items.h" + "${SRCDIR}/public/ivoiceserver.h" + "${SRCDIR}/public/keyframe/keyframe.h" + "${SERVER_BASE_DIR}/lightglow.cpp" + "${SERVER_BASE_DIR}/lights.cpp" + "${SERVER_BASE_DIR}/lights.h" + "${SERVER_BASE_DIR}/locksounds.h" + "${SERVER_BASE_DIR}/logic_measure_movement.cpp" + "${SERVER_BASE_DIR}/logic_navigation.cpp" + "${SERVER_BASE_DIR}/logicauto.cpp" + "${SERVER_BASE_DIR}/logicentities.cpp" + "${SERVER_BASE_DIR}/logicrelay.cpp" + "${SERVER_BASE_DIR}/mapentities.cpp" + "${SRCDIR}/game/shared/mapentities_shared.cpp" + "${SERVER_BASE_DIR}/maprules.cpp" + "${SERVER_BASE_DIR}/maprules.h" + "${SERVER_BASE_DIR}/MaterialModifyControl.cpp" + "${SRCDIR}/public/mathlib/mathlib.h" + "${SERVER_BASE_DIR}/message_entity.cpp" + "${SRCDIR}/public/model_types.h" + "${SERVER_BASE_DIR}/modelentities.cpp" + "${SRCDIR}/game/shared/ModelSoundsCache.cpp" + "${SERVER_BASE_DIR}/movehelper_server.cpp" + "${SERVER_BASE_DIR}/movehelper_server.h" + "${SERVER_BASE_DIR}/movement.cpp" + "${SRCDIR}/game/shared/movevars_shared.cpp" + "${SERVER_BASE_DIR}/movie_explosion.h" + "${SRCDIR}/game/shared/multiplay_gamerules.cpp" + "${SRCDIR}/game/shared/multiplay_gamerules.h" + "${SERVER_BASE_DIR}/ndebugoverlay.cpp" + "${SERVER_BASE_DIR}/ndebugoverlay.h" + "${SERVER_BASE_DIR}/networkstringtable_gamedll.h" + "${SRCDIR}/public/networkstringtabledefs.h" + "${SERVER_BASE_DIR}/npc_vehicledriver.cpp" + "${SRCDIR}/game/shared/obstacle_pushaway.cpp" + "${SRCDIR}/game/shared/obstacle_pushaway.h" + "${SERVER_BASE_DIR}/particle_fire.h" + "${SERVER_BASE_DIR}/particle_light.cpp" + "${SERVER_BASE_DIR}/particle_light.h" + "${SRCDIR}/game/shared/particle_parse.cpp" + "${SRCDIR}/game/shared/particle_parse.h" + "${SERVER_BASE_DIR}/particle_smokegrenade.h" + "${SERVER_BASE_DIR}/particle_system.cpp" + "${SRCDIR}/game/shared/particlesystemquery.cpp" + "${SERVER_BASE_DIR}/pathcorner.cpp" + "${SERVER_BASE_DIR}/pathtrack.cpp" + "${SERVER_BASE_DIR}/pathtrack.h" + "${SRCDIR}/public/vphysics/performance.h" + "${SERVER_BASE_DIR}/phys_controller.cpp" + "${SERVER_BASE_DIR}/phys_controller.h" + "${SERVER_BASE_DIR}/physconstraint.cpp" + "${SERVER_BASE_DIR}/physconstraint.h" + "${SERVER_BASE_DIR}/physics.cpp" + "${SERVER_BASE_DIR}/physics.h" + "${SERVER_BASE_DIR}/physics_bone_follower.cpp" + "${SERVER_BASE_DIR}/physics_cannister.cpp" + "${SERVER_BASE_DIR}/physics_collisionevent.h" + "${SERVER_BASE_DIR}/physics_fx.cpp" + "${SERVER_BASE_DIR}/physics_impact_damage.cpp" + "${SERVER_BASE_DIR}/pushentity.h" + "${SERVER_BASE_DIR}/physics_main.cpp" + "${SRCDIR}/game/shared/physics_main_shared.cpp" + "${SERVER_BASE_DIR}/physics_npc_solver.cpp" + "${SERVER_BASE_DIR}/physics_npc_solver.h" + "${SERVER_BASE_DIR}/physics_prop_ragdoll.cpp" + "${SERVER_BASE_DIR}/physics_prop_ragdoll.h" + "${SRCDIR}/game/shared/physics_saverestore.cpp" + "${SRCDIR}/game/shared/physics_saverestore.h" + "${SRCDIR}/game/shared/physics_shared.cpp" + "${SRCDIR}/game/shared/physics_shared.h" + "${SERVER_BASE_DIR}/physobj.cpp" + "${SERVER_BASE_DIR}/physobj.h" + "${SERVER_BASE_DIR}/player.cpp" + "${SERVER_BASE_DIR}/player.h" + "${SERVER_BASE_DIR}/player_command.cpp" + "${SERVER_BASE_DIR}/player_command.h" + "${SERVER_BASE_DIR}/player_lagcompensation.cpp" + "${SERVER_BASE_DIR}/player_pickup.cpp" + "${SERVER_BASE_DIR}/player_pickup.h" + "${SERVER_BASE_DIR}/player_resource.cpp" + "${SERVER_BASE_DIR}/player_resource.h" + "${SERVER_BASE_DIR}/playerinfomanager.cpp" + "${SERVER_BASE_DIR}/playerlocaldata.cpp" + "${SERVER_BASE_DIR}/playerlocaldata.h" + "${SERVER_BASE_DIR}/plugin_check.cpp" + "${SRCDIR}/game/shared/point_bonusmaps_accessor.cpp" + "${SRCDIR}/game/shared/point_bonusmaps_accessor.h" + "${SERVER_BASE_DIR}/point_camera.cpp" + "${SERVER_BASE_DIR}/point_camera.h" + "${SERVER_BASE_DIR}/point_devshot_camera.cpp" + "${SERVER_BASE_DIR}/point_playermoveconstraint.cpp" + "${SRCDIR}/game/shared/point_posecontroller.cpp" + "${SRCDIR}/game/shared/point_posecontroller.h" + "${SERVER_BASE_DIR}/point_spotlight.cpp" + "${SERVER_BASE_DIR}/point_template.cpp" + "${SERVER_BASE_DIR}/point_template.h" + "${SERVER_BASE_DIR}/pointanglesensor.cpp" + "${SERVER_BASE_DIR}/PointAngularVelocitySensor.cpp" + "${SERVER_BASE_DIR}/pointhurt.cpp" + "${SERVER_BASE_DIR}/pointteleport.cpp" + "${SRCDIR}/public/mathlib/polyhedron.h" + "${SRCDIR}/game/shared/positionwatcher.h" + "${SRCDIR}/game/shared/precache_register.cpp" + "${SRCDIR}/game/shared/precache_register.h" + "${SRCDIR}/game/shared/predictableid.cpp" + "${SRCDIR}/game/shared/predictableid.h" + "${SERVER_BASE_DIR}/props.cpp" + "${SERVER_BASE_DIR}/props.h" + "${SRCDIR}/game/shared/props_shared.cpp" + "${SRCDIR}/game/shared/querycache.cpp" + "${SERVER_BASE_DIR}/ragdoll_manager.cpp" + "${SRCDIR}/game/shared/ragdoll_shared.cpp" + "${SERVER_BASE_DIR}/RagdollBoogie.cpp" + "${SERVER_BASE_DIR}/RagdollBoogie.h" + "${SERVER_BASE_DIR}/recipientfilter.cpp" + "${SERVER_BASE_DIR}/recipientfilter.h" + "${SERVER_BASE_DIR}/rope.cpp" + "${SERVER_BASE_DIR}/rope.h" + "${SRCDIR}/game/shared/rope_helpers.cpp" + "${SRCDIR}/public/rope_physics.h" + "${SRCDIR}/public/rope_shared.h" + "${SRCDIR}/game/shared/saverestore.cpp" + "${SRCDIR}/game/shared/saverestore.h" + "${SRCDIR}/game/shared/saverestore_bitstring.h" + "${SERVER_BASE_DIR}/saverestore_gamedll.cpp" + "${SRCDIR}/game/shared/saverestore_utlsymbol.h" + "${SRCDIR}/game/shared/saverestore_utlvector.h" + "${SRCDIR}/game/shared/SceneCache.cpp" + "${SERVER_BASE_DIR}/sceneentity.cpp" + "${SERVER_BASE_DIR}/sceneentity.h" + "${SRCDIR}/game/shared/sceneentity_shared.cpp" + "${SERVER_BASE_DIR}/scratchpad_gamedll_helpers.cpp" + "${SERVER_BASE_DIR}/scripted.cpp" + "${SERVER_BASE_DIR}/scripted.h" + "${SERVER_BASE_DIR}/scriptedtarget.cpp" + "${SERVER_BASE_DIR}/scriptedtarget.h" + "${SRCDIR}/game/shared/scriptevent.h" + "${SERVER_BASE_DIR}/sendproxy.cpp" + "${SRCDIR}/game/shared/sequence_Transitioner.cpp" + "${SRCDIR}/game/server/serverbenchmark_base.cpp" + "${SRCDIR}/game/server/serverbenchmark_base.h" + "${SRCDIR}/public/server_class.h" + "${SERVER_BASE_DIR}/ServerNetworkProperty.cpp" + "${SERVER_BASE_DIR}/ServerNetworkProperty.h" + "${SERVER_BASE_DIR}/shadowcontrol.cpp" + "${SRCDIR}/public/shattersurfacetypes.h" + "${SRCDIR}/game/shared/sheetsimulator.h" + "${SRCDIR}/public/simple_physics.h" + "${SRCDIR}/game/shared/simtimer.cpp" + "${SRCDIR}/game/shared/simtimer.h" + "${SRCDIR}/game/shared/singleplay_gamerules.cpp" + "${SRCDIR}/game/shared/singleplay_gamerules.h" + "${SERVER_BASE_DIR}/SkyCamera.cpp" + "${SERVER_BASE_DIR}/slideshow_display.cpp" + "${SERVER_BASE_DIR}/sound.cpp" + "${SRCDIR}/game/shared/SoundEmitterSystem.cpp" + "${SERVER_BASE_DIR}/soundent.cpp" + "${SERVER_BASE_DIR}/soundent.h" + "${SRCDIR}/game/shared/soundenvelope.cpp" + "${SRCDIR}/public/SoundParametersInternal.cpp" + "${SERVER_BASE_DIR}/soundscape.cpp" + "${SERVER_BASE_DIR}/soundscape.h" + "${SERVER_BASE_DIR}/soundscape_system.cpp" + "${SERVER_BASE_DIR}/spark.h" + "${SERVER_BASE_DIR}/spotlightend.cpp" + "${SERVER_BASE_DIR}/spotlightend.h" + "${SRCDIR}/game/shared/Sprite.cpp" + "${SRCDIR}/game/shared/Sprite.h" + "${SERVER_BASE_DIR}/sprite_perfmonitor.cpp" + "${SRCDIR}/game/shared/SpriteTrail.h" + "${SRCDIR}/public/vphysics/stats.h" + "${SRCDIR}/public/steam/steam_api.h" + "${SRCDIR}/public/stringregistry.h" + "${SRCDIR}/game/shared/studio_shared.cpp" + "${SERVER_BASE_DIR}/subs.cpp" + "${SERVER_BASE_DIR}/sun.cpp" + "${SERVER_BASE_DIR}/tactical_mission.cpp" + "${SERVER_BASE_DIR}/tactical_mission.h" + "${SRCDIR}/game/shared/takedamageinfo.cpp" + "${SERVER_BASE_DIR}/tanktrain.cpp" + "${SERVER_BASE_DIR}/team.cpp" + "${SERVER_BASE_DIR}/team.h" + "${SRCDIR}/game/shared/teamplay_gamerules.cpp" + "${SRCDIR}/game/shared/teamplay_gamerules.h" + "${SRCDIR}/game/shared/tempentity.h" + "${SERVER_BASE_DIR}/TemplateEntities.cpp" + "${SERVER_BASE_DIR}/TemplateEntities.h" + "${SERVER_BASE_DIR}/tempmonster.cpp" + "${SERVER_BASE_DIR}/tesla.cpp" + "${SRCDIR}/game/shared/test_ehandle.cpp" + "${SERVER_BASE_DIR}/test_proxytoggle.cpp" + "${SERVER_BASE_DIR}/test_stressentities.cpp" + "${SERVER_BASE_DIR}/testfunctions.cpp" + "${SERVER_BASE_DIR}/testtraceline.cpp" + "${SERVER_BASE_DIR}/textstatsmgr.cpp" + "${SERVER_BASE_DIR}/timedeventmgr.cpp" + "${SERVER_BASE_DIR}/trains.cpp" + "${SERVER_BASE_DIR}/trains.h" + "${SERVER_BASE_DIR}/triggers.cpp" + "${SERVER_BASE_DIR}/triggers.h" + "${SRCDIR}/game/shared/usercmd.cpp" + "${SERVER_BASE_DIR}/util.cpp" + "${SERVER_BASE_DIR}/util.h" + "${SRCDIR}/game/shared/util_shared.cpp" + "${SERVER_BASE_DIR}/variant_t.cpp" + "${SERVER_BASE_DIR}/vehicle_base.cpp" + "${SERVER_BASE_DIR}/vehicle_baseserver.cpp" + "${SERVER_BASE_DIR}/vehicle_sounds.h" + "${SRCDIR}/game/shared/vehicle_viewblend_shared.cpp" + "${SERVER_BASE_DIR}/vguiscreen.cpp" + "${SERVER_BASE_DIR}/vguiscreen.h" + "${SRCDIR}/public/mathlib/vmatrix.h" + "${SRCDIR}/game/shared/voice_common.h" + "${SRCDIR}/game/shared/voice_gamemgr.cpp" + "${SRCDIR}/game/shared/voice_gamemgr.h" + "${SERVER_BASE_DIR}/waterbullet.cpp" + "${SERVER_BASE_DIR}/waterbullet.h" + "${SERVER_BASE_DIR}/WaterLODControl.cpp" + "${SERVER_BASE_DIR}/wcedit.cpp" + "${SERVER_BASE_DIR}/wcedit.h" + "${SRCDIR}/game/shared/weapon_parse.cpp" + "${SRCDIR}/game/shared/weapon_parse.h" + "${SRCDIR}/game/shared/weapon_proficiency.cpp" + "${SRCDIR}/game/shared/weapon_proficiency.h" + "${SERVER_BASE_DIR}/weight_button.cpp" + "${SERVER_BASE_DIR}/world.cpp" + "${SERVER_BASE_DIR}/world.h" + "${SRCDIR}/game/shared/mp_shareddefs.cpp" + "${SRCDIR}/game/shared/SharedFunctorUtils.h" + "${SRCDIR}/game/server/vote_controller.h" + "${SRCDIR}/game/server/vote_controller.cpp" + # Haptics + "${SRCDIR}/public/haptics/haptic_msgs.cpp" + "$<${IS_WINDOWS}:${SRCDIR}/public/haptics/haptic_utils.cpp>" + + "${SRCDIR}/public/bone_setup.cpp" + "${SRCDIR}/public/collisionutils.cpp" + "${SRCDIR}/public/dt_send.cpp" + "${SRCDIR}/public/dt_utlvector_common.cpp" + "${SRCDIR}/public/dt_utlvector_send.cpp" + "${SRCDIR}/public/editor_sendcommand.cpp" + "${SRCDIR}/public/filesystem_helpers.cpp" + "${SERVER_BASE_DIR}/gamehandle.cpp" + "${SERVER_BASE_DIR}/h_export.cpp" + "${SERVER_BASE_DIR}/init_factory.cpp" + "${SRCDIR}/public/interpolatortypes.cpp" + "${SRCDIR}/game/shared/interval.cpp" + "${SRCDIR}/public/keyframe/keyframe.cpp" + "${SRCDIR}/common/language.cpp" + "${SRCDIR}/public/map_utils.cpp" + "${SRCDIR}/public/networkvar.cpp" + "${SRCDIR}/common/randoverride.cpp" + "${SRCDIR}/public/registry.cpp" + "${SRCDIR}/public/rope_physics.cpp" + "${SRCDIR}/public/scratchpad3d.cpp" + "${SRCDIR}/public/ScratchPadUtils.cpp" + "${SRCDIR}/public/server_class.cpp" + "${SRCDIR}/game/shared/sheetsimulator.cpp" + "${SRCDIR}/public/simple_physics.cpp" + "${SRCDIR}/public/stringregistry.cpp" + "${SRCDIR}/public/studio.cpp" + "${SERVER_BASE_DIR}/GameStats_BasicStatsFunctions.cpp" + + # Temporary Entities + "${SERVER_BASE_DIR}/basetempentity.cpp" + "${SERVER_BASE_DIR}/event_tempentity_tester.cpp" + "${SERVER_BASE_DIR}/movie_explosion.cpp" + "${SERVER_BASE_DIR}/particle_fire.cpp" + "${SERVER_BASE_DIR}/particle_smokegrenade.cpp" + "${SERVER_BASE_DIR}/plasma.cpp" + "${SERVER_BASE_DIR}/plasma.h" + "${SERVER_BASE_DIR}/smoke_trail.h" + "${SERVER_BASE_DIR}/smokestack.cpp" + "${SERVER_BASE_DIR}/smokestack.h" + "${SERVER_BASE_DIR}/smoke_trail.cpp" + "${SRCDIR}/game/shared/SpriteTrail.cpp" + "${SERVER_BASE_DIR}/steamjet.cpp" + "${SERVER_BASE_DIR}/steamjet.h" + "${SERVER_BASE_DIR}/te.cpp" + "${SERVER_BASE_DIR}/te.h" + "${SERVER_BASE_DIR}/te_armorricochet.cpp" + "${SERVER_BASE_DIR}/te_basebeam.cpp" + "${SERVER_BASE_DIR}/te_basebeam.h" + "${SERVER_BASE_DIR}/te_beamentpoint.cpp" + "${SERVER_BASE_DIR}/te_beaments.cpp" + "${SERVER_BASE_DIR}/te_beamfollow.cpp" + "${SERVER_BASE_DIR}/te_beamlaser.cpp" + "${SERVER_BASE_DIR}/te_beampoints.cpp" + "${SERVER_BASE_DIR}/te_beamring.cpp" + "${SERVER_BASE_DIR}/te_beamringpoint.cpp" + "${SERVER_BASE_DIR}/te_beamspline.cpp" + "${SERVER_BASE_DIR}/te_bloodsprite.cpp" + "${SERVER_BASE_DIR}/te_bloodstream.cpp" + "${SERVER_BASE_DIR}/te_breakmodel.cpp" + "${SERVER_BASE_DIR}/te_bspdecal.cpp" + "${SERVER_BASE_DIR}/te_bubbles.cpp" + "${SERVER_BASE_DIR}/te_bubbletrail.cpp" + "${SERVER_BASE_DIR}/te_clientprojectile.cpp" + "${SERVER_BASE_DIR}/te_decal.cpp" + "${SERVER_BASE_DIR}/te_dynamiclight.cpp" + "${SERVER_BASE_DIR}/te_effect_dispatch.cpp" + "${SERVER_BASE_DIR}/te_energysplash.cpp" + "${SERVER_BASE_DIR}/te_explosion.cpp" + "${SERVER_BASE_DIR}/te_fizz.cpp" + "${SERVER_BASE_DIR}/te_footprintdecal.cpp" + "${SERVER_BASE_DIR}/hl2/te_gaussexplosion.cpp" + "${SERVER_BASE_DIR}/te_glassshatter.cpp" + "${SERVER_BASE_DIR}/te_glowsprite.cpp" + "${SERVER_BASE_DIR}/te_impact.cpp" + "${SERVER_BASE_DIR}/te_killplayerattachments.cpp" + "${SERVER_BASE_DIR}/te_largefunnel.cpp" + "${SERVER_BASE_DIR}/te_muzzleflash.cpp" + "${SERVER_BASE_DIR}/te_particlesystem.cpp" + "${SERVER_BASE_DIR}/te_particlesystem.h" + "${SERVER_BASE_DIR}/te_physicsprop.cpp" + "${SERVER_BASE_DIR}/te_playerdecal.cpp" + "${SERVER_BASE_DIR}/te_projecteddecal.cpp" + "${SERVER_BASE_DIR}/te_showline.cpp" + "${SERVER_BASE_DIR}/te_smoke.cpp" + "${SERVER_BASE_DIR}/te_sparks.cpp" + "${SERVER_BASE_DIR}/te_sprite.cpp" + "${SERVER_BASE_DIR}/te_spritespray.cpp" + "${SERVER_BASE_DIR}/te_worlddecal.cpp" + "${SRCDIR}/game/shared/usermessages.cpp" + + # Header Files + "${SRCDIR}/public/mathlib/amd3dx.h" + "${SRCDIR}/game/shared/ammodef.h" + "${SRCDIR}/game/shared/base_playeranimstate.h" + "${SERVER_BASE_DIR}/base_transmit_proxy.h" + "${SRCDIR}/public/basehandle.h" + "${SERVER_BASE_DIR}/basetempentity.h" + "${SRCDIR}/public/tier0/basetypes.h" + "${SRCDIR}/game/shared/beam_flags.h" + "${SRCDIR}/public/tier1/bitbuf.h" + "${SRCDIR}/public/bitvec.h" + "${SRCDIR}/public/bone_accessor.h" + "${SRCDIR}/public/bspfile.h" + "${SRCDIR}/public/bspflags.h" + "${SRCDIR}/public/mathlib/bumpvects.h" + "${SRCDIR}/public/tier1/characterset.h" + "${SRCDIR}/public/tier1/checksum_md5.h" + "${SRCDIR}/public/client_class.h" + "${SRCDIR}/public/client_textmessage.h" + "${SRCDIR}/public/cmodel.h" + "${SRCDIR}/public/vphysics/collision_set.h" + "${SRCDIR}/public/Color.h" + "${SRCDIR}/public/tier0/commonmacros.h" + "${SRCDIR}/public/mathlib/compressed_light_cube.h" + "${SRCDIR}/public/mathlib/compressed_vector.h" + "${SRCDIR}/public/const.h" + "${SRCDIR}/public/vphysics/constraints.h" + "${SRCDIR}/public/coordsize.h" + "${SERVER_BASE_DIR}/cplane.h" + "${SERVER_BASE_DIR}/damagemodifier.h" + "${SRCDIR}/public/datamap.h" + "${SRCDIR}/public/tier0/dbg.h" + "${SRCDIR}/game/shared/death_pose.h" + "${SRCDIR}/game/shared/decals.h" + "${SRCDIR}/public/dlight.h" + "${SRCDIR}/public/dt_common.h" + "${SRCDIR}/public/dt_recv.h" + "${SRCDIR}/public/dt_send.h" + "${SRCDIR}/public/dt_utlvector_common.h" + "${SRCDIR}/public/dt_utlvector_send.h" + "${SRCDIR}/game/shared/effect_dispatch_data.h" + "${SRCDIR}/game/shared/ehandle.h" + "${SRCDIR}/game/shared/entitydatainstantiator.h" + "${SRCDIR}/game/shared/entitylist_base.h" + "${SRCDIR}/game/shared/env_detail_controller.h" + "${SERVER_BASE_DIR}/EventLog.h" + "${SRCDIR}/game/shared/expressionsample.h" + "${SRCDIR}/public/tier0/fasttimer.h" + "${SRCDIR}/public/filesystem.h" + "${SRCDIR}/public/filesystem_helpers.h" + "${SRCDIR}/public/tier1/fmtstr.h" + "${SERVER_BASE_DIR}/fogcontroller.h" + "${SRCDIR}/public/vphysics/friction.h" + "${SRCDIR}/game/shared/func_ladder.h" + "${SRCDIR}/game/shared/gameeventdefs.h" + "${SRCDIR}/game/shared/GameEventListener.h" + "${SRCDIR}/game/shared/gamerules_register.h" + "${SRCDIR}/public/gametrace.h" + "${SERVER_BASE_DIR}/globals.h" + "${SRCDIR}/public/globalvars_base.h" + "${SRCDIR}/game/shared/groundlink.h" + "${SRCDIR}/game/shared/hl2/hl2_vehicle_radar.h" + "${SRCDIR}/public/iachievementmgr.h" + "${SRCDIR}/public/appframework/IAppSystem.h" + "${SRCDIR}/public/icliententity.h" + "${SRCDIR}/public/iclientnetworkable.h" + "${SRCDIR}/public/iclientrenderable.h" + "${SRCDIR}/public/iclientunknown.h" + "${SRCDIR}/public/engine/ICollideable.h" + "${SRCDIR}/public/tier0/icommandline.h" + "${SRCDIR}/public/icvar.h" + "${SRCDIR}/game/shared/IEffects.h" + "${SRCDIR}/public/engine/IEngineSound.h" + "${SRCDIR}/public/engine/IEngineTrace.h" + "${SRCDIR}/public/igameevents.h" + "${SRCDIR}/game/shared/igamemovement.h" + "${SRCDIR}/public/ihandleentity.h" + "${SRCDIR}/public/ihltv.h" + "${SRCDIR}/public/ihltvdirector.h" + "${SRCDIR}/public/vstdlib/IKeyValuesSystem.h" + "${SERVER_BASE_DIR}/ilagcompensationmanager.h" + "${SRCDIR}/public/vgui/ILocalize.h" + "${SRCDIR}/public/materialsystem/imaterial.h" + "${SRCDIR}/public/materialsystem/imaterialsystem.h" + "${SRCDIR}/public/materialsystem/imaterialvar.h" + "${SRCDIR}/game/shared/imovehelper.h" + "${SRCDIR}/game/shared/in_buttons.h" + "${SRCDIR}/public/inetchannelinfo.h" + "${SRCDIR}/game/shared/iplayeranimstate.h" + "${SRCDIR}/game/shared/ipredictionsystem.h" + "${SRCDIR}/public/irecipientfilter.h" + "${SRCDIR}/public/isaverestore.h" + "${SRCDIR}/public/iscratchpad3d.h" + "${SRCDIR}/public/iserverentity.h" + "${SRCDIR}/public/iservernetworkable.h" + "${SRCDIR}/public/iserverunknown.h" + "${SRCDIR}/public/SoundEmitterSystem/isoundemittersystembase.h" + "${SRCDIR}/public/ispatialpartition.h" + "${SRCDIR}/public/engine/IStaticPropMgr.h" + "${SRCDIR}/game/shared/itempents.h" + "${SRCDIR}/public/engine/ivdebugoverlay.h" + "${SRCDIR}/game/shared/IVehicle.h" + "${SRCDIR}/public/engine/ivmodelinfo.h" + "${SRCDIR}/public/tier1/KeyValues.h" + "${SRCDIR}/common/language.h" + "${SRCDIR}/public/tier0/l2cache.h" + "${SERVER_BASE_DIR}/logicrelay.h" + "${SRCDIR}/public/map_utils.h" + "${SERVER_BASE_DIR}/mapentities.h" + "${SRCDIR}/game/shared/mapentities_shared.h" + "${SRCDIR}/public/tier0/mem.h" + "${SRCDIR}/public/tier0/memalloc.h" + "${SRCDIR}/public/tier0/memdbgoff.h" + "${SRCDIR}/public/tier0/memdbgon.h" + "${SERVER_BASE_DIR}/modelentities.h" + "${SRCDIR}/game/shared/movevars_shared.h" + "${SRCDIR}/public/networkvar.h" + "${SERVER_BASE_DIR}/npc_vehicledriver.h" + "${SRCDIR}/game/shared/npcevent.h" + "${SRCDIR}/public/vphysics/object_hash.h" + "${SERVER_BASE_DIR}/particle_system.h" + "${SERVER_BASE_DIR}/physics_cannister.h" + "${SERVER_BASE_DIR}/physics_fx.h" + "${SERVER_BASE_DIR}/physics_impact_damage.h" + "${SRCDIR}/public/tier0/platform.h" + "${SRCDIR}/public/vphysics/player_controller.h" + "${SERVER_BASE_DIR}/playerinfomanager.h" + "${SRCDIR}/game/shared/playernet_vars.h" + "${SRCDIR}/public/PlayerState.h" + "${SRCDIR}/game/shared/precipitation_shared.h" + "${SRCDIR}/game/shared/predictable_entity.h" + "${SRCDIR}/game/shared/predictioncopy.h" + "${SRCDIR}/public/tier1/processor_detect.h" + "${SRCDIR}/game/shared/querycache.h" + "${SRCDIR}/game/shared/props_shared.h" + "${SRCDIR}/public/tier0/protected_things.h" + "${SRCDIR}/public/vstdlib/random.h" + "${SRCDIR}/game/shared/rope_helpers.h" + "${SRCDIR}/game/shared/saverestore_stringtable.h" + "${SRCDIR}/game/shared/saverestore_utlclass.h" + "${SRCDIR}/game/shared/saverestore_utlmap.h" + "${SRCDIR}/game/shared/saverestore_utlrbtree.h" + "${SRCDIR}/public/saverestoretypes.h" + "${SRCDIR}/public/scratchpad3d.h" + "${SERVER_BASE_DIR}/scratchpad_gamedll_helpers.h" + "${SRCDIR}/public/ScratchPadUtils.h" + "${SERVER_BASE_DIR}/sendproxy.h" + "${SRCDIR}/public/shake.h" + "${SRCDIR}/game/shared/shared_classnames.h" + "${SRCDIR}/game/shared/shareddefs.h" + "${SRCDIR}/game/shared/sharedInterface.h" + "${SRCDIR}/game/shared/shot_manipulator.h" + "${SERVER_BASE_DIR}/SkyCamera.h" + "${SRCDIR}/public/soundchars.h" + "${SRCDIR}/game/shared/soundenvelope.h" + "${SRCDIR}/public/soundflags.h" + "${SERVER_BASE_DIR}/soundscape_system.h" + "${SRCDIR}/public/stdstring.h" + "${SRCDIR}/public/string_t.h" + "${SRCDIR}/public/tier1/stringpool.h" + "${SRCDIR}/public/tier1/strtools.h" + "${SRCDIR}/public/studio.h" + "${SRCDIR}/game/shared/sun_shared.h" + "${SRCDIR}/game/shared/takedamageinfo.h" + "${SERVER_BASE_DIR}/te_effect_dispatch.h" + "${SERVER_BASE_DIR}/tesla.h" + "${SERVER_BASE_DIR}/test_stressentities.h" + "${SERVER_BASE_DIR}/textstatsmgr.h" + "${SRCDIR}/public/texture_group_names.h" + "${SERVER_BASE_DIR}/timedeventmgr.h" + "${SRCDIR}/game/shared/usercmd.h" + "${SRCDIR}/game/shared/usermessages.h" + "${SRCDIR}/game/shared/util_shared.h" + "${SRCDIR}/public/UtlCachedFileData.h" + "${SRCDIR}/public/tier1/utldict.h" + "${SRCDIR}/public/tier1/utlfixedmemory.h" + "${SRCDIR}/public/tier1/utlhash.h" + "${SRCDIR}/public/tier1/utllinkedlist.h" + "${SRCDIR}/public/tier1/utlmap.h" + "${SRCDIR}/public/tier1/utlmemory.h" + "${SRCDIR}/public/tier1/utlmultilist.h" + "${SRCDIR}/public/tier1/utlpriorityqueue.h" + "${SRCDIR}/public/tier1/utlrbtree.h" + "${SRCDIR}/public/tier1/UtlSortVector.h" + "${SRCDIR}/public/tier1/utlvector.h" + "${SRCDIR}/public/vallocator.h" + "${SERVER_BASE_DIR}/variant_t.h" + "${SRCDIR}/public/vcollide.h" + "${SRCDIR}/public/vcollide_parse.h" + "${SRCDIR}/public/tier0/vcr_shared.h" + "${SRCDIR}/public/tier0/vcrmode.h" + "${SRCDIR}/public/mathlib/vector.h" + "${SRCDIR}/public/mathlib/vector2d.h" + "${SRCDIR}/public/mathlib/vector4d.h" + "${SERVER_BASE_DIR}/vehicle_base.h" + "${SERVER_BASE_DIR}/vehicle_baseserver.h" + "${SRCDIR}/game/shared/vehicle_viewblend_shared.h" + "${SRCDIR}/public/vphysics/vehicles.h" + "${SRCDIR}/public/vgui/VGUI.h" + "${SRCDIR}/public/vphysics_interface.h" + "${SRCDIR}/game/shared/vphysics_sound.h" + "${SRCDIR}/public/mathlib/vplane.h" + "${SRCDIR}/public/tier0/vprof.h" + "${SRCDIR}/public/vstdlib/vstdlib.h" + "${SRCDIR}/public/winlite.h" + "${SRCDIR}/public/worldsize.h" + "${SRCDIR}/public/zip_uncompressed.h" + "${SRCDIR}/game/shared/mp_shareddefs.h" + "${SRCDIR}/game/shared/econ/ihasowner.h" + + # Haptics + "$<${IS_WINDOWS}:${SRCDIR}/public/haptics/haptic_utils.h>" + + # Tools Framework + "${SERVER_BASE_DIR}/entity_tools_server.cpp" + "${SERVER_BASE_DIR}/toolframework_server.cpp" + "${SERVER_BASE_DIR}/toolframework_server.h" +) + +set_source_files_properties( + "${SRCDIR}/public/bone_setup.cpp" + "${SRCDIR}/public/collisionutils.cpp" + "${SRCDIR}/public/dt_send.cpp" + "${SRCDIR}/public/dt_utlvector_common.cpp" + "${SRCDIR}/public/dt_utlvector_send.cpp" + "${SRCDIR}/public/editor_sendcommand.cpp" + "${SRCDIR}/public/filesystem_helpers.cpp" + "${SERVER_BASE_DIR}/gamehandle.cpp" + "${SERVER_BASE_DIR}/h_export.cpp" + "${SERVER_BASE_DIR}/init_factory.cpp" + "${SRCDIR}/public/interpolatortypes.cpp" + "${SRCDIR}/game/shared/interval.cpp" + "${SRCDIR}/public/keyframe/keyframe.cpp" + "${SRCDIR}/common/language.cpp" + "${SRCDIR}/public/map_utils.cpp" + "${SRCDIR}/public/networkvar.cpp" + "${SRCDIR}/common/randoverride.cpp" + "${SRCDIR}/public/registry.cpp" + "${SRCDIR}/public/rope_physics.cpp" + "${SRCDIR}/public/scratchpad3d.cpp" + "${SRCDIR}/public/ScratchPadUtils.cpp" + "${SRCDIR}/public/server_class.cpp" + "${SRCDIR}/game/shared/sheetsimulator.cpp" + "${SRCDIR}/public/simple_physics.cpp" + "${SRCDIR}/public/stringregistry.cpp" + "${SRCDIR}/public/studio.cpp" + "${SERVER_BASE_DIR}/GameStats_BasicStatsFunctions.cpp" + PROPERTIES SKIP_PRECOMPILE_HEADERS ON +) + +function(target_use_server_base target EXCLUDE_SOURCES) + set(USED_SOURCES ${SERVER_BASE_SOURCE_FILES}) + + if (${EXCLUDE_SOURCES}) + list(REMOVE_ITEM USED_SOURCES ${${EXCLUDE_SOURCES}}) + endif() + + + target_sources( + ${target} PRIVATE + ${USED_SOURCES} + ) + + target_include_directories( + ${target} PRIVATE + "${SERVER_BASE_DIR}" + "${SRCDIR}/game/shared" + "${SRCDIR}/utils/common" + "${SRCDIR}/game/shared/econ" + "${SRCDIR}/game/server/NextBot" + ) + + target_compile_definitions( + ${target} PRIVATE + GAME_DLL + VECTOR + VERSION_SAFE_STEAM_API_INTERFACES + PROTECTED_THINGS_ENABLE + sprintf=use_Q_snprintf_instead_of_sprintf + strncpy=use_Q_strncpy_instead + _snprintf=use_Q_snprintf_instead + $<${IS_POSIX}:SWDS> + $<${IS_WINDOWS}:fopen=dont_use_fopen> + ) + + target_precompile_headers( + ${target} PRIVATE + "${SERVER_BASE_DIR}/cbase.h" + ) + + target_link_libraries( + ${target} PRIVATE + $<${IS_WINDOWS}:winmm> + + "${LIBPUBLIC}/choreoobjects${STATIC_LIB_EXT}" + "${LIBPUBLIC}/particles${STATIC_LIB_EXT}" + "${LIBPUBLIC}/dmxloader${STATIC_LIB_EXT}" + mathlib + "${LIBPUBLIC}/tier2${STATIC_LIB_EXT}" + "${LIBPUBLIC}/tier3${STATIC_LIB_EXT}" + steam_api + ) + +endfunction() \ No newline at end of file diff --git a/sp/src/game/server/server_episodic.cmake b/sp/src/game/server/server_episodic.cmake new file mode 100644 index 00000000000..91f594cc6d6 --- /dev/null +++ b/sp/src/game/server/server_episodic.cmake @@ -0,0 +1,309 @@ +# server_episodic.cmake + +include("${CMAKE_CURRENT_LIST_DIR}/server_base.cmake") + +set(SERVER_EPISODIC_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + SERVER_EPISODIC_SOURCE_FILES + + "${SERVER_EPISODIC_DIR}/ai_eventresponse.cpp" + "${SERVER_EPISODIC_DIR}/ai_eventresponse.h" + "${SERVER_EPISODIC_DIR}/ai_relationship.cpp" + "${SERVER_EPISODIC_DIR}/base_gameinterface.cpp" + "${SERVER_EPISODIC_DIR}/basegrenade_concussion.cpp" + "${SERVER_EPISODIC_DIR}/basegrenade_contact.cpp" + "${SERVER_EPISODIC_DIR}/basegrenade_timed.cpp" + "${SERVER_EPISODIC_DIR}/grenadethrown.cpp" + "${SERVER_EPISODIC_DIR}/grenadethrown.h" + "${SERVER_EPISODIC_DIR}/h_cycler.cpp" + "${SERVER_EPISODIC_DIR}/h_cycler.h" + "${SERVER_EPISODIC_DIR}/logic_achievement.cpp" + "${SERVER_EPISODIC_DIR}/monstermaker.cpp" + "${SERVER_EPISODIC_DIR}/monstermaker.h" + "${SERVER_EPISODIC_DIR}/physics_bone_follower.h" + "${SRCDIR}/game/shared/ragdoll_shared.h" + "${SRCDIR}/game/shared/solidsetdefaults.h" + "${SRCDIR}/game/shared/hl2/survival_gamerules.cpp" + "${SERVER_EPISODIC_DIR}/team_spawnpoint.cpp" + "${SERVER_EPISODIC_DIR}/team_spawnpoint.h" + "${SRCDIR}/game/shared/touchlink.h" + "${SERVER_EPISODIC_DIR}/vehicle_choreo_generic.cpp" + "${SRCDIR}/game/shared/vehicle_choreo_generic_shared.h" + "${SRCDIR}/game/shared/weapon_parse_default.cpp" + + # HL2 DLL + "${SRCDIR}/game/shared/episodic/achievements_ep1.cpp" + "${SRCDIR}/game/shared/episodic/achievements_ep2.cpp" + "${SRCDIR}/game/shared/episodic/achievements_epx.cpp" + "${SERVER_EPISODIC_DIR}/hl2/ai_allymanager.cpp" + "${SERVER_EPISODIC_DIR}/hl2/ai_behavior_actbusy.cpp" + "${SERVER_EPISODIC_DIR}/hl2/ai_behavior_actbusy.h" + "${SERVER_EPISODIC_DIR}/episodic/ai_behavior_alyx_injured.cpp" + "${SERVER_EPISODIC_DIR}/episodic/ai_behavior_alyx_injured.h" + "${SERVER_EPISODIC_DIR}/hl2/ai_behavior_functank.cpp" + "${SERVER_EPISODIC_DIR}/hl2/ai_behavior_functank.h" + "${SERVER_EPISODIC_DIR}/hl2/ai_behavior_holster.cpp" + "${SERVER_EPISODIC_DIR}/hl2/ai_behavior_holster.h" + "${SERVER_EPISODIC_DIR}/hl2/ai_behavior_operator.cpp" + "${SERVER_EPISODIC_DIR}/hl2/ai_behavior_operator.h" + "${SERVER_EPISODIC_DIR}/ai_behavior_passenger.cpp" + "${SERVER_EPISODIC_DIR}/ai_behavior_passenger.h" + "${SERVER_EPISODIC_DIR}/episodic/ai_behavior_passenger_companion.cpp" + "${SERVER_EPISODIC_DIR}/episodic/ai_behavior_passenger_companion.h" + "${SERVER_EPISODIC_DIR}/episodic/ai_behavior_passenger_zombie.cpp" + "${SERVER_EPISODIC_DIR}/episodic/ai_behavior_passenger_zombie.h" + "${SERVER_EPISODIC_DIR}/hl2/ai_behavior_police.cpp" + "${SERVER_EPISODIC_DIR}/hl2/ai_behavior_police.h" + "${SERVER_EPISODIC_DIR}/hl2/ai_goal_police.cpp" + "${SERVER_EPISODIC_DIR}/hl2/ai_goal_police.h" + "${SERVER_EPISODIC_DIR}/hl2/ai_interactions.h" + "${SERVER_EPISODIC_DIR}/hl2/ai_spotlight.cpp" + "${SERVER_EPISODIC_DIR}/hl2/ai_spotlight.h" + "${SERVER_EPISODIC_DIR}/hl2/antlion_dust.cpp" + "${SERVER_EPISODIC_DIR}/hl2/antlion_dust.h" + "${SERVER_EPISODIC_DIR}/hl2/antlion_maker.cpp" + "${SERVER_EPISODIC_DIR}/hl2/antlion_maker.h" + "${SERVER_EPISODIC_DIR}/hl2/ar2_explosion.cpp" + "${SERVER_EPISODIC_DIR}/hl2/ar2_explosion.h" + "${SERVER_EPISODIC_DIR}/basebludgeonweapon.cpp" + "${SERVER_EPISODIC_DIR}/basebludgeonweapon.h" + "${SERVER_EPISODIC_DIR}/hl2/basehlcombatweapon.cpp" + "${SERVER_EPISODIC_DIR}/hl2/basehlcombatweapon.h" + "${SRCDIR}/game/shared/hl2/basehlcombatweapon_shared.cpp" + "${SRCDIR}/game/shared/hl2/basehlcombatweapon_shared.h" + "${SERVER_EPISODIC_DIR}/hl2/cbasehelicopter.cpp" + "${SERVER_EPISODIC_DIR}/hl2/cbasehelicopter.h" + "${SERVER_EPISODIC_DIR}/hl2/cbasespriteprojectile.cpp" + "${SERVER_EPISODIC_DIR}/hl2/cbasespriteprojectile.h" + "${SERVER_EPISODIC_DIR}/hl2/citadel_effects.cpp" + "${SRCDIR}/game/shared/hl2/citadel_effects_shared.h" + "${SERVER_EPISODIC_DIR}/hl2/combine_mine.cpp" + "${SERVER_EPISODIC_DIR}/hl2/combine_mine.h" + "${SERVER_EPISODIC_DIR}/hl2/energy_wave.h" + "${SERVER_EPISODIC_DIR}/hl2/env_alyxemp.cpp" + "${SRCDIR}/game/shared/hl2/env_alyxemp_shared.h" + "${SERVER_EPISODIC_DIR}/hl2/env_headcrabcanister.cpp" + "${SRCDIR}/game/shared/hl2/env_headcrabcanister_shared.cpp" + "${SRCDIR}/game/shared/hl2/env_headcrabcanister_shared.h" + "${SERVER_EPISODIC_DIR}/hl2/env_speaker.cpp" + "${SERVER_EPISODIC_DIR}/hl2/env_starfield.cpp" + "${SERVER_EPISODIC_DIR}/hl2/Func_Monitor.cpp" + "${SERVER_EPISODIC_DIR}/hl2/func_recharge.cpp" + "${SERVER_EPISODIC_DIR}/hl2/func_tank.cpp" + "${SERVER_EPISODIC_DIR}/hl2/func_tank.h" + "${SERVER_EPISODIC_DIR}/hl2/grenade_ar2.cpp" + "${SERVER_EPISODIC_DIR}/hl2/grenade_ar2.h" + "${SERVER_EPISODIC_DIR}/hl2/grenade_bugbait.cpp" + "${SERVER_EPISODIC_DIR}/hl2/grenade_bugbait.h" + "${SERVER_EPISODIC_DIR}/hl2/grenade_frag.cpp" + "${SERVER_EPISODIC_DIR}/hl2/grenade_frag.h" + "${SERVER_EPISODIC_DIR}/hl2/grenade_spit.cpp" + "${SERVER_EPISODIC_DIR}/hl2/grenade_spit.h" + "${SERVER_EPISODIC_DIR}/hl2/hl2_ai_network.cpp" + "${SERVER_EPISODIC_DIR}/hl2/hl2_client.cpp" + "${SERVER_EPISODIC_DIR}/hl2/hl2_eventlog.cpp" + "${SRCDIR}/game/shared/hl2/hl2_gamerules.cpp" + "${SRCDIR}/game/shared/hl2/hl2_gamerules.h" + "${SERVER_EPISODIC_DIR}/hl2/hl2_player.cpp" + "${SERVER_EPISODIC_DIR}/hl2/hl2_player.h" + "${SRCDIR}/game/shared/hl2/hl2_player_shared.h" + "${SERVER_EPISODIC_DIR}/hl2/hl2_playerlocaldata.cpp" + "${SERVER_EPISODIC_DIR}/hl2/hl2_playerlocaldata.h" + "${SRCDIR}/game/shared/hl2/hl2_shareddefs.h" + "${SERVER_EPISODIC_DIR}/hl2/hl2_triggers.cpp" + "${SRCDIR}/game/shared/hl2/hl2_usermessages.cpp" + "${SRCDIR}/game/shared/hl2/hl_gamemovement.cpp" + "${SRCDIR}/game/shared/hl2/hl_gamemovement.h" + "${SRCDIR}/game/shared/hl2/hl_movedata.h" + "${SERVER_EPISODIC_DIR}/hl2/hl_playermove.cpp" + "${SERVER_EPISODIC_DIR}/hl2/info_darknessmode_lightsource.cpp" + "${SERVER_EPISODIC_DIR}/hl2/info_darknessmode_lightsource.h" + "${SERVER_EPISODIC_DIR}/hl2/info_teleporter_countdown.cpp" + "${SERVER_EPISODIC_DIR}/hl2/item_ammo.cpp" + "${SERVER_EPISODIC_DIR}/hl2/item_battery.cpp" + "${SERVER_EPISODIC_DIR}/hl2/item_dynamic_resupply.cpp" + "${SERVER_EPISODIC_DIR}/hl2/item_dynamic_resupply.h" + "${SERVER_EPISODIC_DIR}/hl2/item_healthkit.cpp" + "${SERVER_EPISODIC_DIR}/hl2/item_itemcrate.cpp" + "${SERVER_EPISODIC_DIR}/hl2/item_suit.cpp" + "${SERVER_EPISODIC_DIR}/hl2/look_door.cpp" + "${SERVER_EPISODIC_DIR}/hl2/monster_dummy.cpp" + "${SRCDIR}/game/shared/episodic/npc_advisor_shared.h" + "${SERVER_EPISODIC_DIR}/episodic/npc_advisor.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_alyx_episodic.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_alyx_episodic.h" + "${SERVER_EPISODIC_DIR}/hl2/npc_antlion.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_antlion.h" + "${SERVER_EPISODIC_DIR}/hl2/npc_antlionguard.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_antliongrub.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_apcdriver.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_attackchopper.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_attackchopper.h" + "${SERVER_EPISODIC_DIR}/hl2/npc_barnacle.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_barnacle.h" + "${SERVER_EPISODIC_DIR}/hl2/npc_barney.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_basescanner.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_basescanner.h" + "${SERVER_EPISODIC_DIR}/hl2/npc_BaseZombie.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_BaseZombie.h" + "${SERVER_EPISODIC_DIR}/hl2/npc_breen.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_bullseye.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_bullseye.h" + "${SERVER_EPISODIC_DIR}/hl2/npc_citizen17.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_citizen17.h" + "${SERVER_EPISODIC_DIR}/episodic/npc_combine_cannon.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_combine.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_combine.h" + "${SERVER_EPISODIC_DIR}/hl2/npc_combinecamera.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_combinedropship.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_combinegunship.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_combines.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_combines.h" + "${SERVER_EPISODIC_DIR}/hl2/npc_cranedriver.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_crow.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_crow.h" + "${SERVER_EPISODIC_DIR}/hl2/npc_dog.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_eli.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_enemyfinder.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_fastzombie.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_fisherman.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_gman.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_headcrab.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_headcrab.h" + "${SERVER_EPISODIC_DIR}/episodic/npc_hunter.cpp" + "${SERVER_EPISODIC_DIR}/episodic/npc_hunter.h" + "${SERVER_EPISODIC_DIR}/hl2/npc_ichthyosaur.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_kleiner.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_launcher.cpp" + "${SERVER_EPISODIC_DIR}/episodic/npc_magnusson.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_manhack.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_manhack.h" + "${SERVER_EPISODIC_DIR}/hl2/npc_metropolice.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_metropolice.h" + "${SERVER_EPISODIC_DIR}/hl2/npc_monk.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_mossman.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_playercompanion.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_playercompanion.h" + "${SERVER_EPISODIC_DIR}/hl2/npc_PoisonZombie.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_rollermine.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_rollermine.h" + "${SERVER_EPISODIC_DIR}/hl2/npc_scanner.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_scanner.h" + "${SERVER_EPISODIC_DIR}/hl2/npc_stalker.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_stalker.h" + "${SERVER_EPISODIC_DIR}/hl2/npc_strider.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_strider.h" + "${SERVER_EPISODIC_DIR}/npc_talker.cpp" + "${SERVER_EPISODIC_DIR}/npc_talker.h" + "${SERVER_EPISODIC_DIR}/hl2/npc_turret_ceiling.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_turret_floor.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_turret_ground.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_vortigaunt_episodic.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_vortigaunt_episodic.h" + "${SERVER_EPISODIC_DIR}/hl2/npc_zombie.cpp" + "${SERVER_EPISODIC_DIR}/hl2/npc_zombine.cpp" + "${SERVER_EPISODIC_DIR}/hl2/point_apc_controller.cpp" + "${SERVER_EPISODIC_DIR}/hl2/prop_combine_ball.cpp" + "${SERVER_EPISODIC_DIR}/hl2/prop_combine_ball.h" + "${SERVER_EPISODIC_DIR}/episodic/prop_scalable.cpp" + "${SERVER_EPISODIC_DIR}/hl2/prop_thumper.cpp" + "${SERVER_EPISODIC_DIR}/hl2/proto_sniper.cpp" + "${SERVER_EPISODIC_DIR}/hl2/rotorwash.cpp" + "${SERVER_EPISODIC_DIR}/hl2/rotorwash.h" + "${SERVER_EPISODIC_DIR}/hl2/script_intro.cpp" + "${SERVER_EPISODIC_DIR}/hl2/script_intro.h" + "${SRCDIR}/game/shared/script_intro_shared.cpp" + "${SERVER_EPISODIC_DIR}/hl2/vehicle_airboat.cpp" + "${SERVER_EPISODIC_DIR}/hl2/vehicle_apc.h" + "${SERVER_EPISODIC_DIR}/hl2/vehicle_cannon.cpp" + "${SERVER_EPISODIC_DIR}/hl2/vehicle_crane.cpp" + "${SERVER_EPISODIC_DIR}/hl2/vehicle_crane.h" + "${SERVER_EPISODIC_DIR}/hl2/vehicle_jeep.cpp" + "${SERVER_EPISODIC_DIR}/episodic/vehicle_jeep_episodic.cpp" + "${SERVER_EPISODIC_DIR}/episodic/vehicle_jeep_episodic.h" + "${SERVER_EPISODIC_DIR}/hl2/vehicle_prisoner_pod.cpp" + "${SERVER_EPISODIC_DIR}/hl2/vehicle_viewcontroller.cpp" + "${SERVER_EPISODIC_DIR}/hl2/weapon_357.cpp" + "${SERVER_EPISODIC_DIR}/hl2/weapon_alyxgun.cpp" + "${SERVER_EPISODIC_DIR}/hl2/weapon_alyxgun.h" + "${SERVER_EPISODIC_DIR}/hl2/weapon_annabelle.cpp" + "${SERVER_EPISODIC_DIR}/hl2/weapon_ar2.cpp" + "${SERVER_EPISODIC_DIR}/hl2/weapon_ar2.h" + "${SERVER_EPISODIC_DIR}/hl2/weapon_bugbait.cpp" + "${SERVER_EPISODIC_DIR}/hl2/weapon_citizenpackage.cpp" + "${SERVER_EPISODIC_DIR}/hl2/weapon_citizenpackage.h" + "${SERVER_EPISODIC_DIR}/hl2/weapon_crossbow.cpp" + "${SERVER_EPISODIC_DIR}/hl2/weapon_crowbar.cpp" + "${SERVER_EPISODIC_DIR}/hl2/weapon_crowbar.h" + "${SERVER_EPISODIC_DIR}/weapon_cubemap.cpp" + "${SERVER_EPISODIC_DIR}/hl2/weapon_frag.cpp" + "${SERVER_EPISODIC_DIR}/hl2/weapon_physcannon.cpp" + "${SERVER_EPISODIC_DIR}/hl2/weapon_physcannon.h" + "${SERVER_EPISODIC_DIR}/hl2/weapon_pistol.cpp" + "${SERVER_EPISODIC_DIR}/hl2/weapon_rpg.cpp" + "${SERVER_EPISODIC_DIR}/hl2/weapon_rpg.h" + "${SERVER_EPISODIC_DIR}/hl2/weapon_shotgun.cpp" + "${SERVER_EPISODIC_DIR}/hl2/weapon_smg1.cpp" + "${SERVER_EPISODIC_DIR}/episodic/weapon_striderbuster.cpp" + "${SERVER_EPISODIC_DIR}/episodic/weapon_striderbuster.h" + "${SERVER_EPISODIC_DIR}/hl2/weapon_stunstick.cpp" + "${SERVER_EPISODIC_DIR}/hl2/weapon_stunstick.h" + "${SERVER_EPISODIC_DIR}/episodic/ep1_gamestats.h" + "${SERVER_EPISODIC_DIR}/episodic/ep2_gamestats.h" + "${SERVER_EPISODIC_DIR}/episodic/ep1_gamestats.cpp" + "${SERVER_EPISODIC_DIR}/episodic/ep2_gamestats.cpp" + "${SERVER_EPISODIC_DIR}/hl2/func_bulletshield.cpp" + "${SERVER_EPISODIC_DIR}/hl2/func_bulletshield.h" + "${SERVER_EPISODIC_DIR}/episodic/npc_puppet.cpp" + + # HL2 DLL->Unused + "${SERVER_EPISODIC_DIR}/hl2/grenade_beam.cpp" + "${SERVER_EPISODIC_DIR}/hl2/grenade_beam.h" + "${SERVER_EPISODIC_DIR}/hl2/grenade_homer.cpp" + "${SERVER_EPISODIC_DIR}/hl2/grenade_homer.h" + "${SERVER_EPISODIC_DIR}/hl2/grenade_pathfollower.cpp" + "${SERVER_EPISODIC_DIR}/hl2/grenade_pathfollower.h" + "${SERVER_EPISODIC_DIR}/hl2/npc_missiledefense.cpp" + "${SERVER_EPISODIC_DIR}/hl2/vehicle_apc.cpp" + "${SERVER_EPISODIC_DIR}/hl2/weapon_cguard.cpp" + "${SERVER_EPISODIC_DIR}/hl2/weapon_flaregun.cpp" + "${SERVER_EPISODIC_DIR}/hl2/weapon_flaregun.h" +) + +set_source_files_properties( + "${SERVER_EPISODIC_DIR}/episodic/ep1_gamestats.cpp" + "${SERVER_EPISODIC_DIR}/episodic/ep2_gamestats.cpp" + PROPERTIES SKIP_PRECOMPILE_HEADERS ON +) + +set( + SERVER_EPISODIC_EXCLUDE_SOURCES +) + +add_library(server_episodic MODULE ${SERVER_EPISODIC_SOURCE_FILES}) + +set_target_properties( + server_episodic PROPERTIES + OUTPUT_NAME "server" + PREFIX "" + LIBRARY_OUTPUT_DIRECTORY "${GAMEDIR}/mod_episodic/bin" + LIBRARY_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/mod_episodic/bin" + LIBRARY_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/mod_episodic/bin" +) + +target_use_server_base(server_episodic SERVER_EPISODIC_EXCLUDE_SOURCES) + +target_include_directories( + server_episodic PRIVATE + "${SRCDIR}/game/shared/hl2" + "${SRCDIR}/game/shared/episodic" + "${SERVER_EPISODIC_DIR}/hl2" + "${SERVER_EPISODIC_DIR}/episodic" +) + +target_compile_definitions( + server_episodic PRIVATE + HL2_DLL + HL2_EPISODIC + USES_SAVERESTORE +) diff --git a/sp/src/game/server/server_hl2.cmake b/sp/src/game/server/server_hl2.cmake new file mode 100644 index 00000000000..46a518df1c5 --- /dev/null +++ b/sp/src/game/server/server_hl2.cmake @@ -0,0 +1,276 @@ +# server_hl2.cmake + +include("${CMAKE_CURRENT_LIST_DIR}/server_base.cmake") + +set(SERVER_HL2_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + SERVER_HL2_SOURCE_FILES + + "${SERVER_HL2_DIR}/ai_eventresponse.cpp" + "${SERVER_HL2_DIR}/ai_eventresponse.h" + "${SERVER_HL2_DIR}/ai_relationship.cpp" + "${SERVER_HL2_DIR}/base_gameinterface.cpp" + "${SERVER_HL2_DIR}/basegrenade_concussion.cpp" + "${SERVER_HL2_DIR}/basegrenade_contact.cpp" + "${SERVER_HL2_DIR}/basegrenade_timed.cpp" + "${SERVER_HL2_DIR}/EntityFlame.h" + "${SERVER_HL2_DIR}/hl2/Func_Monitor.cpp" + "${SERVER_HL2_DIR}/grenadethrown.cpp" + "${SERVER_HL2_DIR}/grenadethrown.h" + "${SERVER_HL2_DIR}/h_cycler.cpp" + "${SERVER_HL2_DIR}/h_cycler.h" + "${SERVER_HL2_DIR}/logic_achievement.cpp" + "${SERVER_HL2_DIR}/monstermaker.cpp" + "${SERVER_HL2_DIR}/monstermaker.h" + "${SERVER_HL2_DIR}/physics_bone_follower.h" + "${SRCDIR}/game/shared/ragdoll_shared.h" + "${SRCDIR}/game/shared/solidsetdefaults.h" + "${SRCDIR}/game/shared/hl2/survival_gamerules.cpp" + "${SERVER_HL2_DIR}/team_spawnpoint.cpp" + "${SERVER_HL2_DIR}/team_spawnpoint.h" + "${SRCDIR}/game/shared/touchlink.h" + "${SERVER_HL2_DIR}/vehicle_choreo_generic.cpp" + "${SRCDIR}/game/shared/vehicle_choreo_generic_shared.h" + "${SRCDIR}/game/shared/weapon_parse_default.cpp" + + # HL2 DLL + "${SRCDIR}/game/shared/hl2/achievements_hl2.cpp" + "${SERVER_HL2_DIR}/hl2/ai_allymanager.cpp" + "${SERVER_HL2_DIR}/hl2/ai_behavior_actbusy.cpp" + "${SERVER_HL2_DIR}/hl2/ai_behavior_actbusy.h" + "${SERVER_HL2_DIR}/hl2/ai_behavior_functank.cpp" + "${SERVER_HL2_DIR}/hl2/ai_behavior_functank.h" + "${SERVER_HL2_DIR}/hl2/ai_behavior_holster.cpp" + "${SERVER_HL2_DIR}/hl2/ai_behavior_holster.h" + "${SERVER_HL2_DIR}/hl2/ai_behavior_operator.cpp" + "${SERVER_HL2_DIR}/hl2/ai_behavior_operator.h" + "${SERVER_HL2_DIR}/hl2/ai_behavior_police.cpp" + "${SERVER_HL2_DIR}/hl2/ai_behavior_police.h" + "${SERVER_HL2_DIR}/hl2/ai_goal_police.cpp" + "${SERVER_HL2_DIR}/hl2/ai_goal_police.h" + "${SERVER_HL2_DIR}/hl2/ai_interactions.h" + "${SERVER_HL2_DIR}/hl2/ai_spotlight.cpp" + "${SERVER_HL2_DIR}/hl2/ai_spotlight.h" + "${SERVER_HL2_DIR}/hl2/antlion_dust.cpp" + "${SERVER_HL2_DIR}/hl2/antlion_dust.h" + "${SERVER_HL2_DIR}/hl2/antlion_maker.cpp" + "${SERVER_HL2_DIR}/hl2/antlion_maker.h" + "${SERVER_HL2_DIR}/hl2/ar2_explosion.cpp" + "${SERVER_HL2_DIR}/hl2/ar2_explosion.h" + "${SERVER_HL2_DIR}/basebludgeonweapon.cpp" + "${SERVER_HL2_DIR}/basebludgeonweapon.h" + "${SERVER_HL2_DIR}/hl2/basehlcombatweapon.cpp" + "${SERVER_HL2_DIR}/hl2/basehlcombatweapon.h" + "${SRCDIR}/game/shared/hl2/basehlcombatweapon_shared.cpp" + "${SRCDIR}/game/shared/hl2/basehlcombatweapon_shared.h" + "${SERVER_HL2_DIR}/hl2/cbasehelicopter.cpp" + "${SERVER_HL2_DIR}/hl2/cbasehelicopter.h" + "${SERVER_HL2_DIR}/hl2/cbasespriteprojectile.cpp" + "${SERVER_HL2_DIR}/hl2/cbasespriteprojectile.h" + "${SERVER_HL2_DIR}/hl2/citadel_effects.cpp" + "${SRCDIR}/game/shared/hl2/citadel_effects_shared.h" + "${SERVER_HL2_DIR}/hl2/combine_mine.cpp" + "${SERVER_HL2_DIR}/hl2/combine_mine.h" + "${SERVER_HL2_DIR}/hl2/energy_wave.h" + "${SERVER_HL2_DIR}/hl2/env_alyxemp.cpp" + "${SRCDIR}/game/shared/hl2/env_alyxemp_shared.h" + "${SERVER_HL2_DIR}/hl2/env_headcrabcanister.cpp" + "${SRCDIR}/game/shared/hl2/env_headcrabcanister_shared.cpp" + "${SRCDIR}/game/shared/hl2/env_headcrabcanister_shared.h" + "${SERVER_HL2_DIR}/hl2/env_speaker.cpp" + "${SERVER_HL2_DIR}/hl2/env_speaker.h" + "${SERVER_HL2_DIR}/hl2/env_starfield.cpp" + "${SERVER_HL2_DIR}/hl2/func_recharge.cpp" + "${SERVER_HL2_DIR}/hl2/func_tank.cpp" + "${SERVER_HL2_DIR}/hl2/func_tank.h" + "${SERVER_HL2_DIR}/hl2/grenade_ar2.cpp" + "${SERVER_HL2_DIR}/hl2/grenade_ar2.h" + "${SERVER_HL2_DIR}/hl2/grenade_bugbait.cpp" + "${SERVER_HL2_DIR}/hl2/grenade_bugbait.h" + "${SERVER_HL2_DIR}/hl2/grenade_frag.cpp" + "${SERVER_HL2_DIR}/hl2/grenade_frag.h" + "${SERVER_HL2_DIR}/hl2/hl2_ai_network.cpp" + "${SERVER_HL2_DIR}/hl2/hl2_client.cpp" + "${SERVER_HL2_DIR}/hl2/hl2_eventlog.cpp" + "${SRCDIR}/game/shared/hl2/hl2_gamerules.cpp" + "${SRCDIR}/game/shared/hl2/hl2_gamerules.h" + "${SERVER_HL2_DIR}/hl2/hl2_gamestats.cpp" + "${SERVER_HL2_DIR}/hl2/hl2_gamestats.h" + "${SERVER_HL2_DIR}/hl2/hl2_player.cpp" + "${SERVER_HL2_DIR}/hl2/hl2_player.h" + "${SRCDIR}/game/shared/hl2/hl2_player_shared.h" + "${SERVER_HL2_DIR}/hl2/hl2_playerlocaldata.cpp" + "${SERVER_HL2_DIR}/hl2/hl2_playerlocaldata.h" + "${SRCDIR}/game/shared/hl2/hl2_shareddefs.h" + "${SERVER_HL2_DIR}/hl2/hl2_triggers.cpp" + "${SRCDIR}/game/shared/hl2/hl2_usermessages.cpp" + "${SRCDIR}/game/shared/hl2/hl_gamemovement.cpp" + "${SRCDIR}/game/shared/hl2/hl_gamemovement.h" + "${SRCDIR}/game/shared/hl2/hl_movedata.h" + "${SERVER_HL2_DIR}/hl2/hl_playermove.cpp" + "${SERVER_HL2_DIR}/hl2/info_darknessmode_lightsource.cpp" + "${SERVER_HL2_DIR}/hl2/info_darknessmode_lightsource.h" + "${SERVER_HL2_DIR}/hl2/info_teleporter_countdown.cpp" + "${SERVER_HL2_DIR}/hl2/item_ammo.cpp" + "${SERVER_HL2_DIR}/hl2/item_battery.cpp" + "${SERVER_HL2_DIR}/hl2/item_dynamic_resupply.cpp" + "${SERVER_HL2_DIR}/hl2/item_dynamic_resupply.h" + "${SERVER_HL2_DIR}/hl2/item_healthkit.cpp" + "${SERVER_HL2_DIR}/hl2/item_itemcrate.cpp" + "${SERVER_HL2_DIR}/hl2/item_suit.cpp" + "${SERVER_HL2_DIR}/hl2/look_door.cpp" + "${SERVER_HL2_DIR}/hl2/monster_dummy.cpp" + "${SERVER_HL2_DIR}/hl2/npc_alyx.cpp" + "${SERVER_HL2_DIR}/hl2/npc_alyx.h" + "${SERVER_HL2_DIR}/hl2/npc_alyx_episodic.h" + "${SERVER_HL2_DIR}/hl2/npc_antlion.cpp" + "${SERVER_HL2_DIR}/hl2/npc_antlion.h" + "${SERVER_HL2_DIR}/hl2/npc_antlionguard.cpp" + "${SERVER_HL2_DIR}/hl2/npc_apcdriver.cpp" + "${SERVER_HL2_DIR}/hl2/npc_attackchopper.cpp" + "${SERVER_HL2_DIR}/hl2/npc_attackchopper.h" + "${SERVER_HL2_DIR}/hl2/npc_barnacle.cpp" + "${SERVER_HL2_DIR}/hl2/npc_barnacle.h" + "${SERVER_HL2_DIR}/hl2/npc_barney.cpp" + "${SERVER_HL2_DIR}/hl2/npc_basescanner.cpp" + "${SERVER_HL2_DIR}/hl2/npc_basescanner.h" + "${SERVER_HL2_DIR}/hl2/npc_BaseZombie.cpp" + "${SERVER_HL2_DIR}/hl2/npc_BaseZombie.h" + "${SERVER_HL2_DIR}/hl2/npc_blob.cpp" + "${SERVER_HL2_DIR}/hl2/npc_breen.cpp" + "${SERVER_HL2_DIR}/hl2/npc_bullseye.cpp" + "${SERVER_HL2_DIR}/hl2/npc_bullseye.h" + "${SERVER_HL2_DIR}/hl2/npc_citizen17.cpp" + "${SERVER_HL2_DIR}/hl2/npc_citizen17.h" + "${SERVER_HL2_DIR}/hl2/npc_combine.cpp" + "${SERVER_HL2_DIR}/hl2/npc_combine.h" + "${SERVER_HL2_DIR}/hl2/npc_combinecamera.cpp" + "${SERVER_HL2_DIR}/hl2/npc_combinedropship.cpp" + "${SERVER_HL2_DIR}/hl2/npc_combinegunship.cpp" + "${SERVER_HL2_DIR}/hl2/npc_combines.cpp" + "${SERVER_HL2_DIR}/hl2/npc_combines.h" + "${SERVER_HL2_DIR}/hl2/npc_cranedriver.cpp" + "${SERVER_HL2_DIR}/hl2/npc_crow.cpp" + "${SERVER_HL2_DIR}/hl2/npc_crow.h" + "${SERVER_HL2_DIR}/hl2/npc_dog.cpp" + "${SERVER_HL2_DIR}/hl2/npc_eli.cpp" + "${SERVER_HL2_DIR}/hl2/npc_enemyfinder.cpp" + "${SERVER_HL2_DIR}/hl2/npc_fastzombie.cpp" + "${SERVER_HL2_DIR}/hl2/npc_fisherman.cpp" + "${SERVER_HL2_DIR}/hl2/npc_gman.cpp" + "${SERVER_HL2_DIR}/hl2/npc_headcrab.cpp" + "${SERVER_HL2_DIR}/hl2/npc_headcrab.h" + "${SERVER_HL2_DIR}/hl2/npc_ichthyosaur.cpp" + "${SERVER_HL2_DIR}/hl2/npc_kleiner.cpp" + "${SERVER_HL2_DIR}/hl2/npc_launcher.cpp" + "${SERVER_HL2_DIR}/hl2/npc_manhack.cpp" + "${SERVER_HL2_DIR}/hl2/npc_manhack.h" + "${SERVER_HL2_DIR}/hl2/npc_metropolice.cpp" + "${SERVER_HL2_DIR}/hl2/npc_metropolice.h" + "${SERVER_HL2_DIR}/hl2/npc_monk.cpp" + "${SERVER_HL2_DIR}/hl2/npc_mossman.cpp" + "${SERVER_HL2_DIR}/hl2/npc_playercompanion.cpp" + "${SERVER_HL2_DIR}/hl2/npc_playercompanion.h" + "${SERVER_HL2_DIR}/hl2/npc_PoisonZombie.cpp" + "${SERVER_HL2_DIR}/hl2/npc_rollermine.cpp" + "${SERVER_HL2_DIR}/hl2/npc_rollermine.h" + "${SERVER_HL2_DIR}/hl2/npc_scanner.cpp" + "${SERVER_HL2_DIR}/hl2/npc_scanner.h" + "${SERVER_HL2_DIR}/hl2/npc_stalker.cpp" + "${SERVER_HL2_DIR}/hl2/npc_stalker.h" + "${SERVER_HL2_DIR}/hl2/npc_strider.cpp" + "${SERVER_HL2_DIR}/hl2/npc_strider.h" + "${SERVER_HL2_DIR}/npc_talker.cpp" + "${SERVER_HL2_DIR}/npc_talker.h" + "${SERVER_HL2_DIR}/hl2/npc_turret_ceiling.cpp" + "${SERVER_HL2_DIR}/hl2/npc_turret_floor.cpp" + "${SERVER_HL2_DIR}/hl2/npc_turret_floor.h" + "${SERVER_HL2_DIR}/hl2/npc_turret_ground.cpp" + "${SERVER_HL2_DIR}/hl2/npc_turret_ground.h" + "${SERVER_HL2_DIR}/hl2/npc_vortigaunt_episodic.cpp" + "${SERVER_HL2_DIR}/hl2/npc_vortigaunt_episodic.h" + "${SERVER_HL2_DIR}/hl2/npc_zombie.cpp" + "${SERVER_HL2_DIR}/hl2/point_apc_controller.cpp" + "${SERVER_HL2_DIR}/hl2/prop_combine_ball.cpp" + "${SERVER_HL2_DIR}/hl2/prop_combine_ball.h" + "${SERVER_HL2_DIR}/hl2/prop_thumper.cpp" + "${SERVER_HL2_DIR}/hl2/proto_sniper.cpp" + "${SERVER_HL2_DIR}/hl2/rotorwash.cpp" + "${SERVER_HL2_DIR}/hl2/rotorwash.h" + "${SERVER_HL2_DIR}/hl2/script_intro.cpp" + "${SERVER_HL2_DIR}/hl2/script_intro.h" + "${SRCDIR}/game/shared/script_intro_shared.cpp" + "${SERVER_HL2_DIR}/hl2/vehicle_airboat.cpp" + "${SERVER_HL2_DIR}/hl2/vehicle_apc.h" + "${SERVER_HL2_DIR}/hl2/vehicle_cannon.cpp" + "${SERVER_HL2_DIR}/hl2/vehicle_crane.cpp" + "${SERVER_HL2_DIR}/hl2/vehicle_crane.h" + "${SERVER_HL2_DIR}/hl2/vehicle_jeep.cpp" + "${SERVER_HL2_DIR}/hl2/vehicle_prisoner_pod.cpp" + "${SERVER_HL2_DIR}/hl2/vehicle_viewcontroller.cpp" + "${SERVER_HL2_DIR}/hl2/weapon_357.cpp" + "${SERVER_HL2_DIR}/hl2/weapon_alyxgun.cpp" + "${SERVER_HL2_DIR}/hl2/weapon_alyxgun.h" + "${SERVER_HL2_DIR}/hl2/weapon_annabelle.cpp" + "${SERVER_HL2_DIR}/hl2/weapon_ar2.cpp" + "${SERVER_HL2_DIR}/hl2/weapon_ar2.h" + "${SERVER_HL2_DIR}/hl2/weapon_bugbait.cpp" + "${SERVER_HL2_DIR}/hl2/weapon_citizenpackage.cpp" + "${SERVER_HL2_DIR}/hl2/weapon_citizenpackage.h" + "${SERVER_HL2_DIR}/hl2/weapon_crossbow.cpp" + "${SERVER_HL2_DIR}/hl2/weapon_crowbar.cpp" + "${SERVER_HL2_DIR}/hl2/weapon_crowbar.h" + "${SERVER_HL2_DIR}/weapon_cubemap.cpp" + "${SERVER_HL2_DIR}/hl2/weapon_frag.cpp" + "${SERVER_HL2_DIR}/hl2/weapon_physcannon.cpp" + "${SERVER_HL2_DIR}/hl2/weapon_physcannon.h" + "${SERVER_HL2_DIR}/hl2/weapon_pistol.cpp" + "${SERVER_HL2_DIR}/hl2/weapon_rpg.cpp" + "${SERVER_HL2_DIR}/hl2/weapon_rpg.h" + "${SERVER_HL2_DIR}/hl2/weapon_shotgun.cpp" + "${SERVER_HL2_DIR}/hl2/weapon_smg1.cpp" + "${SERVER_HL2_DIR}/hl2/weapon_stunstick.cpp" + "${SERVER_HL2_DIR}/hl2/weapon_stunstick.h" + + # HL2 DLL->Unused + "${SERVER_HL2_DIR}/hl2/grenade_beam.cpp" + "${SERVER_HL2_DIR}/hl2/grenade_beam.h" + "${SERVER_HL2_DIR}/hl2/grenade_homer.cpp" + "${SERVER_HL2_DIR}/hl2/grenade_homer.h" + "${SERVER_HL2_DIR}/hl2/grenade_pathfollower.cpp" + "${SERVER_HL2_DIR}/hl2/grenade_pathfollower.h" + "${SERVER_HL2_DIR}/hl2/npc_missiledefense.cpp" + "${SERVER_HL2_DIR}/hl2/vehicle_apc.cpp" + "${SERVER_HL2_DIR}/hl2/weapon_cguard.cpp" + "${SERVER_HL2_DIR}/hl2/weapon_flaregun.cpp" + "${SERVER_HL2_DIR}/hl2/weapon_flaregun.h" +) + +set( + SERVER_HL2_EXCLUDE_SOURCES +) + +add_library(server_hl2 MODULE ${SERVER_HL2_SOURCE_FILES}) + +set_target_properties( + server_hl2 PROPERTIES + OUTPUT_NAME "server" + PREFIX "" + LIBRARY_OUTPUT_DIRECTORY "${GAMEDIR}/mod_hl2/bin" + LIBRARY_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/mod_hl2/bin" + LIBRARY_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/mod_hl2/bin" +) + +target_use_server_base(server_hl2 SERVER_HL2_EXCLUDE_SOURCES) + +target_include_directories( + server_hl2 PRIVATE + "${SRCDIR}/game/shared/hl2" + "${SERVER_HL2_DIR}/hl2" +) + +target_compile_definitions( + server_hl2 PRIVATE + HL2_DLL + USES_SAVERESTORE +) diff --git a/sp/src/materialsystem/stdshaders/game_shader_dx9_base.cmake b/sp/src/materialsystem/stdshaders/game_shader_dx9_base.cmake new file mode 100644 index 00000000000..46b231bdb98 --- /dev/null +++ b/sp/src/materialsystem/stdshaders/game_shader_dx9_base.cmake @@ -0,0 +1,61 @@ +# game_shader_dx9_base.cmake + +include_guard(GLOBAL) + +set(GAME_SHADER_DX9_BASE_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + GAME_SHADER_DX9_BASE_SOURCE_FILES + "${GAME_SHADER_DX9_BASE_DIR}/BaseVSShader.cpp" + + "${GAME_SHADER_DX9_BASE_DIR}/example_model_dx9.cpp" + "${GAME_SHADER_DX9_BASE_DIR}/example_model_dx9_helper.cpp" + + "${GAME_SHADER_DX9_BASE_DIR}/Bloom.cpp" + "${GAME_SHADER_DX9_BASE_DIR}/screenspace_general.cpp" + + # Header Files + "${GAME_SHADER_DX9_BASE_DIR}/BaseVSShader.h" + "${GAME_SHADER_DX9_BASE_DIR}/common_fxc.h" + "${GAME_SHADER_DX9_BASE_DIR}/common_hlsl_cpp_consts.h" + "${GAME_SHADER_DX9_BASE_DIR}/common_ps_fxc.h" + "${GAME_SHADER_DX9_BASE_DIR}/common_vertexlitgeneric_dx9.h" + "${GAME_SHADER_DX9_BASE_DIR}/common_vs_fxc.h" + "${GAME_SHADER_DX9_BASE_DIR}/shader_constant_register_map.h" + + "${GAME_SHADER_DX9_BASE_DIR}/example_model_dx9_helper.h" + + # Miscellaneous + "${GAME_SHADER_DX9_BASE_DIR}/buildsdkshaders.bat" + "${GAME_SHADER_DX9_BASE_DIR}/buildshaders.bat" + + "${GAME_SHADER_DX9_BASE_DIR}/stdshader_dx9_20b.txt" + "${GAME_SHADER_DX9_BASE_DIR}/stdshader_dx9_30.txt" +) + +function(target_use_game_shader_dx9_base target) + target_sources( + ${target} PRIVATE + ${GAME_SHADER_DX9_BASE_SOURCE_FILES} + ) + + target_include_directories( + ${target} PRIVATE + "${GAME_SHADER_DX9_BASE_DIR}/fxctmp9" + "${GAME_SHADER_DX9_BASE_DIR}/vshtmp9" + ) + + target_compile_definitions( + ${target} PRIVATE + STDSHADER_DX9_DLL_EXPORT + FAST_MATERIALVAR_ACCESS + GAME_SHADER_DLL + $<$:USE_ACTUAL_DX> + ) + + target_link_libraries( + ${target} PRIVATE + "$<${IS_WINDOWS}:version;winmm>" + mathlib + "${LIBPUBLIC}/shaderlib${STATIC_LIB_EXT}" + ) +endfunction() \ No newline at end of file diff --git a/sp/src/materialsystem/stdshaders/game_shader_dx9_episodic.cmake b/sp/src/materialsystem/stdshaders/game_shader_dx9_episodic.cmake new file mode 100644 index 00000000000..cbe45cc625e --- /dev/null +++ b/sp/src/materialsystem/stdshaders/game_shader_dx9_episodic.cmake @@ -0,0 +1,15 @@ +# game_shader_dx9_episodic.cmake + +include( "${CMAKE_CURRENT_LIST_DIR}/game_shader_dx9_base.cmake") + +add_library(game_shader_dx9_episodic MODULE) + +set_target_properties( + game_shader_dx9_episodic PROPERTIES + PREFIX "" + LIBRARY_OUTPUT_DIRECTORY "${GAMEDIR}/mod_episodic/bin" + LIBRARY_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/mod_episodic/bin" + LIBRARY_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/mod_episodic/bin" +) + +target_use_game_shader_dx9_base(game_shader_dx9_episodic) \ No newline at end of file diff --git a/sp/src/materialsystem/stdshaders/game_shader_dx9_hl2.cmake b/sp/src/materialsystem/stdshaders/game_shader_dx9_hl2.cmake new file mode 100644 index 00000000000..2a0cd587273 --- /dev/null +++ b/sp/src/materialsystem/stdshaders/game_shader_dx9_hl2.cmake @@ -0,0 +1,15 @@ +# game_shader_dx9_hl2.cmake + +include( "${CMAKE_CURRENT_LIST_DIR}/game_shader_dx9_base.cmake") + +add_library(game_shader_dx9_hl2 MODULE) + +set_target_properties( + game_shader_dx9_hl2 PROPERTIES + PREFIX "" + LIBRARY_OUTPUT_DIRECTORY "${GAMEDIR}/mod_hl2/bin" + LIBRARY_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/mod_hl2/bin" + LIBRARY_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/mod_hl2/bin" +) + +target_use_game_shader_dx9_base(game_shader_dx9_hl2) \ No newline at end of file diff --git a/sp/src/mathlib/mathlib.cmake b/sp/src/mathlib/mathlib.cmake new file mode 100644 index 00000000000..751f3938a47 --- /dev/null +++ b/sp/src/mathlib/mathlib.cmake @@ -0,0 +1,71 @@ +# mathlib.cmake + +set(MATHLIB_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + MATHLIB_SOURCE_FILES + + "${MATHLIB_DIR}/color_conversion.cpp" + "${MATHLIB_DIR}/halton.cpp" + "${MATHLIB_DIR}/lightdesc.cpp" + "${MATHLIB_DIR}/mathlib_base.cpp" + "${MATHLIB_DIR}/powsse.cpp" + "${MATHLIB_DIR}/sparse_convolution_noise.cpp" + "${MATHLIB_DIR}/sseconst.cpp" + "${MATHLIB_DIR}/sse.cpp" + "${MATHLIB_DIR}/ssenoise.cpp" + "$<$:${MATHLIB_DIR}/3dnow.cpp>" + "${MATHLIB_DIR}/anorms.cpp" + "${MATHLIB_DIR}/bumpvects.cpp" + "${MATHLIB_DIR}/IceKey.cpp" + "${MATHLIB_DIR}/imagequant.cpp" + "${MATHLIB_DIR}/polyhedron.cpp" + "${MATHLIB_DIR}/quantize.cpp" + "${MATHLIB_DIR}/randsse.cpp" + "${MATHLIB_DIR}/spherical.cpp" + "${MATHLIB_DIR}/simdvectormatrix.cpp" + "${MATHLIB_DIR}/vector.cpp" + "${MATHLIB_DIR}/vmatrix.cpp" + "${MATHLIB_DIR}/almostequal.cpp" + + # Public Header Files + "$<$:${SRCDIR}/public/mathlib/amd3dx.h>" + "${SRCDIR}/public/mathlib/anorms.h" + "${SRCDIR}/public/mathlib/bumpvects.h" + "${SRCDIR}/public/mathlib/compressed_3d_unitvec.h" + "${SRCDIR}/public/mathlib/compressed_light_cube.h" + "${SRCDIR}/public/mathlib/compressed_vector.h" + "${SRCDIR}/public/mathlib/halton.h" + "${SRCDIR}/public/mathlib/IceKey.H" + "${SRCDIR}/public/mathlib/lightdesc.h" + "${SRCDIR}/public/mathlib/math_pfns.h" + "${SRCDIR}/public/mathlib/mathlib.h" + "${SRCDIR}/public/mathlib/noise.h" + "${SRCDIR}/public/mathlib/polyhedron.h" + "${SRCDIR}/public/mathlib/quantize.h" + "${SRCDIR}/public/mathlib/simdvectormatrix.h" + "${SRCDIR}/public/mathlib/spherical_geometry.h" + "${SRCDIR}/public/mathlib/ssemath.h" + "${SRCDIR}/public/mathlib/ssequaternion.h" + "${SRCDIR}/public/mathlib/vector.h" + "${SRCDIR}/public/mathlib/vector2d.h" + "${SRCDIR}/public/mathlib/vector4d.h" + "${SRCDIR}/public/mathlib/vmatrix.h" + "${SRCDIR}/public/mathlib/vplane.h" + + # Header Files + "${MATHLIB_DIR}/noisedata.h" + "${MATHLIB_DIR}/sse.h" + "$<$:${MATHLIB_DIR}/3dnow.h>" +) + +add_library(mathlib STATIC ${MATHLIB_SOURCE_FILES}) + +target_include_directories( + mathlib PRIVATE + "${SRCDIR}/public/mathlib" +) + +target_compile_definitions( + mathlib PRIVATE + MATHLIB_LIB +) \ No newline at end of file diff --git a/sp/src/public/tier0/memoverride.cpp b/sp/src/public/tier0/memoverride.cpp index 85f0988fcef..6faab2d9ea6 100644 --- a/sp/src/public/tier0/memoverride.cpp +++ b/sp/src/public/tier0/memoverride.cpp @@ -1257,7 +1257,6 @@ _TSCHAR * __cdecl _ttempnam ( const _TSCHAR *dir, const _TSCHAR *pfx ) Assert(0); return 0; } -#endif wchar_t * __cdecl _wcsdup_dbg ( const wchar_t * string, int nBlockUse, const char * szFileName, int nLine ) { @@ -1270,7 +1269,7 @@ wchar_t * __cdecl _wcsdup ( const wchar_t * string ) Assert(0); return 0; } - +#endif } // end extern "C" #if _MSC_VER >= 1400 diff --git a/sp/src/raytrace/raytrace.cmake b/sp/src/raytrace/raytrace.cmake new file mode 100644 index 00000000000..f81d172836f --- /dev/null +++ b/sp/src/raytrace/raytrace.cmake @@ -0,0 +1,16 @@ +# raytrace.cmake + +set(RAYTRACE_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + RAYTRACE_SOURCE_FILES + + "${RAYTRACE_DIR}/raytrace.cpp" + "${RAYTRACE_DIR}/trace2.cpp" + "${RAYTRACE_DIR}/trace3.cpp" +) + +add_library(raytrace STATIC ${RAYTRACE_SOURCE_FILES}) +target_include_directories( + raytrace PRIVATE + "${SRCDIR}/utils/common" +) \ No newline at end of file diff --git a/sp/src/tier1/tier1.cmake b/sp/src/tier1/tier1.cmake new file mode 100644 index 00000000000..04f4df12a66 --- /dev/null +++ b/sp/src/tier1/tier1.cmake @@ -0,0 +1,147 @@ +# tier1.cmake + +set(TIER1_DIR ${CMAKE_CURRENT_LIST_DIR}) + +set( + TIER1_SOURCE_FILES + "${TIER1_DIR}/bitbuf.cpp" + "${TIER1_DIR}/newbitbuf.cpp" + "${TIER1_DIR}/byteswap.cpp" + "${TIER1_DIR}/characterset.cpp" + "${TIER1_DIR}/checksum_crc.cpp" + "${TIER1_DIR}/checksum_md5.cpp" + "${TIER1_DIR}/checksum_sha1.cpp" + "${TIER1_DIR}/commandbuffer.cpp" + "${TIER1_DIR}/convar.cpp" + "${TIER1_DIR}/datamanager.cpp" + "${TIER1_DIR}/diff.cpp" + "${TIER1_DIR}/generichash.cpp" + "${TIER1_DIR}/ilocalize.cpp" + "${TIER1_DIR}/interface.cpp" + "${TIER1_DIR}/KeyValues.cpp" + "${TIER1_DIR}/kvpacker.cpp" + "${TIER1_DIR}/lzmaDecoder.cpp" + "$<$:${TIER1_DIR}/lzss.cpp>" + "${TIER1_DIR}/mempool.cpp" + "${TIER1_DIR}/memstack.cpp" + "${TIER1_DIR}/NetAdr.cpp" + "${TIER1_DIR}/splitstring.cpp" + + "$<${IS_WINDOWS}:${TIER1_DIR}/processor_detect.cpp>" + "$<${IS_POSIX}:${TIER1_DIR}/processor_detect_linux.cpp>" + + "$<${IS_LINUX}:${TIER1_DIR}/qsort_s.cpp>" + + "${TIER1_DIR}/rangecheckedvar.cpp" + "${TIER1_DIR}/reliabletimer.cpp" + "${TIER1_DIR}/stringpool.cpp" + "${TIER1_DIR}/strtools.cpp" + "${TIER1_DIR}/tier1.cpp" + "${TIER1_DIR}/tokenreader.cpp" + "${TIER1_DIR}/sparsematrix.cpp" + "${TIER1_DIR}/uniqueid.cpp" + "${TIER1_DIR}/utlbuffer.cpp" + "${TIER1_DIR}/utlbufferutil.cpp" + "${TIER1_DIR}/utlstring.cpp" + "${TIER1_DIR}/utlsymbol.cpp" + "$<${IS_LINUX}:${TIER1_DIR}/pathmatch.cpp>" + "${TIER1_DIR}/snappy.cpp" + "${TIER1_DIR}/snappy-sinksource.cpp" + "${TIER1_DIR}/snappy-stubs-internal.cpp" + + # Header Files + + # Internal Header Files + "${TIER1_DIR}/snappy-internal.h" + "${TIER1_DIR}/snappy-stubs-internal.h" + + "${SRCDIR}/public/tier1/bitbuf.h" + "${SRCDIR}/public/tier1/byteswap.h" + "${SRCDIR}/public/tier1/callqueue.h" + "${SRCDIR}/public/tier1/characterset.h" + "${SRCDIR}/public/tier1/checksum_crc.h" + "${SRCDIR}/public/tier1/checksum_md5.h" + "${SRCDIR}/public/tier1/checksum_sha1.h" + "${SRCDIR}/public/tier1/CommandBuffer.h" + "${SRCDIR}/public/tier1/convar.h" + "${SRCDIR}/public/tier1/datamanager.h" + "${SRCDIR}/public/datamap.h" + "${SRCDIR}/public/tier1/delegates.h" + "${SRCDIR}/public/tier1/diff.h" + "${SRCDIR}/public/tier1/fmtstr.h" + "${SRCDIR}/public/tier1/functors.h" + "${SRCDIR}/public/tier1/generichash.h" + "${SRCDIR}/public/tier1/iconvar.h" + "${SRCDIR}/public/tier1/ilocalize.h" + "${SRCDIR}/public/tier1/interface.h" + "${SRCDIR}/public/tier1/KeyValues.h" + "${SRCDIR}/public/tier1/kvpacker.h" + "${SRCDIR}/public/tier1/lzmaDecoder.h" + "${SRCDIR}/public/tier1/lzss.h" + "${SRCDIR}/public/tier1/mempool.h" + "${SRCDIR}/public/tier1/memstack.h" + "${SRCDIR}/public/tier1/netadr.h" + "${SRCDIR}/public/tier1/processor_detect.h" + "${SRCDIR}/public/tier1/rangecheckedvar.h" + "${SRCDIR}/public/tier1/refcount.h" + "${SRCDIR}/public/tier1/smartptr.h" + "${SRCDIR}/public/tier1/snappy.h" + "${SRCDIR}/public/tier1/snappy-sinksource.h" + "${SRCDIR}/public/tier1/stringpool.h" + "${SRCDIR}/public/tier1/strtools.h" + "${SRCDIR}/public/tier1/tier1.h" + "${SRCDIR}/public/tier1/tokenreader.h" + "$<${IS_WINDOWS}:${SRCDIR}/public/tier1/uniqueid.h>" + "${SRCDIR}/public/tier1/utlbidirectionalset.h" + "${SRCDIR}/public/tier1/utlblockmemory.h" + "${SRCDIR}/public/tier1/utlbuffer.h" + "${SRCDIR}/public/tier1/utlbufferutil.h" + "${SRCDIR}/public/tier1/utlcommon.h" + "${SRCDIR}/public/tier1/utldict.h" + "${SRCDIR}/public/tier1/utlenvelope.h" + "${SRCDIR}/public/tier1/utlfixedmemory.h" + "${SRCDIR}/public/tier1/utlhandletable.h" + "${SRCDIR}/public/tier1/utlhash.h" + "${SRCDIR}/public/tier1/utlhashtable.h" + "${SRCDIR}/public/tier1/utllinkedlist.h" + "${SRCDIR}/public/tier1/utlmap.h" + "${SRCDIR}/public/tier1/utlmemory.h" + "${SRCDIR}/public/tier1/utlmultilist.h" + "${SRCDIR}/public/tier1/utlpriorityqueue.h" + "${SRCDIR}/public/tier1/utlqueue.h" + "${SRCDIR}/public/tier1/utlrbtree.h" + "${SRCDIR}/public/tier1/UtlSortVector.h" + "${SRCDIR}/public/tier1/utlstack.h" + "${SRCDIR}/public/tier1/utlstring.h" + "${SRCDIR}/public/tier1/UtlStringMap.h" + "${SRCDIR}/public/tier1/utlsymbol.h" + "${SRCDIR}/public/tier1/utlsymbollarge.h" + "${SRCDIR}/public/tier1/utlvector.h" + "$<${IS_WINDOWS}:${SRCDIR}/common/xbox/xboxstubs.h>" +) + +set_source_files_properties( + "$<${IS_WINDOWS}:${TIER1_DIR}/processor_detect.cpp>" + PROPERTIES + COMPILE_FLAGS + /EHsc +) + +add_library( + tier1 STATIC + ${TIER1_SOURCE_FILES} +) + +target_compile_definitions( + tier1 PRIVATE + TIER1_STATIC_LIB +) + +target_link_libraries( + tier1 INTERFACE + $<${IS_WINDOWS}:Rpcrt4> + + # strtools depends on this, so make it an interface + # instead of linking it everywhere + $<${IS_OSX}:iconv> +) diff --git a/sp/src/utils/captioncompiler/captioncompiler.cmake b/sp/src/utils/captioncompiler/captioncompiler.cmake new file mode 100644 index 00000000000..50d4a276ef8 --- /dev/null +++ b/sp/src/utils/captioncompiler/captioncompiler.cmake @@ -0,0 +1,58 @@ +# captioncompiler.cmake + +set(CAPTIONCOMPILER_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + CAPTIONCOMPILER_SOURCE_FILES + + "${CAPTIONCOMPILER_DIR}/captioncompiler.cpp" + "${SRCDIR}/common/compiledcaptionswap.cpp" + "${SRCDIR}/utils/common/filesystem_tools.cpp" + + # Header Files + "${CAPTIONCOMPILER_DIR}/cbase.h" + "${SRCDIR}/utils/common/filesystem_tools.h" + + # Shared Code + "${SRCDIR}/utils/common/cmdlib.cpp" + "${SRCDIR}/utils/common/cmdlib.h" + "${SRCDIR}/public/filesystem_helpers.cpp" + "${SRCDIR}/public/filesystem_helpers.h" + "${SRCDIR}/public/filesystem_init.cpp" + "${SRCDIR}/public/filesystem_init.h" + "${SRCDIR}/public/mathlib/mathlib.h" + "${SRCDIR}/utils/common/pacifier.cpp" + "${SRCDIR}/utils/common/pacifier.h" + "${SRCDIR}/utils/common/scriplib.cpp" + "${SRCDIR}/utils/common/scriplib.h" + "${SRCDIR}/public/stringregistry.cpp" + "${SRCDIR}/public/stringregistry.h" +) + +add_executable(captioncompiler ${CAPTIONCOMPILER_SOURCE_FILES}) + +set_target_properties( + captioncompiler PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_compile_definitions( + captioncompiler PRIVATE + captioncompiler +) + +target_include_directories( + captioncompiler PRIVATE + "${SRCDIR}/utils/common" + "${SRCDIR}/game/shared" + "${CAPTIONCOMPILER_DIR}" +) + +target_link_libraries( + captioncompiler PRIVATE + "${LIBPUBLIC}/appframework${STATIC_LIB_EXT}" + mathlib + "${LIBPUBLIC}/tier2${STATIC_LIB_EXT}" + "${LIBPUBLIC}/tier3${STATIC_LIB_EXT}" +) \ No newline at end of file diff --git a/sp/src/utils/glview/glview.cmake b/sp/src/utils/glview/glview.cmake new file mode 100644 index 00000000000..15ed238d9d9 --- /dev/null +++ b/sp/src/utils/glview/glview.cmake @@ -0,0 +1,52 @@ +# glview.cmake + +set(GLVIEW_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + GLVIEW_SOURCE_FILES + + "${GLVIEW_DIR}/glview.cpp" + + # Common Files + "${SRCDIR}/utils/common/cmdlib.cpp" + "${SRCDIR}/public/filesystem_helpers.cpp" + "${SRCDIR}/public/filesystem_init.cpp" + "${SRCDIR}/utils/common/filesystem_tools.cpp" + "${SRCDIR}/utils/common/physdll.cpp" + + # Header Files + "${SRCDIR}/utils/common/cmdlib.h" + "${GLVIEW_DIR}/glos.h" + "${SRCDIR}/public/mathlib/mathlib.h" +) + +add_executable(glview WIN32 ${GLVIEW_SOURCE_FILES}) + +set_target_properties( + glview PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_include_directories( + glview PRIVATE + "${SRCDIR}/utils/common" +) + +target_compile_definitions( + glview PRIVATE + PROTECTED_THINGS_DISABLE +) + +target_link_libraries( + glview PRIVATE + + glu32 + opengl32 + odbc32 + odbccp32 + winmm + + mathlib + "${LIBPUBLIC}/tier2${STATIC_LIB_EXT}" +) \ No newline at end of file diff --git a/sp/src/utils/height2normal/height2normal.cmake b/sp/src/utils/height2normal/height2normal.cmake new file mode 100644 index 00000000000..97292cf44a0 --- /dev/null +++ b/sp/src/utils/height2normal/height2normal.cmake @@ -0,0 +1,48 @@ +# height2normal.cmake + +set(HEIGHT2NORMAL_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + HEIGHT2NORMAL_SOURCE_FILES + + "${HEIGHT2NORMAL_DIR}/height2normal.cpp" + + # Header Files + "${SRCDIR}/public/tier1/interface.h" + "${SRCDIR}/public/tier1/utlbuffer.h" +) + +set( + height2normal_exclude_source + "${SRCDIR}/public/tier0/memoverride.cpp" +) + +add_executable(height2normal ${HEIGHT2NORMAL_SOURCE_FILES}) + +set_target_properties( + height2normal PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_include_directories( + height2normal PRIVATE + "${SRCDIR}/utils/common" +) + +target_compile_definitions( + height2normal PRIVATE + _HAS_ITERATOR_DEBUGGING=0 + _CONSOLE + _ALLOW_RUNTIME_LIBRARY_MISMATCH + _ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH + _ALLOW_MSC_VER_MISMATCH +) + +target_link_libraries( + height2normal PRIVATE + + "${LIBPUBLIC}/bitmap${STATIC_LIB_EXT}" + mathlib + "${LIBPUBLIC}/tier2${STATIC_LIB_EXT}" +) \ No newline at end of file diff --git a/sp/src/utils/motionmapper/motionmapper.cmake b/sp/src/utils/motionmapper/motionmapper.cmake new file mode 100644 index 00000000000..6e7ce5c453f --- /dev/null +++ b/sp/src/utils/motionmapper/motionmapper.cmake @@ -0,0 +1,83 @@ +# motionmapper.cmake + +set(MOTIONMAPPER_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + MOTIONMAPPER_SOURCE_FILES + + "${SRCDIR}/utils/common/cmdlib.cpp" + "${SRCDIR}/public/filesystem_helpers.cpp" + "${SRCDIR}/public/filesystem_init.cpp" + "${SRCDIR}/utils/common/filesystem_tools.cpp" + "${MOTIONMAPPER_DIR}/motionmapper.cpp" + "${SRCDIR}/utils/common/scriplib.cpp" + + # Header Files + "${SRCDIR}/public/mathlib/amd3dx.h" + "${SRCDIR}/public/tier0/basetypes.h" + "${SRCDIR}/public/tier1/characterset.h" + "${SRCDIR}/utils/common/cmdlib.h" + "${SRCDIR}/public/Color.h" + "${SRCDIR}/public/tier0/commonmacros.h" + "${SRCDIR}/public/mathlib/compressed_vector.h" + "${SRCDIR}/public/tier0/dbg.h" + "${SRCDIR}/public/tier0/fasttimer.h" + "${SRCDIR}/public/filesystem.h" + "${SRCDIR}/public/filesystem_helpers.h" + "${SRCDIR}/utils/common/filesystem_tools.h" + "${SRCDIR}/public/appframework/IAppSystem.h" + "${SRCDIR}/public/tier0/icommandline.h" + "${SRCDIR}/public/vstdlib/IKeyValuesSystem.h" + "${SRCDIR}/public/tier1/interface.h" + "${SRCDIR}/public/tier1/KeyValues.h" + "${SRCDIR}/public/mathlib/mathlib.h" + "${SRCDIR}/public/tier0/mem.h" + "${SRCDIR}/public/tier0/memalloc.h" + "${SRCDIR}/public/tier0/memdbgoff.h" + "${SRCDIR}/public/tier0/memdbgon.h" + "${MOTIONMAPPER_DIR}/motionmapper.h" + "${SRCDIR}/public/tier0/platform.h" + "${SRCDIR}/public/tier0/protected_things.h" + "${SRCDIR}/utils/common/scriplib.h" + "${SRCDIR}/public/string_t.h" + "${SRCDIR}/public/tier1/strtools.h" + "${SRCDIR}/public/studio.h" + "${SRCDIR}/public/tier1/utlbuffer.h" + "${SRCDIR}/public/tier1/utldict.h" + "${SRCDIR}/public/tier1/utllinkedlist.h" + "${SRCDIR}/public/tier1/utlmemory.h" + "${SRCDIR}/public/tier1/utlrbtree.h" + "${SRCDIR}/public/tier1/utlsymbol.h" + "${SRCDIR}/public/tier1/utlvector.h" + "${SRCDIR}/public/mathlib/vector.h" + "${SRCDIR}/public/mathlib/vector2d.h" + "${SRCDIR}/public/mathlib/vector4d.h" + "${SRCDIR}/public/vstdlib/vstdlib.h" +) + +add_executable(motionmapper ${MOTIONMAPPER_SOURCE_FILES}) + +set_target_properties( + motionmapper PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_include_directories( + motionmapper PRIVATE + "${SRCDIR}/utils/common" + "${SRCDIR}/utils/nvtristriplib" +) + +target_compile_definitions( + motionmapper PRIVATE + PROTECTED_THINGS_DISABLE +) + +target_link_libraries( + motionmapper PRIVATE + winmm + mathlib + "${LIBPUBLIC}/nvtristrip${STATIC_LIB_EXT}" + "${LIBPUBLIC}/tier2${STATIC_LIB_EXT}" +) \ No newline at end of file diff --git a/sp/src/utils/qc_eyes/qc_eyes.cmake b/sp/src/utils/qc_eyes/qc_eyes.cmake new file mode 100644 index 00000000000..d724db34003 --- /dev/null +++ b/sp/src/utils/qc_eyes/qc_eyes.cmake @@ -0,0 +1,56 @@ +# qc_eyes.cmake + +set(QC_EYES_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + QC_EYES_SOURCE_FILES + + "${QC_EYES_DIR}/QC_Eyes.cpp" + "${QC_EYES_DIR}/QC_Eyes.rc" + "${QC_EYES_DIR}/QC_EyesDlg.cpp" + "${QC_EYES_DIR}/StdAfx.cpp" + + # Header Files + "${QC_EYES_DIR}/QC_Eyes.h" + "${QC_EYES_DIR}/QC_EyesDlg.h" + "${QC_EYES_DIR}/Resource.h" + "${QC_EYES_DIR}/StdAfx.h" + + # Resources + "${QC_EYES_DIR}/res/eye_default.bmp" + "${QC_EYES_DIR}/res/eye_lower_hi.bmp" + "${QC_EYES_DIR}/res/eye_lower_lo.bmp" + "${QC_EYES_DIR}/res/eye_lower_mid.bmp" + "${QC_EYES_DIR}/res/eye_upper_hi.bmp" + "${QC_EYES_DIR}/res/eye_upper_lo.bmp" + "${QC_EYES_DIR}/res/eye_upper_mid.bmp" + "${QC_EYES_DIR}/res/eye_XY_L.bmp" + "${QC_EYES_DIR}/res/eye_XY_R.bmp" + "${QC_EYES_DIR}/res/eye_Z_L.bmp" + "${QC_EYES_DIR}/res/eye_Z_R.bmp" + "${QC_EYES_DIR}/res/QC_Eyes.ico" + "${QC_EYES_DIR}/res/QC_Eyes.rc2" +) + +set( + qc_eyes_exclude_source + "${SRCDIR}/public/tier0/memoverride.cpp" +) + +add_executable(qc_eyes WIN32 ${QC_EYES_SOURCE_FILES}) + +set_target_properties( + qc_eyes PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_precompile_headers( + qc_eyes PRIVATE + "${QC_EYES_DIR}/StdAfx.h" +) + +target_compile_definitions( + qc_eyes PRIVATE + NO_WARN_MBCS_MFC_DEPRECATION +) \ No newline at end of file diff --git a/sp/src/utils/serverplugin_sample/serverplugin_empty.cmake b/sp/src/utils/serverplugin_sample/serverplugin_empty.cmake new file mode 100644 index 00000000000..25d9c149248 --- /dev/null +++ b/sp/src/utils/serverplugin_sample/serverplugin_empty.cmake @@ -0,0 +1,59 @@ +# serverplugin_empty.cmake + +set(SERVERPLUGIN_EMPTY_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + SERVERPLUGIN_EMPTY_SOURCE_FILES + + "${SERVERPLUGIN_EMPTY_DIR}/serverplugin_bot.cpp" + "${SERVERPLUGIN_EMPTY_DIR}/serverplugin_empty.cpp" + + # Header Files + "${SRCDIR}/public/tier0/basetypes.h" + "${SRCDIR}/public/Color.h" + "${SRCDIR}/public/tier0/dbg.h" + "${SRCDIR}/public/eiface.h" + "${SRCDIR}/public/filesystem.h" + "${SRCDIR}/public/tier0/icommandline.h" + "${SRCDIR}/public/igameevents.h" + "${SRCDIR}/public/tier1/interface.h" + "${SRCDIR}/public/game/server/iplayerinfo.h" + "${SRCDIR}/public/engine/iserverplugin.h" + "${SRCDIR}/public/tier1/KeyValues.h" + "${SRCDIR}/public/tier0/mem.h" + "${SRCDIR}/public/tier0/memalloc.h" + "${SRCDIR}/public/tier0/memdbgon.h" + "${SRCDIR}/public/tier1/strtools.h" + "${SRCDIR}/public/tier1/utlbuffer.h" + "${SRCDIR}/public/tier1/utlmemory.h" + "${SRCDIR}/public/tier1/utlvector.h" + "${SRCDIR}/public/vstdlib/vstdlib.h" +) + +add_library(serverplugin_empty MODULE ${SERVERPLUGIN_EMPTY_SOURCE_FILES}) + +set_target_properties( + serverplugin_empty + PROPERTIES + PREFIX "" + LIBRARY_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + LIBRARY_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + LIBRARY_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_include_directories( + serverplugin_empty PRIVATE + "${SRCDIR}/game/server" + "${SRCDIR}/game/shared" +) + +target_compile_definitions( + serverplugin_empty PRIVATE + serverplugin_emptyONLY + _MBCS +) + +target_link_libraries( + serverplugin_empty PRIVATE + mathlib + "${LIBPUBLIC}/tier2${STATIC_LIB_EXT}" +) \ No newline at end of file diff --git a/sp/src/utils/tgadiff/tgadiff.cmake b/sp/src/utils/tgadiff/tgadiff.cmake new file mode 100644 index 00000000000..90aef207021 --- /dev/null +++ b/sp/src/utils/tgadiff/tgadiff.cmake @@ -0,0 +1,24 @@ +# tgadiff.cmake + +set(TGADIFF_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + TGADIFF_SOURCE_FILES + + "${TGADIFF_DIR}/tgadiff.cpp" +) + +add_executable(tgadiff ${TGADIFF_SOURCE_FILES}) + +set_target_properties( + tgadiff PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_link_libraries( + tgadiff PRIVATE + "${LIBPUBLIC}/bitmap${STATIC_LIB_EXT}" + mathlib + "${LIBPUBLIC}/tier2${STATIC_LIB_EXT}" +) \ No newline at end of file diff --git a/sp/src/utils/vbsp/vbsp.cmake b/sp/src/utils/vbsp/vbsp.cmake new file mode 100644 index 00000000000..caeaf063f35 --- /dev/null +++ b/sp/src/utils/vbsp/vbsp.cmake @@ -0,0 +1,176 @@ +# vbsp.cmake + +set(VBSP_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + VBSP_SOURCE_FILES + + "${VBSP_DIR}/boundbox.cpp" + "${VBSP_DIR}/brushbsp.cpp" + "${SRCDIR}/public/CollisionUtils.cpp" + "${VBSP_DIR}/csg.cpp" + "${VBSP_DIR}/cubemap.cpp" + "${VBSP_DIR}/detail.cpp" + "${VBSP_DIR}/detailObjects.cpp" + "${SRCDIR}/public/disp_common.cpp" + "${VBSP_DIR}/disp_ivp.cpp" + "${SRCDIR}/public/disp_powerinfo.cpp" + "${VBSP_DIR}/disp_vbsp.cpp" + "${VBSP_DIR}/faces.cpp" + "${VBSP_DIR}/glfile.cpp" + "${VBSP_DIR}/ivp.cpp" + "${VBSP_DIR}/leakfile.cpp" + "${SRCDIR}/public/loadcmdline.cpp" + "${SRCDIR}/public/lumpfiles.cpp" + "${VBSP_DIR}/map.cpp" + "${VBSP_DIR}/manifest.cpp" + "${VBSP_DIR}/materialpatch.cpp" + "${VBSP_DIR}/materialsub.cpp" + "${SRCDIR}/utils/common/mstristrip.cpp" + "${VBSP_DIR}/nodraw.cpp" + "${VBSP_DIR}/normals.cpp" + "${VBSP_DIR}/overlay.cpp" + "${SRCDIR}/utils/common/physdll.cpp" + "${VBSP_DIR}/portals.cpp" + "${VBSP_DIR}/prtfile.cpp" + "${SRCDIR}/public/ScratchPad3D.cpp" + "${SRCDIR}/utils/common/scratchpad_helpers.cpp" + "${VBSP_DIR}/StaticProp.cpp" + "${VBSP_DIR}/textures.cpp" + "${VBSP_DIR}/tree.cpp" + "${SRCDIR}/utils/common/utilmatlib.cpp" + "${VBSP_DIR}/vbsp.cpp" + "${VBSP_DIR}/worldvertextransitionfixup.cpp" + "${VBSP_DIR}/writebsp.cpp" + "${SRCDIR}/public/zip_utils.cpp" + + # Common Files + "${SRCDIR}/utils/common/bsplib.cpp" + "${SRCDIR}/public/builddisp.cpp" + "${SRCDIR}/public/ChunkFile.cpp" + "${SRCDIR}/utils/common/cmdlib.cpp" + "${SRCDIR}/public/filesystem_helpers.cpp" + "${SRCDIR}/public/filesystem_init.cpp" + "${SRCDIR}/utils/common/filesystem_tools.cpp" + "${SRCDIR}/utils/common/map_shared.cpp" + "${SRCDIR}/utils/common/pacifier.cpp" + "${SRCDIR}/utils/common/polylib.cpp" + "${SRCDIR}/utils/common/scriplib.cpp" + "${SRCDIR}/utils/common/threads.cpp" + "${SRCDIR}/utils/common/tools_minidump.cpp" + "${SRCDIR}/utils/common/tools_minidump.h" + + # Header Files + "${VBSP_DIR}/boundbox.h" + "${VBSP_DIR}/csg.h" + "${VBSP_DIR}/detail.h" + "${SRCDIR}/public/disp_powerinfo.h" + "${VBSP_DIR}/disp_vbsp.h" + "${SRCDIR}/public/disp_vertindex.h" + "${VBSP_DIR}/faces.h" + "${VBSP_DIR}/map.h" + "${VBSP_DIR}/manifest.h" + "${VBSP_DIR}/materialpatch.h" + "${VBSP_DIR}/materialsub.h" + "${SRCDIR}/utils/common/scratchpad_helpers.h" + "${VBSP_DIR}/vbsp.h" + "${VBSP_DIR}/worldvertextransitionfixup.h" + "${VBSP_DIR}/writebsp.h" + + # Common Header Files + "${SRCDIR}/utils/common/bsplib.h" + "${SRCDIR}/public/builddisp.h" + "${SRCDIR}/public/ChunkFile.h" + "${SRCDIR}/utils/common/cmdlib.h" + "${VBSP_DIR}/disp_ivp.h" + "${SRCDIR}/public/filesystem.h" + "${SRCDIR}/public/filesystem_helpers.h" + "${SRCDIR}/utils/common/FileSystem_Tools.h" + "${SRCDIR}/public/GameBSPFile.h" + "${SRCDIR}/public/tier1/interface.h" + "${VBSP_DIR}/ivp.h" + "${SRCDIR}/utils/common/map_shared.h" + "${SRCDIR}/utils/common/pacifier.h" + "${SRCDIR}/utils/common/polylib.h" + "${SRCDIR}/public/tier1/tokenreader.h" + "${SRCDIR}/utils/common/utilmatlib.h" + "${SRCDIR}/utils/vmpi/vmpi.h" + "${SRCDIR}/public/zip_uncompressed.h" + + # Public Headers + "${SRCDIR}/public/mathlib/amd3dx.h" + "${SRCDIR}/public/arraystack.h" + "${SRCDIR}/public/tier0/basetypes.h" + "${SRCDIR}/public/BSPFILE.H" + "${SRCDIR}/public/bspflags.h" + "${SRCDIR}/public/BSPTreeData.h" + "${SRCDIR}/public/mathlib/bumpvects.h" + "${SRCDIR}/public/tier1/byteswap.h" + "${SRCDIR}/public/cmodel.h" + "${SRCDIR}/public/CollisionUtils.h" + "${SRCDIR}/public/tier0/commonmacros.h" + "${SRCDIR}/public/tier0/dbg.h" + "${SRCDIR}/public/disp_common.h" + "${SRCDIR}/public/IScratchPad3D.h" + "${SRCDIR}/public/mathlib/mathlib.h" + "${SRCDIR}/utils/common/mstristrip.h" + "${SRCDIR}/public/nmatrix.h" + "${SRCDIR}/public/NTree.h" + "${SRCDIR}/public/nvector.h" + "${SRCDIR}/public/phyfile.h" + "${SRCDIR}/utils/common/physdll.h" + "${SRCDIR}/utils/common/qfiles.h" + "${SRCDIR}/public/ScratchPad3D.h" + "${SRCDIR}/utils/common/scriplib.h" + "${SRCDIR}/public/studio.h" + "${SRCDIR}/utils/common/threads.h" + "${SRCDIR}/public/tier1/utlbuffer.h" + "${SRCDIR}/public/tier1/utllinkedlist.h" + "${SRCDIR}/public/tier1/utlmemory.h" + "${SRCDIR}/public/tier1/utlrbtree.h" + "${SRCDIR}/public/tier1/utlsymbol.h" + "${SRCDIR}/public/tier1/utlvector.h" + "${SRCDIR}/public/vcollide.h" + "${SRCDIR}/public/mathlib/vector.h" + "${SRCDIR}/public/mathlib/vector2d.h" + "${SRCDIR}/public/mathlib/vector4d.h" + "${SRCDIR}/public/mathlib/vmatrix.h" + "${SRCDIR}/public/vphysics_interface.h" + "${SRCDIR}/public/mathlib/vplane.h" + "${SRCDIR}/public/wadtypes.h" + "${SRCDIR}/public/worldsize.h" +) + +add_executable(vbsp ${VBSP_SOURCE_FILES}) + +set_target_properties( + vbsp PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_include_directories( + vbsp PRIVATE + "${SRCDIR}/utils/common" + "${SRCDIR}/utils/vmpi" +) + +target_compile_definitions( + vbsp PRIVATE + MACRO_MATHLIB + PROTECTED_THINGS_DISABLE +) + +target_link_libraries( + vbsp PRIVATE + ws2_32 + odbc32 + odbccp32 + winmm + + "${LIBPUBLIC}/bitmap${STATIC_LIB_EXT}" + fgdlib + mathlib + "${LIBPUBLIC}/tier2${STATIC_LIB_EXT}" + "${LIBPUBLIC}/vtf${STATIC_LIB_EXT}" +) \ No newline at end of file diff --git a/sp/src/utils/vice/vice.cmake b/sp/src/utils/vice/vice.cmake new file mode 100644 index 00000000000..6b9b9d37134 --- /dev/null +++ b/sp/src/utils/vice/vice.cmake @@ -0,0 +1,35 @@ +# vice.cmake + +set(VICE_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + VICE_SOURCE_FILES + + "${SRCDIR}/utils/common/cmdlib.cpp" + "${SRCDIR}/public/filesystem_helpers.cpp" + "${SRCDIR}/public/filesystem_init.cpp" + "${SRCDIR}/utils/common/filesystem_tools.cpp" + "${VICE_DIR}/vice.cpp" + + # Header Files + "${SRCDIR}/public/mathlib/IceKey.H" +) + +add_executable(vice ${VICE_SOURCE_FILES}) + +set_target_properties( + vice PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_include_directories( + vice PRIVATE + "${SRCDIR}/utils/common" +) + +target_link_libraries( + vice PRIVATE + "${LIBPUBLIC}/tier2${STATIC_LIB_EXT}" + mathlib +) \ No newline at end of file diff --git a/sp/src/utils/vrad/vrad_dll.cmake b/sp/src/utils/vrad/vrad_dll.cmake new file mode 100644 index 00000000000..c9dfd853ebd --- /dev/null +++ b/sp/src/utils/vrad/vrad_dll.cmake @@ -0,0 +1,215 @@ +# vrad_dll.cmake + +set(VRAD_DLL_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + VRAD_DLL_SOURCE_FILES + + "${SRCDIR}/public/BSPTreeData.cpp" + "${SRCDIR}/public/disp_common.cpp" + "${SRCDIR}/public/disp_powerinfo.cpp" + "${VRAD_DLL_DIR}/disp_vrad.cpp" + "${VRAD_DLL_DIR}/imagepacker.cpp" + "${VRAD_DLL_DIR}/incremental.cpp" + "${VRAD_DLL_DIR}/leaf_ambient_lighting.cpp" + "${VRAD_DLL_DIR}/lightmap.cpp" + "${SRCDIR}/public/loadcmdline.cpp" + "${SRCDIR}/public/lumpfiles.cpp" + "${VRAD_DLL_DIR}/macro_texture.cpp" + "${SRCDIR}/utils/common/mpi_stats.cpp" + "${VRAD_DLL_DIR}/mpivrad.cpp" + "${SRCDIR}/utils/common/MySqlDatabase.cpp" + "${SRCDIR}/utils/common/pacifier.cpp" + "${SRCDIR}/utils/common/physdll.cpp" + "${VRAD_DLL_DIR}/radial.cpp" + "${VRAD_DLL_DIR}/SampleHash.cpp" + "${VRAD_DLL_DIR}/trace.cpp" + "${SRCDIR}/utils/common/utilmatlib.cpp" + "${VRAD_DLL_DIR}/vismat.cpp" + "${SRCDIR}/utils/common/vmpi_tools_shared.cpp" + "${SRCDIR}/utils/common/vmpi_tools_shared.h" + "${VRAD_DLL_DIR}/vrad.cpp" + "${VRAD_DLL_DIR}/VRAD_DispColl.cpp" + "${VRAD_DLL_DIR}/VradDetailProps.cpp" + "${VRAD_DLL_DIR}/VRadDisps.cpp" + "${VRAD_DLL_DIR}/vraddll.cpp" + "${VRAD_DLL_DIR}/VRadStaticProps.cpp" + "${SRCDIR}/public/zip_utils.cpp" + + # Common Files + "${SRCDIR}/utils/common/bsplib.cpp" + "${SRCDIR}/public/builddisp.cpp" + "${SRCDIR}/public/ChunkFile.cpp" + "${SRCDIR}/utils/common/cmdlib.cpp" + "${SRCDIR}/public/DispColl_Common.cpp" + "${SRCDIR}/utils/common/map_shared.cpp" + "${SRCDIR}/utils/common/polylib.cpp" + "${SRCDIR}/utils/common/scriplib.cpp" + "${SRCDIR}/utils/common/threads.cpp" + "${SRCDIR}/utils/common/tools_minidump.cpp" + "${SRCDIR}/utils/common/tools_minidump.h" + + # Public Files + "${SRCDIR}/public/CollisionUtils.cpp" + "${SRCDIR}/public/filesystem_helpers.cpp" + "${SRCDIR}/public/ScratchPad3D.cpp" + "${SRCDIR}/public/ScratchPadUtils.cpp" + + # Header Files + "${VRAD_DLL_DIR}/disp_vrad.h" + "${VRAD_DLL_DIR}/iincremental.h" + "${VRAD_DLL_DIR}/imagepacker.h" + "${VRAD_DLL_DIR}/incremental.h" + "${VRAD_DLL_DIR}/leaf_ambient_lighting.h" + "${VRAD_DLL_DIR}/lightmap.h" + "${VRAD_DLL_DIR}/macro_texture.h" + "${SRCDIR}/public/map_utils.h" + "${VRAD_DLL_DIR}/mpivrad.h" + "${VRAD_DLL_DIR}/radial.h" + "${SRCDIR}/public/bitmap/tgawriter.h" + "${VRAD_DLL_DIR}/vismat.h" + "${VRAD_DLL_DIR}/vrad.h" + "${VRAD_DLL_DIR}/VRAD_DispColl.h" + "${VRAD_DLL_DIR}/vraddetailprops.h" + "${VRAD_DLL_DIR}/vraddll.h" + + # Common Header Files + "${SRCDIR}/utils/common/bsplib.h" + "${SRCDIR}/utils/common/cmdlib.h" + "${SRCDIR}/utils/common/consolewnd.h" + "${SRCDIR}/utils/vmpi/ichannel.h" + "${SRCDIR}/utils/vmpi/imysqlwrapper.h" + "${SRCDIR}/utils/vmpi/iphelpers.h" + "${SRCDIR}/utils/common/ISQLDBReplyTarget.h" + "${SRCDIR}/utils/common/map_shared.h" + "${SRCDIR}/utils/vmpi/messbuf.h" + "${SRCDIR}/utils/common/mpi_stats.h" + "${SRCDIR}/utils/common/MySqlDatabase.h" + "${SRCDIR}/utils/common/pacifier.h" + "${SRCDIR}/utils/common/polylib.h" + "${SRCDIR}/utils/common/scriplib.h" + "${SRCDIR}/utils/vmpi/threadhelpers.h" + "${SRCDIR}/utils/common/threads.h" + "${SRCDIR}/utils/common/utilmatlib.h" + "${SRCDIR}/utils/vmpi/vmpi_defs.h" + "${SRCDIR}/utils/vmpi/vmpi_dispatch.h" + "${SRCDIR}/utils/vmpi/vmpi_distribute_work.h" + "${SRCDIR}/utils/vmpi/vmpi_filesystem.h" + + # Public Header Files + "${SRCDIR}/public/mathlib/amd3dx.h" + "${SRCDIR}/public/mathlib/ANORMS.H" + "${SRCDIR}/public/basehandle.h" + "${SRCDIR}/public/tier0/basetypes.h" + "${SRCDIR}/public/tier1/bitbuf.h" + "${SRCDIR}/public/bitvec.h" + "${SRCDIR}/public/BSPFILE.H" + "${SRCDIR}/public/bspflags.h" + "${SRCDIR}/public/BSPTreeData.h" + "${SRCDIR}/public/builddisp.h" + "${SRCDIR}/public/mathlib/bumpvects.h" + "${SRCDIR}/public/tier1/byteswap.h" + "${SRCDIR}/public/tier1/characterset.h" + "${SRCDIR}/public/tier1/checksum_crc.h" + "${SRCDIR}/public/tier1/checksum_md5.h" + "${SRCDIR}/public/ChunkFile.h" + "${SRCDIR}/public/cmodel.h" + "${SRCDIR}/public/CollisionUtils.h" + "${SRCDIR}/public/tier0/commonmacros.h" + "${SRCDIR}/public/mathlib/compressed_vector.h" + "${SRCDIR}/public/const.h" + "${SRCDIR}/public/coordsize.h" + "${SRCDIR}/public/tier0/dbg.h" + "${SRCDIR}/public/disp_common.h" + "${SRCDIR}/public/disp_powerinfo.h" + "${SRCDIR}/public/disp_vertindex.h" + "${SRCDIR}/public/DispColl_Common.h" + "${SRCDIR}/public/tier0/fasttimer.h" + "${SRCDIR}/public/filesystem.h" + "${SRCDIR}/public/filesystem_helpers.h" + "${SRCDIR}/public/GameBSPFile.h" + "${SRCDIR}/public/gametrace.h" + "${SRCDIR}/public/mathlib/halton.h" + "${SRCDIR}/public/materialsystem/hardwareverts.h" + "${SRCDIR}/public/appframework/IAppSystem.h" + "${SRCDIR}/public/tier0/icommandline.h" + "${SRCDIR}/public/ihandleentity.h" + "${SRCDIR}/public/materialsystem/imaterial.h" + "${SRCDIR}/public/materialsystem/imaterialsystem.h" + "${SRCDIR}/public/materialsystem/imaterialvar.h" + "${SRCDIR}/public/tier1/interface.h" + "${SRCDIR}/public/iscratchpad3d.h" + "${SRCDIR}/public/ivraddll.h" + "${SRCDIR}/public/materialsystem/materialsystem_config.h" + "${SRCDIR}/public/mathlib/mathlib.h" + "${SRCDIR}/public/tier0/memdbgon.h" + "${SRCDIR}/public/optimize.h" + "${SRCDIR}/public/phyfile.h" + "${SRCDIR}/utils/common/physdll.h" + "${SRCDIR}/public/tier0/platform.h" + "${SRCDIR}/public/tier0/protected_things.h" + "${SRCDIR}/public/vstdlib/random.h" + "${SRCDIR}/public/ScratchPad3D.h" + "${SRCDIR}/public/ScratchPadUtils.h" + "${SRCDIR}/public/string_t.h" + "${SRCDIR}/public/tier1/strtools.h" + "${SRCDIR}/public/studio.h" + "${SRCDIR}/public/tier1/tokenreader.h" + "${SRCDIR}/public/trace.h" + "${SRCDIR}/public/tier1/utlbuffer.h" + "${SRCDIR}/public/tier1/utldict.h" + "${SRCDIR}/public/tier1/utlhash.h" + "${SRCDIR}/public/tier1/utllinkedlist.h" + "${SRCDIR}/public/tier1/utlmemory.h" + "${SRCDIR}/public/tier1/utlrbtree.h" + "${SRCDIR}/public/tier1/utlsymbol.h" + "${SRCDIR}/public/tier1/utlvector.h" + "${SRCDIR}/public/vcollide.h" + "${SRCDIR}/public/mathlib/vector.h" + "${SRCDIR}/public/mathlib/vector2d.h" + "${SRCDIR}/public/mathlib/vector4d.h" + "${SRCDIR}/public/mathlib/vmatrix.h" + "${SRCDIR}/utils/vmpi/vmpi.h" + "${SRCDIR}/public/vphysics_interface.h" + "${SRCDIR}/public/mathlib/vplane.h" + "${SRCDIR}/public/tier0/vprof.h" + "${SRCDIR}/public/vstdlib/vstdlib.h" + "${SRCDIR}/public/vtf/vtf.h" + "${SRCDIR}/public/wadtypes.h" + "${SRCDIR}/public/worldsize.h" +) + +add_library(vrad_dll MODULE ${VRAD_DLL_SOURCE_FILES}) + +set_target_properties( + vrad_dll PROPERTIES + LIBRARY_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + LIBRARY_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + LIBRARY_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_include_directories( + vrad_dll PRIVATE + "${SRCDIR}/utils/common" + "${SRCDIR}/utils/vmpi" + "${SRCDIR}/utils/vmpi/mysql/mysqlpp/include" + "${SRCDIR}/utils/vmpi/mysql/include" +) + +target_compile_definitions( + vrad_dll PRIVATE + MPI + PROTECTED_THINGS_DISABLE + VRAD +) + +target_link_libraries( + vrad_dll PRIVATE + ws2_32 + + "${LIBPUBLIC}/bitmap${STATIC_LIB_EXT}" + mathlib + raytrace + "${LIBPUBLIC}/tier2${STATIC_LIB_EXT}" + "${LIBPUBLIC}/vmpi${STATIC_LIB_EXT}" + "${LIBPUBLIC}/vtf${STATIC_LIB_EXT}" +) \ No newline at end of file diff --git a/sp/src/utils/vrad_launcher/vrad_launcher.cmake b/sp/src/utils/vrad_launcher/vrad_launcher.cmake new file mode 100644 index 00000000000..1b75e7f6195 --- /dev/null +++ b/sp/src/utils/vrad_launcher/vrad_launcher.cmake @@ -0,0 +1,37 @@ +# vrad_launcher.cmake + +set(VRAD_LAUNCHER_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + VRAD_LAUNCHER_SOURCE_FILES + + "${VRAD_LAUNCHER_DIR}/vrad_launcher.cpp" + "${VRAD_LAUNCHER_DIR}/StdAfx.cpp" + + # Header Files + "${SRCDIR}/public/tier1/interface.h" + "${SRCDIR}/public/ivraddll.h" + "${VRAD_LAUNCHER_DIR}/StdAfx.h" +) + +set( + vrad_launcher_exclude_source + "${SRCDIR}/public/tier0/memoverride.cpp" +) + +add_executable(vrad_launcher ${VRAD_LAUNCHER_SOURCE_FILES}) + +set_target_properties( + vrad_launcher PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_precompile_headers( + vrad_launcher PRIVATE + "${VRAD_LAUNCHER_DIR}/stdafx.h" +) + +target_link_options( + vrad_launcher PRIVATE +) \ No newline at end of file diff --git a/sp/src/utils/vtf2tga/vtf2tga.cmake b/sp/src/utils/vtf2tga/vtf2tga.cmake new file mode 100644 index 00000000000..59617588b8c --- /dev/null +++ b/sp/src/utils/vtf2tga/vtf2tga.cmake @@ -0,0 +1,44 @@ +# vtf2tga.cmake + +set(VTF2TGA_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + VTF2TGA_SOURCE_FILES + + "${VTF2TGA_DIR}/vtf2tga.cpp" + + # Header Files + "${SRCDIR}/public/mathlib/amd3dx.h" + "${SRCDIR}/public/tier0/basetypes.h" + "${SRCDIR}/public/tier0/commonmacros.h" + "${SRCDIR}/public/tier0/dbg.h" + "${SRCDIR}/public/tier0/fasttimer.h" + "${SRCDIR}/public/mathlib/mathlib.h" + "${SRCDIR}/public/tier0/memdbgon.h" + "${SRCDIR}/public/tier0/platform.h" + "${SRCDIR}/public/tier0/protected_things.h" + "${SRCDIR}/public/string_t.h" + "${SRCDIR}/public/tier1/strtools.h" + "${SRCDIR}/public/tier1/utlbuffer.h" + "${SRCDIR}/public/tier1/utlmemory.h" + "${SRCDIR}/public/mathlib/vector.h" + "${SRCDIR}/public/mathlib/vector2d.h" + "${SRCDIR}/public/vstdlib/vstdlib.h" + "${SRCDIR}/public/vtf/vtf.h" +) + +add_executable(vtf2tga ${VTF2TGA_SOURCE_FILES}) + +set_target_properties( + vtf2tga PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_link_libraries( + vtf2tga PRIVATE + "${LIBPUBLIC}/bitmap${STATIC_LIB_EXT}" + mathlib + "${LIBPUBLIC}/tier2${STATIC_LIB_EXT}" + "${LIBPUBLIC}/vtf${STATIC_LIB_EXT}" +) \ No newline at end of file diff --git a/sp/src/utils/vtfdiff/vtfdiff.cmake b/sp/src/utils/vtfdiff/vtfdiff.cmake new file mode 100644 index 00000000000..503b5e2ad80 --- /dev/null +++ b/sp/src/utils/vtfdiff/vtfdiff.cmake @@ -0,0 +1,25 @@ +# vtfdiff.cmake + +set(VTFDIFF_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + VTFDIFF_SOURCE_FILES + + "${VTFDIFF_DIR}/vtfdiff.cpp" +) + +add_executable(vtfdiff ${VTFDIFF_SOURCE_FILES}) + +set_target_properties( + vtfdiff PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_link_libraries( + vtfdiff PRIVATE + "${LIBPUBLIC}/bitmap${STATIC_LIB_EXT}" + mathlib + "${LIBPUBLIC}/tier2${STATIC_LIB_EXT}" + "${LIBPUBLIC}/vtf${STATIC_LIB_EXT}" +) \ No newline at end of file diff --git a/sp/src/utils/vvis/vvis_dll.cmake b/sp/src/utils/vvis/vvis_dll.cmake new file mode 100644 index 00000000000..013521de73a --- /dev/null +++ b/sp/src/utils/vvis/vvis_dll.cmake @@ -0,0 +1,104 @@ +# vvis_dll.cmake + +set(VVIS_DLL_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + VVIS_DLL_SOURCE_FILES + + "${SRCDIR}/utils/common/bsplib.cpp" + "${SRCDIR}/utils/common/cmdlib.cpp" + "${SRCDIR}/public/collisionutils.cpp" + "${SRCDIR}/public/filesystem_helpers.cpp" + "${VVIS_DLL_DIR}/flow.cpp" + "${SRCDIR}/public/loadcmdline.cpp" + "${SRCDIR}/public/lumpfiles.cpp" + "${SRCDIR}/utils/common/mpi_stats.cpp" + "${VVIS_DLL_DIR}/mpivis.cpp" + "${SRCDIR}/utils/common/MySqlDatabase.cpp" + "${SRCDIR}/utils/common/pacifier.cpp" + "${SRCDIR}/public/scratchpad3d.cpp" + "${SRCDIR}/utils/common/scratchpad_helpers.cpp" + "${SRCDIR}/utils/common/scriplib.cpp" + "${SRCDIR}/utils/common/threads.cpp" + "${SRCDIR}/utils/common/tools_minidump.cpp" + "${SRCDIR}/utils/common/tools_minidump.h" + "${SRCDIR}/utils/common/vmpi_tools_shared.cpp" + "${VVIS_DLL_DIR}/vvis.cpp" + "${VVIS_DLL_DIR}/WaterDist.cpp" + "${SRCDIR}/public/zip_utils.cpp" + + # Header Files + "${SRCDIR}/public/mathlib/amd3dx.h" + "${SRCDIR}/public/tier0/basetypes.h" + "${SRCDIR}/public/BSPFILE.H" + "${SRCDIR}/public/bspflags.h" + "${SRCDIR}/utils/common/bsplib.h" + "${SRCDIR}/public/BSPTreeData.h" + "${SRCDIR}/public/mathlib/bumpvects.h" + "${SRCDIR}/public/tier1/byteswap.h" + "${SRCDIR}/public/tier1/checksum_crc.h" + "${SRCDIR}/public/tier1/checksum_md5.h" + "${SRCDIR}/utils/common/cmdlib.h" + "${SRCDIR}/public/cmodel.h" + "${SRCDIR}/public/tier0/commonmacros.h" + "${SRCDIR}/public/GameBSPFile.h" + "${SRCDIR}/utils/common/ISQLDBReplyTarget.h" + "${SRCDIR}/public/mathlib/mathlib.h" + "${VVIS_DLL_DIR}/mpivis.h" + "${SRCDIR}/utils/common/MySqlDatabase.h" + "${SRCDIR}/utils/common/pacifier.h" + "${SRCDIR}/utils/common/scriplib.h" + "${SRCDIR}/public/tier1/strtools.h" + "${SRCDIR}/utils/common/threads.h" + "${SRCDIR}/public/tier1/utlbuffer.h" + "${SRCDIR}/public/tier1/utllinkedlist.h" + "${SRCDIR}/public/tier1/utlmemory.h" + "${SRCDIR}/public/tier1/utlrbtree.h" + "${SRCDIR}/public/tier1/utlsymbol.h" + "${SRCDIR}/public/tier1/utlvector.h" + "${SRCDIR}/public/vcollide.h" + "${SRCDIR}/public/mathlib/vector.h" + "${SRCDIR}/public/mathlib/vector2d.h" + "${VVIS_DLL_DIR}/vis.h" + "${SRCDIR}/utils/vmpi/vmpi_distribute_work.h" + "${SRCDIR}/utils/common/vmpi_tools_shared.h" + "${SRCDIR}/public/vstdlib/vstdlib.h" + "${SRCDIR}/public/wadtypes.h" +) + +set( + vvis_dll_exclude_source + "${SRCDIR}/public/tier0/memoverride.cpp" +) + +add_library(vvis_dll MODULE ${VVIS_DLL_SOURCE_FILES}) + +set_target_properties( + vvis_dll PROPERTIES + LIBRARY_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + LIBRARY_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + LIBRARY_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_include_directories( + vvis_dll PRIVATE + "${SRCDIR}/utils/common" + "${SRCDIR}/utils/vmpi" + "${SRCDIR}/utils/vmpi/mysql/include" +) + +target_compile_definitions( + vvis_dll PRIVATE + MPI + PROTECTED_THINGS_DISABLE +) + +target_link_libraries( + vvis_dll PRIVATE + odbc32 + odbccp32 + ws2_32 + + mathlib + "${LIBPUBLIC}/tier2${STATIC_LIB_EXT}" + "${LIBPUBLIC}/vmpi${STATIC_LIB_EXT}" +) \ No newline at end of file diff --git a/sp/src/utils/vvis_launcher/vvis_launcher.cmake b/sp/src/utils/vvis_launcher/vvis_launcher.cmake new file mode 100644 index 00000000000..8a6713b9826 --- /dev/null +++ b/sp/src/utils/vvis_launcher/vvis_launcher.cmake @@ -0,0 +1,40 @@ +# vvis_launcher.cmake + +set(VVIS_LAUNCHER_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + VVIS_LAUNCHER_SOURCE_FILES + + "${VVIS_LAUNCHER_DIR}/vvis_launcher.cpp" + "${VVIS_LAUNCHER_DIR}/StdAfx.cpp" + + # Header Files + "${SRCDIR}/public/tier1/interface.h" + "${VVIS_LAUNCHER_DIR}/StdAfx.h" +) + +add_executable(vvis_launcher ${VVIS_LAUNCHER_SOURCE_FILES}) + +set_target_properties( + vvis_launcher PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${GAMEDIR}/bin" + RUNTIME_OUTPUT_DIRECTORY_RELEASE "${GAMEDIR}/bin" +) + +target_precompile_headers( + vvis_launcher PRIVATE + "${VVIS_LAUNCHER_DIR}/StdAfx.h" +) + +target_include_directories( + vvis_launcher PRIVATE + "${SRCDIR}/utils/common" +) + +target_link_options( + vvis_launcher PRIVATE +) + +target_link_libraries( + vvis_launcher PRIVATE +) \ No newline at end of file diff --git a/sp/src/vgui2/vgui_controls/vgui_controls.cmake b/sp/src/vgui2/vgui_controls/vgui_controls.cmake new file mode 100644 index 00000000000..d6980e36205 --- /dev/null +++ b/sp/src/vgui2/vgui_controls/vgui_controls.cmake @@ -0,0 +1,182 @@ +# vgui_controls.cmake + +set(VGUI_CONTROLS_DIR ${CMAKE_CURRENT_LIST_DIR}) +set( + VGUI_CONTROLS_SOURCE_FILES + + "${VGUI_CONTROLS_DIR}/AnalogBar.cpp" + "${VGUI_CONTROLS_DIR}/AnimatingImagePanel.cpp" + "${VGUI_CONTROLS_DIR}/AnimationController.cpp" + "${VGUI_CONTROLS_DIR}/BitmapImagePanel.cpp" + "${VGUI_CONTROLS_DIR}/BuildFactoryHelper.cpp" + "${VGUI_CONTROLS_DIR}/BuildGroup.cpp" + "${VGUI_CONTROLS_DIR}/BuildModeDialog.cpp" + "${VGUI_CONTROLS_DIR}/Button.cpp" + "${VGUI_CONTROLS_DIR}/CheckButton.cpp" + "${VGUI_CONTROLS_DIR}/CheckButtonList.cpp" + "${VGUI_CONTROLS_DIR}/CircularProgressBar.cpp" + "${VGUI_CONTROLS_DIR}/ComboBox.cpp" + "${VGUI_CONTROLS_DIR}/consoledialog.cpp" + "${VGUI_CONTROLS_DIR}/ControllerMap.cpp" + "${VGUI_CONTROLS_DIR}/controls.cpp" + "${VGUI_CONTROLS_DIR}/cvartogglecheckbutton.cpp" + "${VGUI_CONTROLS_DIR}/DirectorySelectDialog.cpp" + "${VGUI_CONTROLS_DIR}/Divider.cpp" + "${VGUI_CONTROLS_DIR}/EditablePanel.cpp" + "${VGUI_CONTROLS_DIR}/ExpandButton.cpp" + "${VGUI_CONTROLS_DIR}/FileOpenDialog.cpp" + "${VGUI_CONTROLS_DIR}/FileOpenStateMachine.cpp" + "${SRCDIR}/public/filesystem_helpers.cpp" + "${VGUI_CONTROLS_DIR}/FocusNavGroup.cpp" + "${VGUI_CONTROLS_DIR}/Frame.cpp" + "${VGUI_CONTROLS_DIR}/GraphPanel.cpp" + "${VGUI_CONTROLS_DIR}/HTML.cpp" + "${VGUI_CONTROLS_DIR}/Image.cpp" + "${VGUI_CONTROLS_DIR}/ImageList.cpp" + "${VGUI_CONTROLS_DIR}/ImagePanel.cpp" + "${VGUI_CONTROLS_DIR}/InputDialog.cpp" + "${VGUI_CONTROLS_DIR}/KeyBindingHelpDialog.cpp" + "${VGUI_CONTROLS_DIR}/KeyBoardEditorDialog.cpp" + "${VGUI_CONTROLS_DIR}/KeyRepeat.cpp" + "${VGUI_CONTROLS_DIR}/Label.cpp" + "${VGUI_CONTROLS_DIR}/ListPanel.cpp" + "${VGUI_CONTROLS_DIR}/ListViewPanel.cpp" + "${VGUI_CONTROLS_DIR}/Menu.cpp" + "${VGUI_CONTROLS_DIR}/MenuBar.cpp" + "${VGUI_CONTROLS_DIR}/MenuButton.cpp" + "${VGUI_CONTROLS_DIR}/MenuItem.cpp" + "${VGUI_CONTROLS_DIR}/MessageBox.cpp" + "${VGUI_CONTROLS_DIR}/MessageDialog.cpp" + "${VGUI_CONTROLS_DIR}/Panel.cpp" + "${VGUI_CONTROLS_DIR}/PanelListPanel.cpp" + "${VGUI_CONTROLS_DIR}/PerforceFileExplorer.cpp" + "${VGUI_CONTROLS_DIR}/PerforceFileList.cpp" + "${VGUI_CONTROLS_DIR}/perforcefilelistframe.cpp" + "${VGUI_CONTROLS_DIR}/ProgressBar.cpp" + "${VGUI_CONTROLS_DIR}/ProgressBox.cpp" + "${VGUI_CONTROLS_DIR}/PropertyDialog.cpp" + "${VGUI_CONTROLS_DIR}/PropertyPage.cpp" + "${VGUI_CONTROLS_DIR}/PropertySheet.cpp" + "${VGUI_CONTROLS_DIR}/QueryBox.cpp" + "${VGUI_CONTROLS_DIR}/RadioButton.cpp" + "${VGUI_CONTROLS_DIR}/RichText.cpp" + "${VGUI_CONTROLS_DIR}/RotatingProgressBar.cpp" + "${VGUI_CONTROLS_DIR}/savedocumentquery.cpp" + "${VGUI_CONTROLS_DIR}/ScalableImagePanel.cpp" + "${VGUI_CONTROLS_DIR}/ScrollableEditablePanel.cpp" + "${VGUI_CONTROLS_DIR}/ScrollBar.cpp" + "${VGUI_CONTROLS_DIR}/ScrollBarSlider.cpp" + "${VGUI_CONTROLS_DIR}/SectionedListPanel.cpp" + "${VGUI_CONTROLS_DIR}/Slider.cpp" + "${VGUI_CONTROLS_DIR}/Splitter.cpp" + "${VGUI_CONTROLS_DIR}/subrectimage.cpp" + "${VGUI_CONTROLS_DIR}/TextEntry.cpp" + "${VGUI_CONTROLS_DIR}/TextImage.cpp" + "${VGUI_CONTROLS_DIR}/ToggleButton.cpp" + "${VGUI_CONTROLS_DIR}/Tooltip.cpp" + "${VGUI_CONTROLS_DIR}/ToolWindow.cpp" + "${VGUI_CONTROLS_DIR}/TreeView.cpp" + "${VGUI_CONTROLS_DIR}/TreeViewListControl.cpp" + "${VGUI_CONTROLS_DIR}/URLLabel.cpp" + "${VGUI_CONTROLS_DIR}/WizardPanel.cpp" + "${VGUI_CONTROLS_DIR}/WizardSubPanel.cpp" + "${SRCDIR}/vgui2/src/vgui_key_translation.cpp" + + "${SRCDIR}/public/vgui_controls/AnalogBar.h" + "${SRCDIR}/public/vgui_controls/AnimatingImagePanel.h" + "${SRCDIR}/public/vgui_controls/AnimationController.h" + "${SRCDIR}/public/vgui_controls/BitmapImagePanel.h" + "${SRCDIR}/public/vgui_controls/BuildGroup.h" + "${SRCDIR}/public/vgui_controls/BuildModeDialog.h" + "${SRCDIR}/public/vgui_controls/Button.h" + "${SRCDIR}/public/vgui_controls/CheckButton.h" + "${SRCDIR}/public/vgui_controls/CheckButtonList.h" + "${SRCDIR}/public/vgui_controls/CircularProgressBar.h" + "${SRCDIR}/public/Color.h" + "${SRCDIR}/public/vgui_controls/ComboBox.h" + "${SRCDIR}/public/vgui_controls/consoledialog.h" + "${SRCDIR}/public/vgui_controls/ControllerMap.h" + "${SRCDIR}/public/vgui_controls/Controls.h" + "${SRCDIR}/public/vgui_controls/cvartogglecheckbutton.h" + "${SRCDIR}/public/vgui_controls/DialogManager.h" + "${SRCDIR}/public/vgui_controls/DirectorySelectDialog.h" + "${SRCDIR}/public/vgui_controls/Divider.h" + "${SRCDIR}/public/vgui_controls/EditablePanel.h" + "${SRCDIR}/public/vgui_controls/ExpandButton.h" + "${SRCDIR}/public/vgui_controls/FileOpenDialog.h" + "${SRCDIR}/public/vgui_controls/FileOpenStateMachine.h" + "${SRCDIR}/public/filesystem.h" + "${SRCDIR}/public/filesystem_helpers.h" + "${SRCDIR}/public/vgui_controls/FocusNavGroup.h" + "${SRCDIR}/public/vgui_controls/Frame.h" + "${SRCDIR}/public/vgui_controls/GraphPanel.h" + "${SRCDIR}/public/vgui_controls/HTML.h" + "${SRCDIR}/public/vgui_controls/Image.h" + "${SRCDIR}/public/vgui_controls/ImageList.h" + "${SRCDIR}/public/vgui_controls/ImagePanel.h" + "${SRCDIR}/public/vgui_controls/InputDialog.h" + "${SRCDIR}/public/tier1/interface.h" + "${SRCDIR}/public/vgui_controls/KeyBindingHelpDialog.h" + "${SRCDIR}/public/vgui_controls/KeyBindingMap.h" + "${SRCDIR}/public/vgui_controls/KeyBoardEditorDialog.h" + "${SRCDIR}/public/vgui_controls/KeyRepeat.h" + "${SRCDIR}/public/tier1/KeyValues.h" + "${SRCDIR}/public/vgui_controls/Label.h" + "${SRCDIR}/public/vgui_controls/ListPanel.h" + "${SRCDIR}/public/vgui_controls/ListViewPanel.h" + "${SRCDIR}/public/tier0/memdbgoff.h" + "${SRCDIR}/public/tier0/memdbgon.h" + "${SRCDIR}/public/tier1/mempool.h" + "${SRCDIR}/public/vgui_controls/Menu.h" + "${SRCDIR}/public/vgui_controls/MenuBar.h" + "${SRCDIR}/public/vgui_controls/MenuButton.h" + "${SRCDIR}/public/vgui_controls/MenuItem.h" + "${SRCDIR}/public/vgui_controls/MessageBox.h" + "${SRCDIR}/public/vgui_controls/MessageDialog.h" + "${SRCDIR}/public/vgui_controls/MessageMap.h" + "${SRCDIR}/public/vgui_controls/Panel.h" + "${SRCDIR}/public/vgui_controls/PanelAnimationVar.h" + "${SRCDIR}/public/vgui_controls/PanelListPanel.h" + "${SRCDIR}/public/vgui_controls/PerforceFileExplorer.h" + "${SRCDIR}/public/vgui_controls/PerforceFileList.h" + "${SRCDIR}/public/vgui_controls/perforcefilelistframe.h" + "${SRCDIR}/public/vgui_controls/PHandle.h" + "${SRCDIR}/public/vgui_controls/ProgressBar.h" + "${SRCDIR}/public/vgui_controls/ProgressBox.h" + "${SRCDIR}/public/vgui_controls/PropertyDialog.h" + "${SRCDIR}/public/vgui_controls/PropertyPage.h" + "${SRCDIR}/public/vgui_controls/PropertySheet.h" + "${SRCDIR}/public/vgui_controls/QueryBox.h" + "${SRCDIR}/public/vgui_controls/RadioButton.h" + "${SRCDIR}/public/vgui_controls/RichText.h" + "${SRCDIR}/public/vgui_controls/RotatingProgressBar.h" + "${SRCDIR}/public/vgui_controls/savedocumentquery.h" + "${SRCDIR}/public/vgui_controls/ScalableImagePanel.h" + "${SRCDIR}/public/vgui_controls/ScrollableEditablePanel.h" + "${SRCDIR}/public/vgui_controls/ScrollBar.h" + "${SRCDIR}/public/vgui_controls/ScrollBarSlider.h" + "${SRCDIR}/public/vgui_controls/SectionedListPanel.h" + "${SRCDIR}/public/vgui_controls/Slider.h" + "${SRCDIR}/public/vgui_controls/Splitter.h" + "${SRCDIR}/public/vgui_controls/subrectimage.h" + "${SRCDIR}/public/vgui_controls/TextEntry.h" + "${SRCDIR}/public/vgui_controls/TextImage.h" + "${SRCDIR}/public/vgui_controls/ToggleButton.h" + "${SRCDIR}/public/vgui_controls/Tooltip.h" + "${SRCDIR}/public/vgui_controls/ToolWindow.h" + "${SRCDIR}/public/vgui_controls/TreeView.h" + "${SRCDIR}/public/vgui_controls/TreeViewListControl.h" + "${SRCDIR}/public/vgui_controls/URLLabel.h" + "${SRCDIR}/public/tier1/utlmemory.h" + "${SRCDIR}/public/tier1/utlrbtree.h" + "${SRCDIR}/public/tier1/utlvector.h" + "${SRCDIR}/public/vgui_controls/WizardPanel.h" + "${SRCDIR}/public/vgui_controls/WizardSubPanel.h" +) + +add_library(vgui_controls STATIC ${VGUI_CONTROLS_SOURCE_FILES}) +target_include_directories( + vgui_controls PRIVATE + "${SRCDIR}/thirdparty" + "${SRCDIR}/thirdparty/cef" +) \ No newline at end of file