mirror of
https://github.com/FWGS/hlsdk-xash3d
synced 2024-11-22 18:05:23 +01:00
Merge pull request #21 from FreeSlave/crossbow_fix
Remove usage of MOVETYPE_COMPOUND to prevent crash
This commit is contained in:
commit
b047eefead
@ -27,6 +27,8 @@
|
||||
#define BOLT_AIR_VELOCITY 2000
|
||||
#define BOLT_WATER_VELOCITY 1000
|
||||
|
||||
extern BOOL gPhysicsInterfaceInitialized;
|
||||
|
||||
// UNDONE: Save/restore this? Don't forget to set classname and LINK_ENTITY_TO_CLASS()
|
||||
//
|
||||
// OVERLOADS SOME ENTVARS:
|
||||
@ -167,10 +169,12 @@ void CCrossbowBolt::BoltTouch( CBaseEntity *pOther )
|
||||
pev->angles.z = RANDOM_LONG( 0, 360 );
|
||||
pev->nextthink = gpGlobals->time + 10.0;
|
||||
|
||||
if (gPhysicsInterfaceInitialized) {
|
||||
// g-cont. Setup movewith feature
|
||||
pev->movetype = MOVETYPE_COMPOUND; // set movewith type
|
||||
pev->aiment = ENT( pOther->pev ); // set parent
|
||||
}
|
||||
}
|
||||
|
||||
if( UTIL_PointContents( pev->origin ) != CONTENTS_WATER )
|
||||
{
|
||||
|
@ -822,6 +822,8 @@ static physics_interface_t gPhysicsInterface =
|
||||
DispatchPhysicsEntity,
|
||||
};
|
||||
|
||||
BOOL gPhysicsInterfaceInitialized = FALSE;
|
||||
|
||||
int Server_GetPhysicsInterface( int iVersion, server_physics_api_t *pfuncsFromEngine, physics_interface_t *pFunctionTable )
|
||||
{
|
||||
if( !pFunctionTable || !pfuncsFromEngine || iVersion != SV_PHYSICS_INTERFACE_VERSION )
|
||||
@ -834,6 +836,6 @@ int Server_GetPhysicsInterface( int iVersion, server_physics_api_t *pfuncsFromEn
|
||||
|
||||
// fill engine callbacks
|
||||
memcpy( pFunctionTable, &gPhysicsInterface, sizeof(physics_interface_t) );
|
||||
|
||||
gPhysicsInterfaceInitialized = TRUE;
|
||||
return TRUE;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user