hl2_src-leak-2017/src/game/shared/sharedInterface.h

38 lines
1.1 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: Exposes client-server neutral interfaces implemented in both places
//
// $NoKeywords: $
//=============================================================================//
#ifndef SHAREDINTERFACE_H
#define SHAREDINTERFACE_H
#ifdef POSIX
#define random random_valve// stdlib.h defined random() and our class defn conflicts so under POSIX rename it using the preprocessor
#endif
class IFileSystem;
class IUniformRandomStream;
class CGaussianRandomStream;
class IEngineSound;
class IMapData;
extern IFileSystem *filesystem;
#if defined(_STATIC_LINKED) && defined(_SUBSYSTEM) && (defined(CLIENT_DLL) || defined(GAME_DLL))
namespace _SUBSYSTEM
{
extern IUniformRandomStream *random;
}
#else
extern IUniformRandomStream *random;
#endif
extern CGaussianRandomStream *randomgaussian;
extern IEngineSound *enginesound;
extern IMapData *g_pMapData; // TODO: current implementations of the
// interface are in TF2, should probably move
// to TF2/HL2 neutral territory
#endif // SHAREDINTERFACE_H