Skip to content

Commit 3dbe712

Browse files
committed
Merge remote-tracking branch 'origin/base' into base
2 parents 1ceef0f + 984dedc commit 3dbe712

30 files changed

+5086
-166
lines changed

.gitignore

+3-10
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,9 @@ src/thirdparty/gperftools-2.0/src/config.h.in
305305
# ignore generated protobufs
306306
generated_proto*/
307307

308+
src/unittests/rt_test/rt_test.exe
309+
src/unittests/testprocess/testprocess.exe
310+
308311
!src/thirdparty/dxsdk/lib/D3DCSX.lib
309312
!src/thirdparty/dxsdk/lib/D3DCSXd.lib
310313
!src/thirdparty/dxsdk/lib/DxErr.lib
@@ -465,7 +468,6 @@ generated_proto*/
465468
!src/lib/common/ubuntu12_32_gcc48/libcrypto.a
466469
!src/lib/common/ubuntu12_32_gcc48/libcryptopp.a
467470
!src/lib/common/unicows.lib
468-
!src/lib/common/vtuneapi.lib
469471
!src/lib/common/win32/2015/debug/
470472
!src/lib/common/win32/2015/debug/libclient.lib
471473
!src/lib/common/win32/2015/debug/libp4sslstub.lib
@@ -479,21 +481,17 @@ generated_proto*/
479481
!src/lib/common/win32/2015/release/hk_math.lib
480482
!src/lib/common/win32/2015/release/ivp_compactbuilder.lib
481483
!src/lib/common/win32/2015/release/ivp_physics.lib
482-
!src/lib/common/win32/2015/release/jpeglib.lib
483484
!src/lib/common/win32/2015/release/libclient.lib
484485
!src/lib/common/win32/2015/release/libjpeg.lib
485486
!src/lib/common/win32/2015/release/libp4sslstub.lib
486487
!src/lib/common/win32/2015/release/libpng.lib
487488
!src/lib/common/win32/2015/release/librpc.lib
488489
!src/lib/common/win32/2015/release/libsupp.lib
489-
!src/lib/common/win32/2015/release/lua.lib
490-
!src/lib/common/win32/2015/release/mxtoolkitwin32.lib
491490
!src/lib/osx/libcelt.a
492491
!src/lib/osx32/libcelt.a
493492
!src/lib/osx32/replay_common.a
494493
!src/lib/public/SDL2.lib
495494
!src/lib/public/ati_compress_mt_vc10.lib
496-
!src/lib/public/fgdlib.lib
497495
!src/lib/public/ftol3.obj
498496
!src/lib/public/itemtest_controls.lib
499497
!src/lib/public/itemtest_lib.lib
@@ -521,9 +519,7 @@ generated_proto*/
521519
!src/lib/public/linux32/tier2_srv.a
522520
!src/lib/public/linux32/tier3_srv.a
523521
!src/lib/public/linux32/vtf_srv.a
524-
!src/lib/public/mdlobjects.lib
525522
!src/lib/public/nvtc.lib
526-
!src/lib/public/nvtristrip.lib
527523
!src/lib/public/openvr_api.lib
528524
!src/lib/public/osx32/libSDL2-2.0.0.dylib
529525
!src/lib/public/osx32/libSDL2.dylib
@@ -538,13 +534,10 @@ generated_proto*/
538534
!src/lib/public/osx32/libsteamnetworkingsockets.dylib
539535
!src/lib/public/python/valvePython_python2.5.lib
540536
!src/lib/public/sdktoolslib.lib
541-
!src/lib/public/sfmobjects.lib
542537
!src/lib/public/socketlib.lib
543538
!src/lib/public/steam_api.lib
544539
!src/lib/public/steamnetworkingsockets.lib
545540
!src/lib/public/togl.lib
546-
!src/lib/public/toolutils.lib
547-
!src/lib/public/unitlib.lib
548541
!src/lib/public/vmpi.lib
549542
!src/lib/public/win64/appframework.lib
550543
!src/lib/public/win64/ati_compress_mt_vc10.lib

game_clean/create_clean.sh

