From ade05ab153fe0a55fb415e229438b41b6fe4923b Mon Sep 17 00:00:00 2001 From: nillerusr Date: Wed, 13 Dec 2023 20:18:09 +0300 Subject: [PATCH] dedicated(win32): fix build issues #322 --- dedicated_main/dedicated_main.rc | 2 +- engine/baseclient.cpp | 4 ++- engine/cl_null.cpp | 9 ++++-- engine/common.cpp | 50 ++++++++++++++------------------ engine/host.cpp | 2 ++ engine/l_studio.cpp | 16 +++++----- engine/sys_dll.cpp | 2 +- engine/wscript | 16 ++++++---- wscript | 1 + 9 files changed, 55 insertions(+), 47 deletions(-) diff --git a/dedicated_main/dedicated_main.rc b/dedicated_main/dedicated_main.rc index 1d9e83912..6f684b9e8 100644 --- a/dedicated_main/dedicated_main.rc +++ b/dedicated_main/dedicated_main.rc @@ -7,7 +7,7 @@ // // Generated from the TEXTINCLUDE 2 resource. // -#include "afxres.h" +#include "windows.h" ///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS diff --git a/engine/baseclient.cpp b/engine/baseclient.cpp index 4ec466525..63631cc21 100644 --- a/engine/baseclient.cpp +++ b/engine/baseclient.cpp @@ -706,11 +706,13 @@ bool CBaseClient::SendServerInfo( void ) serverinfo.WriteToBuffer( msg ); - if ( IsX360() && serverinfo.m_nMaxClients > 1 ) +#ifdef _X360 + if ( serverinfo.m_nMaxClients > 1 ) { Msg( "Telling clients to connect" ); g_pMatchmaking->TellClientsToConnect(); } +#endif // send first tick m_nSignonTick = m_Server->m_nTickCount; diff --git a/engine/cl_null.cpp b/engine/cl_null.cpp index 968166c52..8dc144343 100644 --- a/engine/cl_null.cpp +++ b/engine/cl_null.cpp @@ -6,6 +6,7 @@ #include "client_pch.h" #ifdef SWDS +#include "igame.h" #include "hltvclientstate.h" #include "convar.h" #include "enginestats.h" @@ -37,9 +38,9 @@ bool CL_IsPortalDemo() bool HandleRedirectAndDebugLog( const char *msg ); -void BeginLoadingUpdates( MaterialNonInteractiveMode_t mode ) {} +//void BeginLoadingUpdates( MaterialNonInteractiveMode_t mode ) {} +//void EndLoadingUpdates() {} void RefreshScreenIfNecessary() {} -void EndLoadingUpdates() {} void Con_ColorPrintf( const Color& clr, const char *fmt, ... ) @@ -190,4 +191,8 @@ CClientState cl; char g_minidumpinfo[ 4096 ] = {0}; PAGED_POOL_INFO_t g_pagedpoolinfo = { 0 }; +int g_iVCRPlaybackSleepInterval = 0; +IGame *game = NULL; + + #endif diff --git a/engine/common.cpp b/engine/common.cpp index 96a5c7f53..74c90b6b0 100644 --- a/engine/common.cpp +++ b/engine/common.cpp @@ -97,22 +97,19 @@ COM_ExplainDisconnection */ void COM_ExplainDisconnection( bool bPrint, const char *fmt, ... ) { - if ( IsX360() ) - { - g_pMatchmaking->SessionNotification( SESSION_NOTIFY_LOST_SERVER ); - } - else - { - va_list argptr; - char string[1024]; +#ifdef _X360 + g_pMatchmaking->SessionNotification( SESSION_NOTIFY_LOST_SERVER ); +#else + va_list argptr; + char string[1024]; - va_start (argptr, fmt); - Q_vsnprintf(string, sizeof( string ), fmt,argptr); - va_end (argptr); + va_start (argptr, fmt); + Q_vsnprintf(string, sizeof( string ), fmt,argptr); + va_end (argptr); - Q_strncpy( gszDisconnectReason, string, 256 ); - gfExtendedError = true; - } + Q_strncpy( gszDisconnectReason, string, 256 ); + gfExtendedError = true; +#endif if ( bPrint ) { @@ -146,21 +143,18 @@ COM_ExtendedExplainDisconnection */ void COM_ExtendedExplainDisconnection( bool bPrint, const char *fmt, ... ) { - if ( IsX360() ) - { - g_pMatchmaking->SessionNotification( SESSION_NOTIFY_LOST_SERVER ); - } - else - { - va_list argptr; - char string[1024]; - - va_start (argptr, fmt); - Q_vsnprintf(string, sizeof( string ), fmt,argptr); - va_end (argptr); +#ifdef _X360 + g_pMatchmaking->SessionNotification( SESSION_NOTIFY_LOST_SERVER ); +#else + va_list argptr; + char string[1024]; - Q_strncpy( gszExtendedDisconnectReason, string, 256 ); - } + va_start (argptr, fmt); + Q_vsnprintf(string, sizeof( string ), fmt,argptr); + va_end (argptr); + + Q_strncpy( gszExtendedDisconnectReason, string, 256 ); +#endif if ( bPrint ) { diff --git a/engine/host.cpp b/engine/host.cpp index 2e22474f0..dbd43c65b 100644 --- a/engine/host.cpp +++ b/engine/host.cpp @@ -3500,10 +3500,12 @@ void _Host_RunFrame (float time) //------------------- _Host_RunFrame_Sound(); +#ifndef DEDICATED if ( g_bVCRSingleStep ) { VCR_EnterPausedState(); } +#endif } else { diff --git a/engine/l_studio.cpp b/engine/l_studio.cpp index af94a4c6b..24c8da7e4 100644 --- a/engine/l_studio.cpp +++ b/engine/l_studio.cpp @@ -4353,20 +4353,20 @@ ModelInstanceHandle_t CModelRender::CreateInstance( IClientRenderable *pRenderab // validate static color meshes once, now at load/create time ValidateStaticPropColorData( handle ); - + // 360 persists the color meshes across same map loads - if ( !IsX360() || instance.m_ColorMeshHandle == DC_INVALID_HANDLE ) +#ifdef _X360 + if ( r_decalstaticprops.GetBool() && instance.m_LightCacheHandle ) + instance.m_AmbientLightingState = *(LightcacheGetStatic( *pCache, NULL, LIGHTCACHEFLAGS_STATIC )); +#else + if ( instance.m_ColorMeshHandle == DC_INVALID_HANDLE ) { // builds out color meshes or loads disk colors, now at load/create time RecomputeStaticLighting( handle ); } - else - if ( r_decalstaticprops.GetBool() && instance.m_LightCacheHandle ) - { - instance.m_AmbientLightingState = *(LightcacheGetStatic( *pCache, NULL, LIGHTCACHEFLAGS_STATIC )); - } +#endif } - + return handle; } diff --git a/engine/sys_dll.cpp b/engine/sys_dll.cpp index 1a041f902..402013124 100644 --- a/engine/sys_dll.cpp +++ b/engine/sys_dll.cpp @@ -1534,7 +1534,7 @@ void Sys_NoCrashDialog() void Sys_TestSendKey( const char *pKey ) { -#if defined(_WIN32) && !defined(USE_SDL) && !defined(_XBOX) +#if defined(_WIN32) && !defined(USE_SDL) && !defined(_XBOX) && !defined(DEDICATED) int key = pKey[0]; if ( pKey[0] == '\\' && pKey[1] == 'r' ) { diff --git a/engine/wscript b/engine/wscript index 54ffdc4eb..8270bd346 100755 --- a/engine/wscript +++ b/engine/wscript @@ -212,15 +212,17 @@ def build(bld): ] if bld.env.DEST_OS != "darwin": source += ['audio/snd_dev_sdl.cpp'] - + + source_win = [ + 'audio/snd_dev_direct.cpp', + 'audio/snd_dev_wave.cpp', + 'audio/voice_mixer_controls.cpp', + 'audio/voice_record_dsound.cpp' + ] if bld.env.DEST_OS == 'win32': - source += [ + source += [ '../public/tier0/memoverride.cpp', - 'audio/snd_dev_direct.cpp', - 'audio/snd_dev_wave.cpp', - 'audio/voice_mixer_controls.cpp', - 'audio/voice_record_dsound.cpp', ] else: source += [ @@ -231,6 +233,8 @@ def build(bld): if bld.env.DEDICATED: source += ['cl_null.cpp'] else: + source += source_win if bld.env.DEST_OS == 'win32' else [] + source += [ 'client_pch.cpp', 'cl_rcon.cpp', diff --git a/wscript b/wscript index c743bb46b..b1ab3c7f9 100644 --- a/wscript +++ b/wscript @@ -140,6 +140,7 @@ projects={ 'tier1', 'tier2', 'tier3', + 'vgui2/vgui_controls', 'vphysics', 'vpklib', 'vstdlib',