diff --git a/interfaces/interfaces.cpp b/interfaces/interfaces.cpp index d8a267f3..b0b072fb 100644 --- a/interfaces/interfaces.cpp +++ b/interfaces/interfaces.cpp @@ -74,60 +74,60 @@ struct ConnectionRegistration_t static const InterfaceGlobals_t g_pInterfaceGlobals[] = { - { CVAR_INTERFACE_VERSION, cvar }, - { CVAR_INTERFACE_VERSION, g_pCVar }, - { EVENTSYSTEM_INTERFACE_VERSION, g_pEventSystem }, - { PROCESS_UTILS_INTERFACE_VERSION, g_pProcessUtils }, - { VPHYSICS2_INTERFACE_VERSION, g_pPhysics2 }, - { VPHYSICS2_ACTOR_MGR_INTERFACE_VERSION, g_pPhysics2ActorManager }, - { VPHYSICS2_RESOURCE_MGR_INTERFACE_VERSION, g_pPhysics2ResourceManager }, - { FILESYSTEM_INTERFACE_VERSION, g_pFullFileSystem }, - { ASYNCFILESYSTEM_INTERFACE_VERSION, g_pAsyncFileSystem }, - { RESOURCESYSTEM_INTERFACE_VERSION, g_pResourceSystem }, - { MATERIAL_SYSTEM_INTERFACE_VERSION, materials }, - { MATERIAL_SYSTEM_INTERFACE_VERSION, g_pMaterialSystem }, - { MATERIAL_SYSTEM2_INTERFACE_VERSION, g_pMaterialSystem2 }, - { INPUTSYSTEM_INTERFACE_VERSION, g_pInputSystem }, - { INPUTSTACKSYSTEM_INTERFACE_VERSION, g_pInputStackSystem }, - { NETWORKSYSTEM_INTERFACE_VERSION, g_pNetworkSystem }, - { RENDER_DEVICE_MGR_INTERFACE_VERSION, g_pRenderDeviceMgr }, - { MATERIALSYSTEM_HARDWARECONFIG_INTERFACE_VERSION, g_pMaterialSystemHardwareConfig }, - { SOUNDSYSTEM_INTERFACE_VERSION, g_pSoundSystem }, - { DEBUG_TEXTURE_INFO_VERSION, g_pMaterialSystemDebugTextureInfo }, - { VB_ALLOC_TRACKER_INTERFACE_VERSION, g_VBAllocTracker }, - { COLORCORRECTION_INTERFACE_VERSION, colorcorrection }, - { P4_INTERFACE_VERSION, p4 }, - { MDLLIB_INTERFACE_VERSION, mdllib }, - { QUEUEDLOADER_INTERFACE_VERSION, g_pQueuedLoader }, - { RESOURCE_ACCESS_CONTROL_INTERFACE_VERSION, g_pResourceAccessControl }, - { PRECACHE_SYSTEM_INTERFACE_VERSION, g_pPrecacheSystem }, - { STUDIO_RENDER_INTERFACE_VERSION, g_pStudioRender }, - { STUDIO_RENDER_INTERFACE_VERSION, studiorender }, - { VGUI_IVGUI_INTERFACE_VERSION, g_pVGui }, - { VGUI_INPUT_INTERFACE_VERSION, g_pVGuiInput }, - { VGUI_PANEL_INTERFACE_VERSION, g_pVGuiPanel }, - { VGUI_SURFACE_INTERFACE_VERSION, g_pVGuiSurface }, - { VGUI_SCHEME_INTERFACE_VERSION, g_pVGuiSchemeManager }, - { VGUI_SYSTEM_INTERFACE_VERSION, g_pVGuiSystem }, - { LOCALIZE_INTERFACE_VERSION, g_pLocalize }, - { LOCALIZE_INTERFACE_VERSION, g_pVGuiLocalize }, - { MAT_SYSTEM_SURFACE_INTERFACE_VERSION, g_pMatSystemSurface }, - { DATACACHE_INTERFACE_VERSION, g_pDataCache }, - { MDLCACHE_INTERFACE_VERSION, g_pMDLCache }, - { MDLCACHE_INTERFACE_VERSION, mdlcache }, - { AVI_INTERFACE_VERSION, g_pAVI }, - { BIK_INTERFACE_VERSION, g_pBIK }, - { DMEMAKEFILE_UTILS_INTERFACE_VERSION, g_pDmeMakefileUtils }, - { VPHYSICS_COLLISION_INTERFACE_VERSION, g_pPhysicsCollision }, - { SOUNDEMITTERSYSTEM_INTERFACE_VERSION, g_pSoundEmitterSystem }, - { MESHSYSTEM_INTERFACE_VERSION, g_pMeshSystem }, - { RENDER_DEVICE_INTERFACE_VERSION, g_pRenderDevice }, - { RENDER_HARDWARECONFIG_INTERFACE_VERSION, g_pRenderHardwareConfig }, - { SCENESYSTEM_INTERFACE_VERSION, g_pSceneSystem }, - { WORLD_RENDERER_MGR_INTERFACE_VERSION, g_pWorldRendererMgr }, - { RENDER_SYSTEM_SURFACE_INTERFACE_VERSION, g_pVGuiRenderSurface }, - { MATCHFRAMEWORK_INTERFACE_VERSION, g_pMatchFramework }, - { GAMEUISYSTEMMGR_INTERFACE_VERSION, g_pGameUISystemMgr } + { CVAR_INTERFACE_VERSION, &cvar }, + { CVAR_INTERFACE_VERSION, &g_pCVar }, + { EVENTSYSTEM_INTERFACE_VERSION, &g_pEventSystem }, + { PROCESS_UTILS_INTERFACE_VERSION, &g_pProcessUtils }, + { VPHYSICS2_INTERFACE_VERSION, &g_pPhysics2 }, + { VPHYSICS2_ACTOR_MGR_INTERFACE_VERSION, &g_pPhysics2ActorManager }, + { VPHYSICS2_RESOURCE_MGR_INTERFACE_VERSION, &g_pPhysics2ResourceManager }, + { FILESYSTEM_INTERFACE_VERSION, &g_pFullFileSystem }, + { ASYNCFILESYSTEM_INTERFACE_VERSION, &g_pAsyncFileSystem }, + { RESOURCESYSTEM_INTERFACE_VERSION, &g_pResourceSystem }, + { MATERIAL_SYSTEM_INTERFACE_VERSION, &materials }, + { MATERIAL_SYSTEM_INTERFACE_VERSION, &g_pMaterialSystem }, + { MATERIAL_SYSTEM2_INTERFACE_VERSION, &g_pMaterialSystem2 }, + { INPUTSYSTEM_INTERFACE_VERSION, &g_pInputSystem }, + { INPUTSTACKSYSTEM_INTERFACE_VERSION, &g_pInputStackSystem }, + { NETWORKSYSTEM_INTERFACE_VERSION, &g_pNetworkSystem }, + { RENDER_DEVICE_MGR_INTERFACE_VERSION, &g_pRenderDeviceMgr }, + { MATERIALSYSTEM_HARDWARECONFIG_INTERFACE_VERSION, &g_pMaterialSystemHardwareConfig }, + { SOUNDSYSTEM_INTERFACE_VERSION, &g_pSoundSystem }, + { DEBUG_TEXTURE_INFO_VERSION, &g_pMaterialSystemDebugTextureInfo }, + { VB_ALLOC_TRACKER_INTERFACE_VERSION, &g_VBAllocTracker }, + { COLORCORRECTION_INTERFACE_VERSION, &colorcorrection }, + { P4_INTERFACE_VERSION, &p4 }, + { MDLLIB_INTERFACE_VERSION, &mdllib }, + { QUEUEDLOADER_INTERFACE_VERSION, &g_pQueuedLoader }, + { RESOURCE_ACCESS_CONTROL_INTERFACE_VERSION, &g_pResourceAccessControl }, + { PRECACHE_SYSTEM_INTERFACE_VERSION, &g_pPrecacheSystem }, + { STUDIO_RENDER_INTERFACE_VERSION, &g_pStudioRender }, + { STUDIO_RENDER_INTERFACE_VERSION, &studiorender }, + { VGUI_IVGUI_INTERFACE_VERSION, &g_pVGui }, + { VGUI_INPUT_INTERFACE_VERSION, &g_pVGuiInput }, + { VGUI_PANEL_INTERFACE_VERSION, &g_pVGuiPanel }, + { VGUI_SURFACE_INTERFACE_VERSION, &g_pVGuiSurface }, + { VGUI_SCHEME_INTERFACE_VERSION, &g_pVGuiSchemeManager }, + { VGUI_SYSTEM_INTERFACE_VERSION, &g_pVGuiSystem }, + { LOCALIZE_INTERFACE_VERSION, &g_pLocalize }, + { LOCALIZE_INTERFACE_VERSION, &g_pVGuiLocalize }, + { MAT_SYSTEM_SURFACE_INTERFACE_VERSION, &g_pMatSystemSurface }, + { DATACACHE_INTERFACE_VERSION, &g_pDataCache }, + { MDLCACHE_INTERFACE_VERSION, &g_pMDLCache }, + { MDLCACHE_INTERFACE_VERSION, &mdlcache }, + { AVI_INTERFACE_VERSION, &g_pAVI }, + { BIK_INTERFACE_VERSION, &g_pBIK }, + { DMEMAKEFILE_UTILS_INTERFACE_VERSION, &g_pDmeMakefileUtils }, + { VPHYSICS_COLLISION_INTERFACE_VERSION, &g_pPhysicsCollision }, + { SOUNDEMITTERSYSTEM_INTERFACE_VERSION, &g_pSoundEmitterSystem }, + { MESHSYSTEM_INTERFACE_VERSION, &g_pMeshSystem }, + { RENDER_DEVICE_INTERFACE_VERSION, &g_pRenderDevice }, + { RENDER_HARDWARECONFIG_INTERFACE_VERSION, &g_pRenderHardwareConfig }, + { SCENESYSTEM_INTERFACE_VERSION, &g_pSceneSystem }, + { WORLD_RENDERER_MGR_INTERFACE_VERSION, &g_pWorldRendererMgr }, + { RENDER_SYSTEM_SURFACE_INTERFACE_VERSION, &g_pVGuiRenderSurface }, + { MATCHFRAMEWORK_INTERFACE_VERSION, &g_pMatchFramework }, + { GAMEUISYSTEMMGR_INTERFACE_VERSION, &g_pGameUISystemMgr } }; static const int NUM_INTERFACES = sizeof(g_pInterfaceGlobals) / sizeof(InterfaceGlobals_t); @@ -137,7 +137,7 @@ static int s_nRegistrationCount; static ConnectionRegistration_t s_pConnectionRegistration[NUM_INTERFACES + 1]; -void ReconnectInterface(CreateInterfaceFn factory, char const *pInterfaceName, void **w); +void ReconnectInterface(CreateInterfaceFn factory, char const *pInterfaceName, void **ppGlobal); void ConnectInterfaces(CreateInterfaceFn *pFactoryList, int nFactoryCount) { @@ -207,7 +207,10 @@ void ReconnectInterface(CreateInterfaceFn factory, char const *pInterfaceName, v for (int i = 0; i < s_nRegistrationCount; i++) { if (s_pConnectionRegistration[i].m_ppGlobalStorage == ppGlobal) + { got = true; + break; + } } if ((s_nRegistrationCount <= 0 || !got) && *ppGlobal) diff --git a/interfaces/interfaces.vcxproj b/interfaces/interfaces.vcxproj index 994f27bc..e0f0f105 100644 --- a/interfaces/interfaces.vcxproj +++ b/interfaces/interfaces.vcxproj @@ -35,13 +35,7 @@ <_ProjectFileVersion>10.0.40219.1 ..\lib\public\ - true - true - true ..\lib\public\ - true - true - true AllRules.ruleset @@ -57,7 +51,7 @@ Disabled ..\public;..\public\tier0;..\public\tier1;..\public\interfaces;%(AdditionalIncludeDirectories) - WIN32;_WIN32;COMPILER_MSVC;COMPILER_MSVC32;_DEBUG;DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;TIER1_STATIC_LIB;%(PreprocessorDefinitions) + WIN32;_WIN32;COMPILER_MSVC;COMPILER_MSVC32;_DEBUG;DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions) true true @@ -66,25 +60,12 @@ MultiThreadedDebug false Fast - true - true - true - false - false - $(IntDir) - $(IntDir) - $(IntDir) - false - $(IntDir) - EditAndContinue - CompileAsCpp - Prompt Level3 @@ -92,17 +73,12 @@ - false Rpcrt4.lib;%(AdditionalDependencies) - true true - - true - $(OutDir)tier1.bsc - + @@ -110,56 +86,38 @@ - MaxSpeed - AnySuitable - true - Speed ..\public;..\public\tier0;..\public\tier1;..\public\interfaces;%(AdditionalIncludeDirectories) - WIN32;_WIN32;COMPILER_MSVC;COMPILER_MSVC32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;TIER1_STATIC_LIB;%(PreprocessorDefinitions) + WIN32;_WIN32;COMPILER_MSVC;COMPILER_MSVC32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions) true MultiThreaded false true - Fast - true - true - true - false - false - $(IntDir) - $(IntDir) - $(IntDir) - false - $(IntDir) - OldStyle - CompileAsCpp - Prompt Level3 + Fast + AnySuitable + true + Speed - false - Rpcrt4.lib;%(AdditionalDependencies) - true + + true - - true - $(OutDir)tier1.bsc - +