etqw-sdk/source/game/vehicles/Vehicle_RigidBody.h

57 lines
1.6 KiB
C
Raw Permalink Normal View History

2008-05-29 00:00:00 +00:00
// Copyright (C) 2007 Id Software, Inc.
//
#ifndef __GAME_VEHICLE_VEHICLE_RIGIDBODY_H__
#define __GAME_VEHICLE_VEHICLE_RIGIDBODY_H__
#include "Transport.h"
#include "VehicleIK.h"
class sdVehicle_RigidBody : public sdTransport_RB {
public:
CLASS_PROTOTYPE( sdVehicle_RigidBody );
sdVehicle_RigidBody( void );
~sdVehicle_RigidBody( void );
virtual void DoLoadVehicleScript( void );
void Spawn( void );
virtual bool UpdateAnimationControllers( void );
virtual bool Collide( const trace_t &collision, const idVec3 &velocity, int bodyId );
virtual void CollideFatal( idEntity* other );
virtual idIK* GetIK( void ) { return &ik; }
virtual void FreezePhysics( bool freeze );
void Event_SetDamageDealtScale( float scale );
virtual void SetDamageDealtScale( float scale );
float GetDamageDealtScale() const { return collideDamageDealtScale; }
const sdDeclDamage* GetCollideDamage() const { return collideDamage; }
static void IncRoadKillStats( idPlayer* player );
protected:
int nextSelfCollisionTime;
int nextJumpSound;
int nextCollisionTime;
int nextCollisionSound;
const sdDeclDamage* collideDamage;
const sdDeclDamage* collideFatalDamage;
float collideDamageDealtScale;
float collideDotLimit;
sdIK_WheeledVehicle ik;
const sdProgram::sdFunction* onCollisionFunc;
const sdProgram::sdFunction* onCollisionSideScrapeFunc;
protected:
virtual void HandleCollision( const trace_t &collision, const float velocity );
};
#endif // __GAME_VEHICLE_VEHICLE_RIGIDBODY_H__