diff --git a/CMakeLists.txt b/CMakeLists.txt index 981d53e8e..c80b503c0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -68,6 +68,14 @@ if(BUILD_SERVER) # INSTALL_COMMAND meson install -C build --destdir ${CMAKE_INSTALL_PREFIX} # ) add_subdirectory(3rdparty/yapb) + + if(MSVC) + # Limit YaPB to one concurrent compile job because MSVC shares one + # compiler PDB between all source files of this target. + set_property(GLOBAL APPEND PROPERTY JOB_POOLS yapb_compile_pool=1) + set_property(TARGET yapb PROPERTY JOB_POOL_COMPILE yapb_compile_pool) + endif() + set_target_postfix(yapb) set(XASH_COMPAT ON CACHE BOOL "" FORCE) diff --git a/cl_dll/events/event_decal_reset.cpp b/cl_dll/events/event_decal_reset.cpp index b7e5b37eb..fe6a15ea6 100644 --- a/cl_dll/events/event_decal_reset.cpp +++ b/cl_dll/events/event_decal_reset.cpp @@ -27,6 +27,7 @@ */ #include #include "events.h" +#include "cl_dll.h" // HACKHACK: This is very unreliable way to get round time float g_flRoundTime = 0.0f; @@ -35,11 +36,8 @@ extern TEMPENTITY *g_DeadPlayerModels[64]; void EV_DecalReset(event_args_s *args) { - int decalnum = (int)(gEngfuncs.pfnGetCvarFloat("r_decals")); + gRenderAPI.R_ClearAllDecals( false ); - for( int i = 0; i < decalnum; i++ ) - gEngfuncs.pEfxAPI->R_DecalRemoveAll( i ); - g_flRoundTime = gEngfuncs.GetClientTime(); if ( g_DeadPlayerModels ) diff --git a/cl_dll/include/cl_dll.h b/cl_dll/include/cl_dll.h index 190439079..718d0ff27 100644 --- a/cl_dll/include/cl_dll.h +++ b/cl_dll/include/cl_dll.h @@ -32,7 +32,7 @@ typedef unsigned short word; typedef float vec_t; typedef int (*pfnUserMsgHook)(const char *pszName, int iSize, void *pbuf); -#define MIN_XASH_VERSION 3137 +#define MIN_XASH_VERSION 4190 #include diff --git a/common/render_api.h b/common/render_api.h index fd11c8b59..76d178861 100644 --- a/common/render_api.h +++ b/common/render_api.h @@ -243,6 +243,7 @@ typedef struct render_api_s void (*S_FadeMusicVolume)( float fadePercent ); // fade background track (0-100 percents) // a1ba: changed long to int void (*SetRandomSeed)( int lSeed ); // set custom seed for RANDOM_FLOAT\RANDOM_LONG for predictable random + void (*R_ClearAllDecals)( qboolean includePermanent ); // ONLY ADD NEW FUNCTIONS TO THE END OF THIS STRUCT. INTERFACE VERSION IS FROZEN AT 37 } render_api_t;