80 lines
2.1 KiB
C++
80 lines
2.1 KiB
C++
|
/***
|
||
|
*
|
||
|
* Copyright (c) 1996-2002, Valve LLC. All rights reserved.
|
||
|
*
|
||
|
* This product contains software technology licensed from Id
|
||
|
* Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc.
|
||
|
* All Rights Reserved.
|
||
|
*
|
||
|
* Use, distribution, and modification of this source code and/or resulting
|
||
|
* object code is restricted to non-commercial enhancements to products from
|
||
|
* Valve LLC. All other use, distribution, or modification is prohibited
|
||
|
* without written permission from Valve LLC.
|
||
|
*
|
||
|
****/
|
||
|
/*
|
||
|
|
||
|
===== h_export.cpp ========================================================
|
||
|
|
||
|
Entity classes exported by Halflife.
|
||
|
|
||
|
*/
|
||
|
|
||
|
#include "extdll.h"
|
||
|
#include "util.h"
|
||
|
|
||
|
#include "cbase.h"
|
||
|
|
||
|
// Holds engine functionality callbacks
|
||
|
enginefuncs_t g_engfuncs;
|
||
|
globalvars_t *gpGlobals;
|
||
|
server_physics_api_t g_physfuncs;
|
||
|
|
||
|
#ifdef _WIN32
|
||
|
|
||
|
// Required DLL entry point
|
||
|
BOOL WINAPI DllMain( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved )
|
||
|
{
|
||
|
if( fdwReason == DLL_PROCESS_ATTACH )
|
||
|
{
|
||
|
}
|
||
|
else if( fdwReason == DLL_PROCESS_DETACH )
|
||
|
{
|
||
|
}
|
||
|
return TRUE;
|
||
|
}
|
||
|
|
||
|
void DLLEXPORT GiveFnptrsToDll( enginefuncs_t* pengfuncsFromEngine, globalvars_t *pGlobals )
|
||
|
{
|
||
|
memcpy(&g_engfuncs, pengfuncsFromEngine, sizeof(enginefuncs_t));
|
||
|
gpGlobals = pGlobals;
|
||
|
|
||
|
if( CVAR_GET_POINTER( "host_gameloaded" ))
|
||
|
g_fXashEngine = TRUE; // Xash3D engine detected
|
||
|
|
||
|
g_iXashEngineBuildNumber = (int)CVAR_GET_FLOAT( "build" ); // 0 for old builds or GoldSrc
|
||
|
if( g_iXashEngineBuildNumber <= 0 )
|
||
|
g_iXashEngineBuildNumber = (int)CVAR_GET_FLOAT( "buildnum" );
|
||
|
}
|
||
|
|
||
|
#else
|
||
|
|
||
|
extern "C"
|
||
|
{
|
||
|
|
||
|
void GiveFnptrsToDll( enginefuncs_t* pengfuncsFromEngine, globalvars_t *pGlobals )
|
||
|
{
|
||
|
memcpy(&g_engfuncs, pengfuncsFromEngine, sizeof(enginefuncs_t));
|
||
|
gpGlobals = pGlobals;
|
||
|
|
||
|
if( CVAR_GET_POINTER( "host_gameloaded" ))
|
||
|
g_fXashEngine = TRUE; // Xash3D engine detected
|
||
|
|
||
|
g_iXashEngineBuildNumber = (int)CVAR_GET_FLOAT( "build" ); // 0 for old builds or GoldSrc
|
||
|
if( g_iXashEngineBuildNumber <= 0 )
|
||
|
g_iXashEngineBuildNumber = (int)CVAR_GET_FLOAT( "buildnum" );
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
#endif
|