+77-27
Original file line numberDiff line numberDiff line change
@@ -11,41 +11,91 @@ CLEAN_DIR=../game_dist
1111
CLEAN_DEBUG_DIR=${CLEAN_DIR}_debug
1212
rm -rf ${CLEAN_DIR}
1313
rm -rf ${CLEAN_DEBUG_DIR}
14-
mkdir -p ${CLEAN_DIR}/{bin,tf/bin}
15-
mkdir -p ${CLEAN_DEBUG_DIR}/{bin,tf/bin}
14+
mkdir -p ${CLEAN_DIR}/{bin,tf/bin,bin/tools}
15+
mkdir -p ${CLEAN_DEBUG_DIR}/{bin,tf/bin,bin/tools}
1616
cp -rf copy/* ${CLEAN_DIR}
1717
cp -rf copy/* ${DEV_DIR}
1818

19-
declare -a FILES=(
20-
{hl2,srcds}.exe
21-
)
19+
declare -a EXES=(
20+
{hl2,srcds}
21+
bin/shadercompile
22+
bin/splitskybox
23+
bin/hammer
24+
bin/vvis
25+
bin/vrad
26+
bin/vbsp
27+
bin/bspzip
28+
bin/vpk
29+
bin/modelbrowser
30+
bin/dmxedit
31+
bin/dmxconvert
32+
bin/elementviewer
33+
bin/captioncompiler
34+
bin/glview
35+
bin/motionmapper
36+
bin/scenemanager
37+
bin/MakeScenesImage
38+
bin/qc_eyes
39+
bin/hlmv
40+
bin/studiomdl
41+
bin/vtex
42+
bin/pfm2tgas
43+
bin/vtf2tga
44+
bin/dist2alpha
45+
bin/height2ssbump
46+
bin/height2normal
47+
bin/normal2ssbump
48+
bin/mksheet
49+
bin/inputtest
50+
bin/matsys_regressiontest
51+
bin/materialsystemtest
52+
bin/panel_zoo
53+
bin/newdat
54+
bin/simdtest
55+
bin/shaderapitest
56+
bin/unittest
57+
)
2258

2359
declare -a DLLS_CI=(
24-
bin/engine
25-
bin/replay
26-
bin/launcher
27-
bin/inputsystem
28-
bin/{Material,SoundEmitter}System
29-
bin/dedicated
30-
bin/{shaderapi,stdshader_}dx9
31-
bin/vgui{matsurface,2}
32-
bin/{data,scenefile}cache
33-
bin/sourcevr
34-
bin/StudioRender
35-
bin/bsppack
36-
bin/FileSystem_Stdio
37-
bin/vstdlib
38-
bin/tier0
39-
tf/bin/{client,server}
40-
)
60+
bin/engine
61+
bin/replay
62+
bin/launcher
63+
bin/inputsystem
64+
bin/{Material,SoundEmitter}System
65+
bin/soundsystem
66+
bin/dedicated
67+
bin/shaderapi{dx9,empty}
68+
bin/stdshader_{dx6,dx7,dx8,dx9,dbg}
69+
bin/vgui{matsurface,2}
70+
bin/{data,scenefile}cache
71+
bin/sourcevr
72+
bin/StudioRender
73+
bin/bsppack
74+
bin/FileSystem_Stdio
75+
bin/vstdlib
76+
bin/tier0
77+
bin/unicode
78+
bin/vvis_dll
79+
bin/vrad_dll
80+
bin/hammer_dll
81+
bin/shadercompile_dll
82+
bin/texturecompile_dll
83+
bin/AdminServer
84+
bin/mdllib
85+
bin/tools/commedit
86+
bin/tools/pet
87+
bin/tools/vmt
88+
tf/bin/{client,server}
89+
)
4190

4291
declare -a DLLS=(
43-
bin/GameUI
44-
bin/ServerBrowser
45-
)
92+
bin/GameUI
93+
bin/ServerBrowser
94+
bin/FileSystemOpenDialog
95+
)
4696

47-
for F in "${FILES[@]}"; do
48-
cp -f ${DEV_DIR}/${F} ${CLEAN_DIR}/${F}
97+
for F in "${EXES[@]}"; do
98+
cp -f ${DEV_DIR}/${F}.exe ${CLEAN_DIR}/${F}.exe
4999
done
50100

51101
for F in "${DLLS_CI[@]}"; do
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
@echo OFF
2-
devtools\bin\vpc.exe /2015 /define:WORKSHOP_IMPORT_DISABLE /define:SIXENSE_DISABLE /define:NO_X360_XDK /define:RAD_TELEMETRY_DISABLED /define:LTCG /no_ceg /nofpo /tf +game /mksln games.sln
2+
devtools\bin\vpc.exe /2015 /define:WORKSHOP_IMPORT_DISABLE /define:SIXENSE_DISABLE /define:NO_X360_XDK /define:RAD_TELEMETRY_DISABLED /define:LTCG /no_ceg /nofpo /tf +everything /mksln everything.sln

src/game/server/gameinterface.cpp

+18-1
Original file line numberDiff line numberDiff line change
@@ -565,6 +565,8 @@ EXPOSE_SINGLE_INTERFACE_GLOBALVAR(CServerGameDLL, IServerGameDLL, INTERFACEVERSI
565565
// When bumping the version to this interface, check that our assumption is still valid and expose the older version in the same way
566566
COMPILE_TIME_ASSERT( INTERFACEVERSION_SERVERGAMEDLL_INT == 10 );
567567

568+
static bool bParsedParticles = false;
569+
568570
bool CServerGameDLL::DLLInit( CreateInterfaceFn appSystemFactory,
569571
CreateInterfaceFn physicsFactory, CreateInterfaceFn fileSystemFactory,
570572
CGlobalVars *pGlobals)
@@ -727,7 +729,11 @@ bool CServerGameDLL::DLLInit( CreateInterfaceFn appSystemFactory,
727729
InvalidateQueryCache();
728730

729731
// Parse the particle manifest file & register the effects within it
730-
ParseParticleEffects( false, false );
732+
if ( engine->IsDedicatedServer() )
733+
{
734+
ParseParticleEffects( false, false );
735+
bParsedParticles = true;
736+
}
731737

732738
// try to get debug overlay, may be NULL if on HLDS
733739
debugoverlay = (IVDebugOverlay *)appSystemFactory( VDEBUG_OVERLAY_INTERFACE_VERSION, NULL );
@@ -958,6 +964,11 @@ bool CServerGameDLL::LevelInit( const char *pMapName, char const *pMapEntities,
958964
if ( pItemSchema )
959965
{
960966
pItemSchema->BInitFromDelayedBuffer();
967+
// First valid class must be non-zero if we have a valid schema
968+
if ( pItemSchema->GetFirstValidClass() == 0 )
969+
{
970+
InventoryManager()->InitializeInventory();
971+
}
961972
}
962973
#endif // USES_ECON_ITEMS
963974

@@ -970,6 +981,12 @@ bool CServerGameDLL::LevelInit( const char *pMapName, char const *pMapEntities,
970981
UpdateRichPresence();
971982
}
972983

984+
if ( !bParsedParticles )
985+
{
986+
ParseParticleEffects( false, false );
987+
bParsedParticles = true;
988+
}
989+
973990
//Tony; parse custom manifest if exists!
974991
ParseParticleEffectsMap( pMapName, false );
975992

src/game/shared/econ/econ_item_inventory.cpp

+10-1
Original file line numberDiff line numberDiff line change
@@ -296,13 +296,23 @@ void CInventoryManager::OnPersonaStateChanged( PersonaStateChange_t *info )
296296
//-----------------------------------------------------------------------------
297297
bool CInventoryManager::Init( void )
298298
{
299+
#ifdef GAME_DLL
300+
if ( engine->IsDedicatedServer() )
301+
#endif
302+
{
303+
InitializeInventory();
304+
}
299305
return true;
300306
}
301307

302308
//-----------------------------------------------------------------------------
303309
// Purpose:
304310
//-----------------------------------------------------------------------------
305311
void CInventoryManager::PostInit( void )
312+
{
313+
}
314+
315+
void CInventoryManager::InitializeInventory()
306316
{
307317
// Initialize the item system.
308318
ItemSystem()->Init();
@@ -443,7 +453,6 @@ void CInventoryManager::LevelShutdownPostEntity( void )
443453
ItemSystem()->ResetAttribStringCache();
444454
}
445455

446-
447456
//-----------------------------------------------------------------------------
448457
// Purpose: Lets the client know that we're now connected to the GC
449458
//-----------------------------------------------------------------------------

src/game/shared/econ/econ_item_inventory.h

+2
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,8 @@ class CInventoryManager : public CAutoGameSystemPerFrame
216216
virtual void LevelInitPreEntity( void ) OVERRIDE;
217217
virtual void LevelShutdownPostEntity( void ) OVERRIDE;
218218

219+
virtual void InitializeInventory( void );
220+
219221
#ifdef CLIENT_DLL
220222
// Gets called each frame
221223
virtual void Update( float frametime ) OVERRIDE;

src/game/shared/tf/tf_item_inventory.cpp

+5
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,11 @@ CTFInventoryManager::~CTFInventoryManager( void )
220220
void CTFInventoryManager::PostInit( void )
221221
{
222222
BaseClass::PostInit();
223+
}
224+
225+
void CTFInventoryManager::InitializeInventory()
226+
{
227+
BaseClass::InitializeInventory();
223228
GenerateBaseItems();
224229
}
225230

src/game/shared/tf/tf_item_inventory.h

+1
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@ class CTFInventoryManager : public CInventoryManager
150150
~CTFInventoryManager();
151151

152152
virtual void PostInit( void );
153+
virtual void InitializeInventory();
153154

154155
#ifdef CLIENT_DLL
155156
virtual CPlayerInventory *GeneratePlayerInventoryObject() const { return new CTFPlayerInventory; }

src/lib/public/vmpi.lib

7.1 MB
Binary file not shown.

src/public/maya/IMayaVGui.h

+67
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
//===== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======//
2+
//
3+
// Purpose: Interface for dealing with vgui focus issues across all plugins
4+
//
5+
// $NoKeywords: $
6+
//===========================================================================//
7+
8+
#ifndef IMAYAVGUI_H
9+
#define IMAYAVGUI_H
10+
11+
#ifdef _WIN32
12+
#pragma once
13+
#endif
14+
15+
16+
#include "tier0/platform.h"
17+
#include "appframework/iappsystem.h"
18+
#include "vgui_controls/Frame.h"
19+
20+
21+
//-----------------------------------------------------------------------------
22+
// Forward declarations
23+
//-----------------------------------------------------------------------------
24+
namespace vgui
25+
{
26+
class EditablePanel;
27+
}
28+
29+
class CVsVGuiWindowBase;
30+
31+
32+
//-----------------------------------------------------------------------------
33+
// Factory for creating vgui windows
34+
//-----------------------------------------------------------------------------
35+
abstract_class IMayaVguiWindowFactory
36+
{
37+
public:
38+
virtual void CreateVguiWindow( const char *pPanelName ) = 0;
39+
virtual void DestroyVguiWindow( const char *pPanelName ) = 0;
40+
virtual vgui::Frame *GetVGuiPanel( const char *pPanelName = NULL ) = 0;
41+
virtual CVsVGuiWindowBase *GetVGuiWindow( const char *pPanelName = NULL ) = 0;
42+
};
43+
44+
45+
//-----------------------------------------------------------------------------
46+
// Interface for dealing with vgui focus issues across all plugins
47+
//-----------------------------------------------------------------------------
48+
#define MAYA_VGUI_INTERFACE_VERSION "VMayaVGui001"
49+
abstract_class IMayaVGui : public IAppSystem
50+
{
51+
public:
52+
virtual void InstallVguiWindowFactory( const char *pWindowTypeName, IMayaVguiWindowFactory *pFactory ) = 0;
53+
virtual void RemoveVguiWindowFactory( const char *pWindowTypeName, IMayaVguiWindowFactory *pFactory ) = 0;
54+
virtual void SetFocus( void *hWnd, int hVGuiContext ) = 0;
55+
virtual bool HasFocus( void *hWnd ) = 0;
56+
57+
// In this mode, maya's in a strange re-entrant mode waiting for a modal dialog
58+
// We still get WM_PAINT messages, but we're in the middle of a callstack
59+
// deep in the bowels of VGUI
60+
virtual void SetModalMode( bool bEnable ) = 0;
61+
virtual bool IsInModalMode( ) const = 0;
62+
};
63+
64+
extern IMayaVGui* g_pMayaVGui;
65+
66+
67+
#endif // IMAYAVGUI_H

src/public/maya/VsMayaDmx.h

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======
2+
//
3+
// Purpose:
4+
//
5+
//=============================================================================
6+
7+
#ifndef VSMAYADMX_H
8+
#define VSMAYADMX_H
9+
10+
#ifdef _WIN32
11+
#pragma once
12+
#endif
13+
14+
// Maya includes
15+
16+
#include <maya/MDagPath.h>
17+
18+
// Valve includes
19+
20+
#include "movieobjects/dmemesh.h"
21+
22+
class VsMayaDmx
23+
{
24+
static CDmeMesh *MayaMeshToDmeMesh(
25+
const MDagPath &i_mDagPath,
26+
DmFileId_t fileId );
27+
28+
};
29+
30+
#endif // VSMAYADMX_H

0 commit comments

Comments
 (0)