mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-22 14:16:50 +00:00
vphysics: fix velocity restore
This commit is contained in:
parent
661415174e
commit
ba8fd2952f
@ -1042,7 +1042,7 @@ void CPhysicsObject::SetVelocityInstantaneous( const Vector *velocity, const Ang
|
||||
return;
|
||||
IVP_Core *core = m_pObject->get_core();
|
||||
|
||||
Wake();
|
||||
WakeNow();
|
||||
|
||||
if ( velocity )
|
||||
{
|
||||
@ -1859,27 +1859,29 @@ void CPhysicsObject::InitFromTemplate( CPhysicsEnvironment *pEnvironment, void *
|
||||
EnableCollisions( true );
|
||||
}
|
||||
|
||||
// will wake up the object
|
||||
m_asleepSinceCreation = objectTemplate.asleepSinceCreation;
|
||||
|
||||
if ( objectTemplate.velocity.LengthSqr() != 0 || objectTemplate.angVelocity.LengthSqr() != 0 )
|
||||
{
|
||||
// will wake up the object
|
||||
SetVelocityInstantaneous( &objectTemplate.velocity, &objectTemplate.angVelocity );
|
||||
}
|
||||
else if( !objectTemplate.isAsleep )
|
||||
{
|
||||
Assert( !objectTemplate.isStatic );
|
||||
WakeNow();
|
||||
}
|
||||
|
||||
if( objectTemplate.isAsleep )
|
||||
{
|
||||
Sleep();
|
||||
}
|
||||
}
|
||||
|
||||
m_asleepSinceCreation = objectTemplate.asleepSinceCreation;
|
||||
if ( !objectTemplate.isAsleep )
|
||||
{
|
||||
Assert( !objectTemplate.isStatic );
|
||||
Wake();
|
||||
}
|
||||
|
||||
if ( objectTemplate.hingeAxis )
|
||||
{
|
||||
BecomeHinged( objectTemplate.hingeAxis-1 );
|
||||
}
|
||||
|
||||
if ( objectTemplate.hasTouchedDynamic )
|
||||
{
|
||||
SetTouchedDynamic();
|
||||
|
Loading…
Reference in New Issue
Block a user