mirror of
https://github.com/ValveSoftware/source-sdk-2013.git
synced 2025-04-08 11:01:33 +00:00
parent
80eccc9b92
commit
790f58ebea
3 changed files with 33 additions and 10 deletions
|
@ -5429,29 +5429,38 @@ void CPropDoorRotating::InputSetRotationDistance( inputdata_t &inputdata )
|
|||
CalculateDoorVolume( GetLocalAngles(), m_angRotationOpenBack, &m_vecBackBoundsMin, &m_vecBackBoundsMax );
|
||||
}
|
||||
|
||||
// Debug sphere
|
||||
class CPhysSphere : public CPhysicsProp
|
||||
{
|
||||
DECLARE_CLASS( CPhysSphere, CPhysicsProp );
|
||||
DECLARE_DATADESC();
|
||||
public:
|
||||
virtual bool OverridePropdata() { return true; }
|
||||
|
||||
float m_fRadius;
|
||||
|
||||
bool CreateVPhysics()
|
||||
{
|
||||
SetSolid( SOLID_BBOX );
|
||||
SetCollisionBounds( -Vector(12,12,12), Vector(12,12,12) );
|
||||
SetCollisionBounds( -Vector(m_fRadius), Vector(m_fRadius) );
|
||||
objectparams_t params = g_PhysDefaultObjectParams;
|
||||
params.pGameData = static_cast<void *>(this);
|
||||
IPhysicsObject *pPhysicsObject = physenv->CreateSphereObject( 12, 0, GetAbsOrigin(), GetAbsAngles(), ¶ms, false );
|
||||
IPhysicsObject *pPhysicsObject = physenv->CreateSphereObject( m_fRadius, GetModelPtr()->GetRenderHdr()->textureindex, GetAbsOrigin(), GetAbsAngles(), ¶ms, false );
|
||||
|
||||
if ( pPhysicsObject )
|
||||
{
|
||||
VPhysicsSetObject( pPhysicsObject );
|
||||
SetMoveType( MOVETYPE_VPHYSICS );
|
||||
pPhysicsObject->Wake();
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
LINK_ENTITY_TO_CLASS( prop_sphere, CPhysSphere );
|
||||
|
||||
BEGIN_DATADESC( CPhysSphere )
|
||||
DEFINE_KEYFIELD( m_fRadius, FIELD_FLOAT, "radius"),
|
||||
END_DATADESC()
|
||||
|
||||
void CPropDoorRotating::InputSetSpeed(inputdata_t &inputdata)
|
||||
{
|
||||
|
|
|
@ -168,3 +168,8 @@
|
|||
output Output15(void) : "Fire output 15."
|
||||
output Output16(void) : "Fire output 16."
|
||||
]
|
||||
|
||||
@PointClass base(BasePropPhysics, RenderFields) studioprop() sphere(radius) = prop_sphere : "Creates a perfect sphere."
|
||||
[
|
||||
radius(float) : "Radius" : 12 : ""
|
||||
]
|
||||
|
|
|
@ -5426,29 +5426,38 @@ void CPropDoorRotating::InputSetRotationDistance( inputdata_t &inputdata )
|
|||
CalculateDoorVolume( GetLocalAngles(), m_angRotationOpenBack, &m_vecBackBoundsMin, &m_vecBackBoundsMax );
|
||||
}
|
||||
|
||||
// Debug sphere
|
||||
class CPhysSphere : public CPhysicsProp
|
||||
{
|
||||
DECLARE_CLASS( CPhysSphere, CPhysicsProp );
|
||||
DECLARE_DATADESC();
|
||||
public:
|
||||
virtual bool OverridePropdata() { return true; }
|
||||
|
||||
float m_fRadius;
|
||||
|
||||
bool CreateVPhysics()
|
||||
{
|
||||
SetSolid( SOLID_BBOX );
|
||||
SetCollisionBounds( -Vector(12,12,12), Vector(12,12,12) );
|
||||
SetCollisionBounds( -Vector(m_fRadius), Vector(m_fRadius) );
|
||||
objectparams_t params = g_PhysDefaultObjectParams;
|
||||
params.pGameData = static_cast<void *>(this);
|
||||
IPhysicsObject *pPhysicsObject = physenv->CreateSphereObject( 12, 0, GetAbsOrigin(), GetAbsAngles(), ¶ms, false );
|
||||
IPhysicsObject *pPhysicsObject = physenv->CreateSphereObject( m_fRadius, GetModelPtr()->GetRenderHdr()->textureindex, GetAbsOrigin(), GetAbsAngles(), ¶ms, false );
|
||||
|
||||
if ( pPhysicsObject )
|
||||
{
|
||||
VPhysicsSetObject( pPhysicsObject );
|
||||
SetMoveType( MOVETYPE_VPHYSICS );
|
||||
pPhysicsObject->Wake();
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
LINK_ENTITY_TO_CLASS( prop_sphere, CPhysSphere );
|
||||
|
||||
BEGIN_DATADESC( CPhysSphere )
|
||||
DEFINE_KEYFIELD( m_fRadius, FIELD_FLOAT, "radius"),
|
||||
END_DATADESC()
|
||||
|
||||
void CPropDoorRotating::InputSetSpeed(inputdata_t &inputdata)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue