29 #include "../idlib/precompiled.h"
109 const idEventDef EV_SetGui (
"setGui",
"ds" );
110 const idEventDef EV_PrecacheGui (
"precacheGui",
"s" );
111 const idEventDef EV_GetGuiParm (
"getGuiParm",
"ds",
's' );
112 const idEventDef EV_GetGuiParmFloat (
"getGuiParmFloat",
"ds",
'f' );
113 const idEventDef EV_MotionBlurOn(
"motionBlurOn" );
114 const idEventDef EV_MotionBlurOff(
"motionBlurOff" );
115 const idEventDef EV_GuiNamedEvent (
"guiNamedEvent",
"ds" );
183 EVENT( EV_SetGui, idEntity::Event_SetGui )
197 if ( gui ==
NULL || args ==
NULL ) {
236 memset( renderEntity, 0,
sizeof( *renderEntity ) );
241 if ( temp[0] !=
'\0' ) {
246 if ( !renderEntity->
hModel ) {
250 if ( renderEntity->
hModel ) {
257 if ( temp[0] !=
'\0' ) {
259 }
else if ( modelDef ) {
264 if ( temp[0] !=
'\0' ) {
271 if ( !args->
GetMatrix(
"rotation",
"1 0 0 0 1 0 0 0 1", renderEntity->
axis ) ) {
273 if ( angle != 0.0
f ) {
283 args->
GetVector(
"_color",
"1 1 1", color );
308 temp = args->
GetString( i == 0 ?
"gui" :
va(
"gui%d", i + 1 ) );
309 if ( temp[ 0 ] !=
'\0' ) {
327 memset( refSound, 0,
sizeof( *refSound ) );
344 if ( args->
GetBool(
"s_omni" ) ) {
347 if ( args->
GetBool(
"s_looping" ) ) {
350 if ( args->
GetBool(
"s_occlusion" ) ) {
353 if ( args->
GetBool(
"s_global" ) ) {
356 if ( args->
GetBool(
"s_unclamped" ) ) {
362 if ( temp[0] !=
'\0' ) {
385 target = source->
GetString(
"cameraTarget" );
386 if ( target && target[0] ) {
431 memset( &
fl, 0,
sizeof(
fl ) );
441 memset( &xrayEntity, 0,
sizeof( xrayEntity ) );
443 timeGroup = TIME_GROUP1;
444 xrayEntityHandle = -1;
476 const char *classname;
477 const char *scriptObjectName;
521 if ( temp && temp[0] ) {
548 common->
DPrintf(
"NET: WRN %s entity, no classname, and no networkSync?\n",
GetType()->classname );
575 if ( temp && *temp ) {
591 gameLocal.
Error(
"Script object '%s' not found on entity '%s'.", scriptObjectName,
name.c_str() );
614 msg.
Init( msgBuf,
sizeof( msgBuf ) );
653 if ( xrayEntityHandle != -1) {
655 xrayEntityHandle = -1;
697 savefile->
Write( &flags,
sizeof( flags ) );
703 savefile->
WriteInt( xrayEntityHandle );
775 for( i = 0; i <
num; i++ ) {
779 savefile->
Read( &
fl,
sizeof(
fl ) );
783 savefile->
ReadInt( timeGroup );
786 savefile->
ReadInt( xrayEntityHandle );
787 if ( xrayEntityHandle != -1 ) {
818 for( j = 0; j <
num; j++ ) {
823 savefile->
Error(
"Function '%s' not found", funcname.
c_str() );
855 if (
name.Length() ) {
861 if (
name.Length() ) {
862 if ( (
name ==
"NULL" ) || (
name ==
"null_entity" ) ) {
1013 }
else if ( !oldFlags ) {
1030 if ( ( ent->thinkFlags & TH_PHYSICS ) || ( ( ent->bindMaster ==
this ) && ( ent->bindJoint !=
INVALID_JOINT ) ) ) {
1031 flags &= ~TH_PHYSICS;
1045 if ( ( flags & TH_PHYSICS ) ) {
1095 SetColor( color[ 0 ], color[ 1 ], color[ 2 ] );
1291 if ( xraySkin !=
NULL ) {
1294 xrayEntity.customSkin = xraySkin;
1296 if ( xrayEntityHandle == -1 ) {
1321 int localNumPVSAreas, localPVSAreas[32];
1326 localNumPVSAreas =
gameLocal.
pvs.
GetPVSAreas( modelAbsBounds, localPVSAreas,
sizeof( localPVSAreas ) /
sizeof( localPVSAreas[0] ) );
1421 idVec3 localOrigin, localAxis[2];
1438 axis[0] = axistemp[ 0 ] * c + axistemp[ 1 ] * -
s;
1439 axis[1] = axistemp[ 0 ] * -s + axistemp[ 1 ] * -
c;
1446 localAxis[0] *=
size;
1447 localAxis[1] *=
size;
1449 localPlane[0] = localAxis[0];
1450 localPlane[0][3] = -( localOrigin * localAxis[0] ) + 0.5
f;
1452 localPlane[1] = localAxis[1];
1453 localPlane[1][3] = -( localOrigin * localAxis[1] ) + 0.5
f;
1532 SetTimeState ts( timeGroup );
1553 gameLocal.
Error(
"idEntity::ModelCallback: callback with NULL game entity" );
1638 if ( sound[0] ==
'\0' ) {
1648 return StartSoundShader( shader, channel, soundShaderFlags, broadcast, length );
1676 msg.
Init( msgBuf,
sizeof( msgBuf ) );
1722 msg.
Init( msgBuf,
sizeof( msgBuf ) );
1839 if ( master ==
this ) {
1853 if ( master &&
IsType( idAFEntity_Base::Type ) ) {
1930 if ( !masterAnimator ) {
1937 gameLocal.
Warning(
"idEntity::BindToJoint: joint '%s' not found on entity '%s'.", jointname, master->
GetName() );
2018 if (
IsType( idAFEntity_Base::Type ) ) {
2071 }
else if ( next ) {
2140 if ( ent == master ) {
2303 pos += masterOrigin;
2322 if ( !masterAnimator ) {
2357 idVec3 masterOrigin, masterLinearVelocity, masterAngularVelocity;
2367 linearVelocity = linearVelocity * masterAxis + masterLinearVelocity +
2368 masterAngularVelocity.
Cross(
GetPhysics()->GetOrigin() - masterOrigin );
2390 if ( teammember ==
this ) {
2399 master = teammember;
2414 while( next && next->
IsBoundTo( teammember ) ) {
2518 bool setClipModel =
false;
2522 setClipModel =
true;
2523 if ( bounds[0][0] > bounds[1][0] || bounds[0][1] > bounds[1][1] || bounds[0][2] > bounds[1][2] ) {
2524 gameLocal.
Error(
"Invalid bounds '%s'-'%s' on entity '%s'", bounds[0].ToString(), bounds[1].ToString(),
name.c_str() );
2527 if ( ( size.
x < 0.0f ) || ( size.
y < 0.0f ) || ( size.
z < 0.0f ) ) {
2530 bounds[0].Set( size.
x * -0.5f, size.
y * -0.5f, 0.0f );
2531 bounds[1].Set( size.
x * 0.5f, size.
y * 0.5f, size.
z );
2532 setClipModel =
true;
2535 if ( setClipModel ) {
2539 if (
spawnArgs.
GetInt(
"cylinder",
"0", numSides ) && numSides > 0 ) {
2541 }
else if (
spawnArgs.
GetInt(
"cone",
"0", numSides ) && numSides > 0 ) {
2542 trm.
SetupCone( bounds, numSides < 3 ? 3 : numSides );
2553 if ( ( temp !=
NULL ) && ( *temp != 0 ) ) {
2580 if ( phys !=
NULL ) {
2617 int i, reachedTime, startTime, endTime;
2618 idEntity * part, *blockedPart, *blockingEntity;
2662 if ( blockingEntity ) {
2690 if ( blockedPart ) {
2692 for ( part =
this; part != blockedPart; part = part->
teamChain ) {
2741 if ( startTime < reachedTime && endTime >= reachedTime ) {
2745 if ( startTime < reachedTime && endTime >= reachedTime ) {
2761 if (
IsType( idActor::Type ) ) {
2799 static_cast<idActor *
>(
this)->viewAxis = axis;
2827 floorpos = result.
endpos;
2855 if (
GetPhysics()->GetNumClipModels() > 0 ) {
3062 const char *damageDefName,
const float damageScale,
const int location ) {
3068 SetTimeState ts( timeGroup );
3084 int damage = damageDef->
GetInt(
"damage" );
3096 Killed( inflictor, attacker, damage, dir, location );
3098 Pain( inflictor, attacker, damage, dir, location );
3109 const char *sound, *decal, *key;
3112 if ( def ==
NULL ) {
3119 key =
va(
"snd_%s", materialType );
3121 if ( *sound ==
'\0' ) {
3124 if ( *sound !=
'\0' ) {
3130 key =
va(
"mtr_wound_%s", materialType );
3132 if ( *decal ==
'\0' ) {
3135 if ( *decal !=
'\0' ) {
3202 if ( constructor ) {
3282 for( i = 0; i <
num; i++ ) {
3283 if (
signals->
signal[ signalnum ][ i ].threadnum == threadnum ) {
3290 thread->
Error(
"Exceeded maximum number of signals per object" );
3305 if ( ( signalnum < 0 ) || ( signalnum >=
NUM_SIGNALS ) ) {
3328 if ( ( signalnum < 0 ) || ( signalnum >=
NUM_SIGNALS ) ) {
3339 for( i = 0; i <
num; i++ ) {
3340 if (
signals->
signal[ signalnum ][ i ].threadnum == threadnum ) {
3369 for( i = 0; i <
num; i++ ) {
3376 for( i = 0; i <
num; i++ ) {
3379 thread->
CallFunction(
this, sigs[ i ].
function,
true );
3391 if ( ( signalnum < 0 ) || ( signalnum >=
NUM_SIGNALS ) ) {
3431 if ( entityGui && cmds && *cmds ) {
3433 idToken token, token2, token3, token4;
3434 src.
LoadMemory( cmds, strlen( cmds ),
"guiCommands" );
3441 if ( token ==
";" ) {
3445 if ( token.
Icmp(
"activate" ) == 0 ) {
3448 if ( token2 ==
";" ) {
3470 if ( token.
Icmp(
"runScript" ) == 0 ) {
3477 token2 +=
"::" + token3;
3490 if ( token.
Icmp(
"play") == 0 ) {
3498 if ( token.
Icmp(
"setkeyval" ) == 0 ) {
3510 if ( token.
Icmp(
"setshaderparm" ) == 0 ) {
3518 if ( token.
Icmp(
"close") == 0 ) {
3523 if ( !token.
Icmp(
"turkeyscore" ) ) {
3526 score += atoi( token2 );
3538 if ( !token.
Icmp(
"martianbuddycomplete" ) ) {
3547 if ( !token.
Icmp(
"print" ) ) {
3550 if ( token2 ==
";" ) {
3554 msg += token2.
c_str();
3571 for ( i = 0; i <
c; i++) {
3572 targetEnt = entityGui->
targets[
i ].GetEntity();
3622 if (
targets[ i ].GetEntity() == this ) {
3637 if ( !
targets[ i ].GetEntity() ) {
3697 int i, numClipModels, numEntities;
3703 memset( &trace, 0,
sizeof( trace ) );
3710 for ( i = 0; i < numClipModels; i++ ) {
3711 cm = clipModels[
i ];
3729 SetTimeState ts( ent->timeGroup );
3747 return ( numEntities != 0 );
3756 int i, numPoints,
t;
3761 const char *curveTag =
"curve_";
3769 if ( str.
Icmp(
"CatmullRomSpline" ) == 0 ) {
3771 }
else if ( str.
Icmp(
"nubs" ) == 0 ) {
3773 }
else if ( str.
Icmp(
"nurbs" ) == 0 ) {
3784 for ( t = i = 0; i < numPoints; i++, t += 100 ) {
3891 if ( ignore && ( ignore[ 0 ] != 0 ) && (
targets.
Num() > 1 ) ) {
3894 if ( ent && ( ent->
name == ignore ) ) {
3901 if ( ignoreNum >= 0 ) {
3903 if ( num >= ignoreNum ) {
3920 BindToJoint( master, jointname, ( orientated != 0.0
f ) );
3938 Bind( master,
true );
3947 Bind( master,
false );
3966 const char *bind, *joint, *bindanim;
3968 bool bindOrientated;
3986 if ( !parentAnimator ) {
3987 gameLocal.
Error(
"Cannot bind to joint '%s' on '%s'. Entity does not support skeletal models.", joint,
name.c_str() );
3996 animNum = parentAnimator->
GetAnim( bindanim );
4000 anim = parentAnimator->
GetAnim( animNum );
4024 Bind( parent, bindOrientated );
4069 gameLocal.
Error(
"shader parm index (%d) out of range", parmnum );
4470 const char *entname;
4479 gameLocal.
Warning(
"Couldn't find entity '%s' specified in '%s' key in entity '%s'", entname, key,
name.c_str() );
4514 if ( static_cast<idPhysics_Parametric *>(part->
GetPhysics())->IsPusher() ) {
4644 gameLocal.
Error(
"Event 'callFunction' called from outside thread" );
4653 gameLocal.
Error(
"Function '%s' has the wrong number of parameters for 'callFunction'", funcname );
4656 gameLocal.
Error(
"Function '%s' is the wrong type for 'callFunction'", funcname );
4681 void idEntity::Event_SetGui(
int guiNum,
const char *guiName) {
4707 void idEntity::Event_PrecacheGui(
const char *guiName ) {
4711 void idEntity::Event_GetGuiParm(
int guiNum,
const char *key) {
4719 void idEntity::Event_GetGuiParmFloat(
int guiNum,
const char *key) {
4727 void idEntity::Event_GuiNamedEvent(
int guiNum,
const char *event) {
4781 int bindInfo, bindEntityNum, bindPos;
4782 bool bindOrientated;
4799 BindToBody( master, bindPos, bindOrientated );
4803 Bind( master, bindOrientated );
4910 outMsg.
Init( msgBuf,
sizeof( msgBuf ) );
4923 if ( excludeClient != -1 ) {
4952 outMsg.
Init( msgBuf,
sizeof( msgBuf ) );
5030 void idEntity::DetermineTimeGroup(
bool slowmo ) {
5032 timeGroup = TIME_GROUP1;
5035 timeGroup = TIME_GROUP2;
5044 void idEntity::SetGrabbedState(
bool grabbed ) {
5053 bool idEntity::IsGrabbed() {
5090 animator.SetEntity(
this );
5091 damageEffects =
NULL;
5274 if ( ( jointHandle < 0 ) || ( jointHandle >= numJoints ) ) {
5282 offset = frame[ jointHandle ].
ToVec3();
5283 axis = frame[ jointHandle ].
ToMat3();
5297 idVec3 origin, dir, localDir, localOrigin, localNormal;
5305 if ( def ==
NULL ) {
5330 msg.
Init( msgBuf,
sizeof( msgBuf ) );
5359 const char *sound, *splat, *decal, *bleed, *key;
5365 SetTimeState ts( timeGroup );
5371 origin = origin + localOrigin * axis;
5372 dir = localDir * axis;
5382 key =
va(
"snd_%s", materialType );
5384 if ( *sound ==
'\0' ) {
5387 if ( *sound !=
'\0' ) {
5392 key =
va(
"mtr_splat_%s", materialType );
5394 if ( *splat ==
'\0' ) {
5397 if ( *splat !=
'\0' ) {
5404 key =
va(
"mtr_wound_%s", materialType );
5406 if ( *decal ==
'\0' ) {
5409 if ( *decal !=
'\0' ) {
5415 key =
va(
"smoke_wound_%s", materialType );
5417 if ( *bleed ==
'\0' ) {
5420 if ( *bleed !=
'\0' ) {
5445 if ( de->
time == 0 ) {
5481 idVec3 localOrigin, localNormal, localDir;
5489 localNormal = msg.
ReadDir( 24 );
5495 AddLocalDamageEffect( jointNum, localOrigin, localNormal, localDir, damageDef, collisionMaterial );
5600 idVec3 vec( ang[ 0 ], ang[ 1 ], ang[ 2 ] );
virtual const idVec3 & GetOrigin(int id=0) const =0
const idEventDef EV_ActivateTargets("activateTargets","e")
virtual void DormantBegin(void)
idPlayer * GetLocalPlayer() const
void Event_SetSkin(const char *skinname)
void FreeSoundEmitter(bool immediate)
int CheckTokenString(const char *string)
int ClipModelsTouchingBounds(const idBounds &bounds, int contentMask, idClipModel **clipModelList, int maxCount) const
idEntity * GetEntity(void) const
bool TouchTriggers(void) const
const idEventDef EV_CallFunction("callFunction","s")
const idEventDef EV_RandomTarget("randomTarget","s", 'e')
renderEntity_t renderEntity
bool TracePoint(trace_t &results, const idVec3 &start, const idVec3 &end, int contentMask, const idEntity *passEntity)
void Save(idSaveGame *savefile) const
int GetContents(void) const
virtual void EnableClip(void)=0
const idEventDef EV_ReachedPos("<reachedpos>", NULL)
void Event_StartSound(const char *soundName, int channel, int netSync)
float GetFloat(const char *key, const char *defaultString="0") const
idMat3 ToMat3(void) const
void Event_Touches(idEntity *ent)
const idEventDef EV_IsHidden("isHidden", NULL, 'd')
bool GetJointTransform(jointHandle_t jointHandle, int currenttime, idVec3 &offset, idMat3 &axis)
bool GetBounds(int currentTime, idBounds &bounds)
GLsizei const GLfloat * value
const idEventDef EV_Unbind("unbind", NULL)
const idEventDef EV_SetOwner("setOwner","e")
void WriteString(const char *string)
bool EmitSmoke(const idDeclParticle *smoke, const int startTime, const float diversity, const idVec3 &origin, const idMat3 &axis, int timeGroup)
void Event_DistanceTo(idEntity *ent)
int GetInt(const char *key, const char *defaultString="0") const
void WriteBindToSnapshot(idBitMsgDelta &msg) const
void void static idThread * CurrentThread(void)
assert(prefInfo.fullscreenBtn)
void Event_DistanceToPoint(const idVec3 &point)
void Event_GetFloatKey(const char *key)
virtual const idSoundShader * FindSound(const char *name, bool makeDefault=true)=0
virtual void StateChanged(int time, bool redraw=false)=0
const idDict * FindEntityDefDict(const char *name, bool makeDefault=true) const
idVec3 GetLocalCoordinates(const idVec3 &vec) const
void ClearSignalThread(signalNum_t signalnum, idThread *thread)
#define CLIPMODEL_ID_TO_JOINT_HANDLE(id)
idLinkList< idEntity > activeEntities
static idTypeInfo * GetType(int num)
const idEventDef EV_SetShaderParm("setShaderParm","df")
idMat3 mat3_identity(idVec3(1, 0, 0), idVec3(0, 1, 0), idVec3(0, 0, 1))
bool GetMasterPosition(idVec3 &masterOrigin, idMat3 &masterAxis) const
const int MAX_GLOBAL_SHADER_PARMS
virtual idAnimator * GetAnimator(void)
const idEventDef EV_PostSpawn("<postspawn>", NULL)
idNetworkSystem * networkSystem
void CallFunction(const function_t *func, bool clearStack)
void WriteObject(const idClass *obj)
idVec3 GetCenter(void) const
virtual void DeconstructScriptObject(void)
bool GetFloorPos(float max_dist, idVec3 &floorpos) const
bool UpdateRenderEntity(renderEntity_s *renderEntity, const renderView_t *renderView)
const idEventDef EV_SetJointPos("setJointPos","ddv")
idTypeDef * GetTypeDef(void) const
void Printf(const char *fmt,...) const id_attribute((format(printf
const idEventDef EV_GetLinearVelocity("getLinearVelocity", NULL, 'v')
virtual void SetStateString(const char *varName, const char *value)=0
struct idEntity::entityFlags_s fl
void BindToJoint(idEntity *master, const char *jointname, bool orientated)
virtual void virtual void virtual const idLangDict * GetLanguageDict(void)=0
virtual void ApplyImpulse(const int id, const idVec3 &point, const idVec3 &impulse)=0
void Bind(idEntity *master, bool orientated)
virtual int GetModelDefHandle(void)
void Event_SetName(const char *name)
void DelayedStart(int delay)
const int MAX_EVENT_PARAM_SIZE
bool SetType(const char *typeName)
void Event_GetVectorKey(const char *key)
void SetShaderParm(int parmnum, float value)
void Save(idSaveGame *savefile) const
const char * GetTypeName(void) const
virtual void SetClipBox(const idBounds &bounds, float density)
void SetupBox(const idBounds &boxBounds)
void SetAxis(const idMat3 &newAxis, int id=-1)
virtual void SaveState(void)=0
idSmokeParticles * smokeParticles
void Event_GetLinearVelocity(void)
const idStr & GetKey(void) const
void SignalEvent(idThread *thread, signalNum_t signalnum)
void SetSelf(idEntity *e)
void SetOwner(type *object)
void SetNum(int newnum, bool resize=true)
void ReadDict(idDict *dict)
int GetSpawnId(const idEntity *ent) const
const idEventDef EV_NumTargets("numTargets", NULL, 'f')
virtual void GetImpactInfo(const int id, const idVec3 &point, impactInfo_t *info) const =0
const idEventDef EV_DistanceTo("distanceTo","E", 'f')
virtual void Teleport(const idVec3 &origin, const idAngles &angles, idEntity *destination)
const idEventDef EV_Activate("activate","e")
void Event_FadeSound(int channel, float to, float over)
idEntity * GetBindMaster(void) const
virtual qhandle_t AddEntityDef(const renderEntity_t *re)=0
idRenderModel * ModelHandle(void) const
virtual void SetPushed(int deltaTime)=0
void Event_SetGuiParm(const char *key, const char *val)
void Event_SetAngles(const idAngles &ang)
void WriteSkin(const idDeclSkin *skin)
idMat3 Transpose(void) const
void InitSavingPushedEntityPositions(void)
void SetAxis(const idMat3 &axis)
void void void void void Error(const char *fmt,...) const id_attribute((format(printf
int NumJoints(void) const
idScriptObject scriptObject
struct damageEffect_s damageEffect_t
void UnpackColor(const dword color, idVec4 &unpackedColor)
bool IsType(const idTypeInfo &c) const
int ClientRemapDecl(declType_t type, int index)
void Write(const void *buffer, int len)
void Event_CacheSoundShader(const char *soundName)
void SetAngles(const idAngles &ang)
idEntity * FindEntity(const char *name) const
idList< idEntityPtr< idEntity > > targets
void InitDefaultPhysics(const idVec3 &origin, const idMat3 &axis)
const idKeyValue * MatchPrefix(const char *prefix, const idKeyValue *lastMatch=NULL) const
const idEventDef EV_Touches("touches","E", 'd')
virtual void SetBoundaryType(const boundary_t bt)
void Event_SetOrigin(const idVec3 &org)
virtual void DamageFeedback(idEntity *victim, idEntity *inflictor, int &damage)
bool ProcessEvent(const idEventDef *ev)
bool RespondsTo(const idEventDef &ev) const
virtual int GetNumClipModels(void) const =0
void WriteBits(int value, int numBits)
virtual void RemoveContactEntity(idEntity *ent)
void UpdatePVSAreas(void)
const idEventDef EV_SetModel("setModel","s")
void Event_RestorePosition(void)
bool CreateFrame(int animtime, bool force)
void SetupCylinder(const idBounds &cylBounds, const int numSides)
void ClearSignal(idThread *thread, signalNum_t signalnum)
jointHandle_t GetJointHandle(const char *name) const
virtual int GetLinearEndTime(void) const =0
bool IsBoundTo(idEntity *master) const
const idEventDef EV_SetAngularVelocity("setAngularVelocity","v")
const char * GetName(void) const
const idEventDef EV_GetSize("getSize", NULL, 'v')
void ReadJoint(jointHandle_t &value)
const idEventDef EV_BindToJoint("bindToJoint","esf")
void ReadBool(bool &value)
virtual const idVec3 & GetLinearVelocity(int id=0) const =0
void WriteStaticObject(const idClass &obj)
const idEventDef EV_SetGuiParm("setGuiParm","ss")
void JoinTeam(idEntity *teammember)
virtual void FadeSound(const s_channelType channel, float to, float over)=0
virtual void HandleNamedEvent(const char *eventName)=0
int GetPVSAreas(const idBounds &bounds, int *areas, int maxAreas) const
const int SHADERPARM_GREEN
virtual void FreeModelDef(void)
dword PackColor(const idVec4 &color)
const idEventDef EV_GetIntKey("getIntKey","s", 'f')
virtual void SetLinearVelocity(const idVec3 &newLinearVelocity, int id=0)=0
void BloodSplat(const idVec3 &origin, const idVec3 &dir, float size, const char *material)
const idEventDef EV_StartSound("startSound","sdd", 'f')
GLuint GLuint GLsizei GLenum type
void Event_SetKey(const char *key, const char *value)
void Event_SetJointPos(jointHandle_t jointnum, jointModTransform_t transform_type, const idVec3 &pos)
idSoundEmitter * GetSoundEmitter(void) const
static void ReturnVector(idVec3 const &vec)
void SetJointPos(jointHandle_t jointnum, jointModTransform_t transform_type, const idVec3 &pos)
virtual void SetStateInt(const char *varName, const int value)=0
void Save(idSaveGame *savefile) const
virtual const idMaterial * FindMaterial(const char *name, bool makeDefault=true)=0
const idEventDef EV_GetAngularVelocity("getAngularVelocity", NULL, 'v')
void SetSoundVolume(float volume)
float ParseFloat(bool *errorFlag=NULL)
const char * GetClassname(void) const
void Set(const char *key, const char *value)
virtual void ApplyImpulse(idEntity *ent, int id, const idVec3 &point, const idVec3 &impulse)
int NumParameters(void) const
idVec3 Cross(const idVec3 &a) const
int ReadBits(int numBits) const
const idEventDef EV_ReachedAng("<reachedang>", NULL)
virtual void Free(bool immediate)=0
idUserInterfaceManager * uiManager
void LittleBitField(void *bp, int elsize)
int Cmpn(const char *text, int n) const
deferredEntityCallback_t callback
bool FrameHasChanged(int animtime) const
void Restore(idRestoreGame *savefile)
void ReadRenderEntity(renderEntity_t &renderEntity)
virtual void ClientPredictionThink(void)
virtual bool HandleSingleGuiCommand(idEntity *entityGui, idLexer *src)
virtual void ANIM_CreateAnimFrame(const idRenderModel *model, const idMD5Anim *anim, int numJoints, idJointMat *frame, int time, const idVec3 &offset, bool remove_origin_offset)
void RestorePushedEntityPositions(void)
virtual void SetModel(const char *modelname)
void SetDeltaViewAngles(const idAngles &delta)
const idMaterial * customShader
void SetThreadName(const char *name)
static const int MAX_PVS_AREAS
void Event_Wait(float time)
virtual void FreeLightDef(void)
int Icmp(const char *text) const
idSoundWorld * gameSoundWorld
void SetName(const char *name)
const int SHADERPARM_ALPHA
virtual void RestoreState(void)=0
virtual bool IsAtRest(void) const
#define EVENT(event, function)
virtual void SetStateBool(const char *varName, const bool value)=0
#define ABSTRACT_DECLARATION(nameofsuperclass, nameofclass)
void Init(byte *data, int length)
const int MAX_ENTITY_SHADER_PARMS
const idEventDef EV_GetKey("getKey","s", 's')
const idEventDef EV_StopSound("stopSound","dd")
void Restore(idRestoreGame *savefile)
void Event_SetSize(const idVec3 &mins, const idVec3 &maxs)
void SetJointAxis(jointHandle_t jointnum, jointModTransform_t transform_type, const idMat3 &mat)
const idDeclParticle * type
const idEventDef EV_SetLinearVelocity("setLinearVelocity","v")
idVec3 GetLocalVector(const idVec3 &vec) const
void WriteJoint(const jointHandle_t value)
void WriteData(const void *data, int length)
void WriteBool(const bool value)
virtual idUserInterface * FindGui(const char *qpath, bool autoLoad=false, bool needUnique=false, bool forceUnique=false)=0
virtual dynamicModel_t IsDynamicModel() const =0
virtual void Killed(idEntity *inflictor, idEntity *attacker, int damage, const idVec3 &dir, int location)
void Event_SetGuiFloat(const char *key, float f)
int numEntitiesToDeactivate
virtual int GetRestStartTime(void) const =0
virtual bool ClientReceiveEvent(int event, int time, const idBitMsg &msg)
#define STRTABLE_ID_LENGTH
virtual renderView_t * GetRenderView()
bool IsHidden(void) const
const idEventDef EV_SetJointAngle("setJointAngle","ddv")
idCurve_Spline< idVec3 > * GetSpline(void) const
#define MAX_SIGNAL_THREADS
virtual void GetColor(idVec3 &out) const
int PVSAreas[MAX_PVS_AREAS]
bool HasSignal(signalNum_t signalnum) const
void void void Warning(const char *fmt,...) const id_attribute((format(printf
const idEventDef EV_GetNextKey("getNextKey","ss", 's')
int Icmpn(const char *text, int n) const
idEntity * GetPushedEntity(int i) const
GLsizei GLsizei GLcharARB * source
virtual void AddContactEntity(idEntity *e)=0
virtual const idBounds & GetBounds(int id=-1) const =0
const idEventDef EV_Show("show", NULL)
int GetBindBody(void) const
const idEventDef EV_GetMins("getMins", NULL, 'v')
const idEventDef EV_ClearSignal("clearSignal","d")
bool StartSoundShader(const idSoundShader *shader, const s_channelType channel, int soundShaderFlags, bool broadcast, int *length)
const int SHADERPARM_BLUE
void ClearAllJoints(void)
virtual void AddForce(const int id, const idVec3 &point, const idVec3 &force)=0
const idEventDef EV_GetFloatKey("getFloatKey","s", 'f')
bool noDynamicInteractions
int ServerRemapDecl(int clientNum, declType_t type, int index)
idRenderModel * SetModel(const char *modelname)
virtual bool GetPhysicsToSoundTransform(idVec3 &origin, idMat3 &axis)
const idEventDef EV_RemoveBinds("removeBinds")
virtual void FreeEntityDef(qhandle_t entityHandle)=0
virtual void AddDamageEffect(const trace_t &collision, const idVec3 &velocity, const char *damageDefName)
void WriteColorToSnapshot(idBitMsgDelta &msg) const
const idEventDef EV_ClearAllJoints("clearAllJoints")
virtual void ClipTranslation(trace_t &results, const idVec3 &translation, const idClipModel *model) const =0
void Event_GetColor(void)
void SetClipModel(idClipModel *model, float density, int id=0, bool freeOld=true)
virtual const char * GetStateString(const char *varName, const char *defaultString="") const =0
void Event_GetKey(const char *key)
void SetOwner(idEntity *newOwner)
idPhysics * GetPhysics(void) const
const int SHADERPARM_MODE
void SetSkin(const idDeclSkin *skin)
const char * GetString(const char *key, const char *defaultString="") const
bool InCurrentPVS(const pvsHandle_t handle, const idVec3 &target) const
virtual bool Collide(const trace_t &collision, const idVec3 &velocity)
void Event_RemoveBinds(void)
void Event_SetOwner(idEntity *owner)
bool StartSound(const char *soundName, const s_channelType channel, int soundShaderFlags, bool broadcast, int *length)
const idEventDef EV_FadeSound("fadeSound","dff")
void UpdateFromPhysics(bool moveBack)
idVec3 vec3_origin(0.0f, 0.0f, 0.0f)
const idAngles & GetDeltaViewAngles(void) const
idCVar g_bloodEffects("g_bloodEffects","1", CVAR_GAME|CVAR_ARCHIVE|CVAR_BOOL,"show blood splats, sprays and gibs")
idSoundEmitter * referenceSound
const idEventDef EV_PartBlocked("<partblocked>","e")
virtual renderEntity_t * GetRenderEntity(void)
const idEventDef EV_GetOrigin("getOrigin", NULL, 'v')
void void Read(void *buffer, int len)
void SetPhysics(idPhysics *phys)
void UnregisterEntity(idEntity *ent)
void SetOrigin(const idVec3 &newOrigin, int id=-1)
virtual void GetImpactInfo(idEntity *ent, int id, const idVec3 &point, impactInfo_t *info)
idVec3 ToVec3(void) const
bool InPlayerConnectedArea(idEntity *ent) const
const idEventDef EV_GetJointHandle("getJointHandle","s", 'd')
static const char * sufaceTypeNames[MAX_SURFACE_TYPES]
static idThread * GetThread(int num)
bool HandleGuiCommands(idEntity *entityGui, const char *cmds)
bool GetBool(const char *key, const char *defaultString="0") const
virtual void UpdateChangeableSpawnArgs(const idDict *source)
const idMD5Anim * MD5Anim(int num) const
void Event_BindPosition(idEntity *master)
const idDeclSkin * customSkin
void void DPrintf(const char *fmt,...) const id_attribute((format(printf
void SetupCone(const idBounds &coneBounds, const int numSides)
virtual idRenderModel * FindModel(const char *modelName)=0
idEntity * GetOwner(void) const
virtual const idDecl * FindType(declType_t type, const char *name, bool makeDefault=true)=0
void Event_SetJointAngle(jointHandle_t jointnum, jointModTransform_t transform_type, const idAngles &angles)
const idMaterial * globalMaterial
const idEventDef EV_GetJointPos("getJointPos","d", 'v')
virtual const idVec3 & GetAngularVelocity(int id=0) const =0
idVec3 GetVector(const char *key, const char *defaultString=NULL) const
const int MAX_RENDERENTITY_GUI
idEntity * GetNextTeamEntity(void) const
void ServerSendEvent(int eventId, const idBitMsg *msg, bool saveEvent, int excludeClient) const
void Event_WaitFrame(void)
const idEventDef EV_GetName("getName", NULL, 's')
float ReadFloat(void) const
virtual void SetOrigin(const idVec3 &newOrigin, int id=-1)=0
const idAnim * GetAnim(int index) const
void Event_GetWorldOrigin(void)
void SetEntity(const char *name, idEntity *ent)
const idEventDef EV_Hide("hide", NULL)
const idEventDef EV_Bind("bind","e")
static void ReturnFloat(float value)
void Event_StopSound(int channel, int netSync)
void GiveEmail(const char *emailName)
void Event_GetIntKey(const char *key)
const char * GetString(const char *str) const
damageEffect_t * damageEffects
virtual void WriteToSnapshot(idBitMsgDelta &msg) const
virtual idSoundEmitter * AllocSoundEmitter(void)=0
const idStr & GetValue(void) const
void Event_GetJointPos(jointHandle_t jointnum)
float shaderParms[MAX_GLOBAL_SHADER_PARMS]
void Event_SetColor(float red, float green, float blue)
void ReadGUIFromSnapshot(const idBitMsgDelta &msg)
virtual const idMat3 & GetAxis(int id=0) const =0
const idEventDef EV_SetWorldOrigin("setWorldOrigin","v")
void Event_GetJointHandle(const char *jointname)
const idSoundShader * shader
virtual bool Evaluate(int timeStepMSec, int endTimeMSec)=0
virtual idAnimator * GetAnimator(void)
virtual void UpdateEntityDef(qhandle_t entityHandle, const renderEntity_t *re)=0
void Event_SpawnBind(void)
const char * Right(int len, idStr &result) const
void ServiceAnims(int fromtime, int totime)
const idDeclModelDef * ModelDef(void) const
void AddEntityToHash(const char *name, idEntity *ent)
bool PhysicsTeamInPVS(pvsHandle_t pvsHandle)
const idEventDef EV_HasFunction("hasFunction","s", 'd')
const function_t * function
void FromTransformedBounds(const idBounds &bounds, const idVec3 &origin, const idMat3 &axis)
const function_t * GetConstructor(void) const
idTypeDef * GetParmType(int parmNumber) const
const idEventDef EV_SpawnBind("<spawnbind>", NULL)
idVec3 ReadDir(int numBits) const
idLinkList< idEntity > spawnNode
virtual void ClientPredictionThink(void)
gameState_t GameState(void) const
void ReadRefSound(refSound_t &refSound)
idLinkList< idEntity > snapshotNode
virtual void ServerSendReliableMessageExcluding(int clientNum, const idBitMsg &msg)
virtual void ServerSendReliableMessage(int clientNum, const idBitMsg &msg)
void WriteRenderEntity(const renderEntity_t &renderEntity)
virtual void ShowEditingDialog(void)
void UnreadToken(const idToken *token)
virtual void Damage(idEntity *inflictor, idEntity *attacker, const idVec3 &dir, const char *damageDefName, const float damageScale, const int location)
const idKeyValue * FindKey(const char *key) const
virtual const idSoundShader * SoundByIndex(int index, bool forceParse=true)=0
void Error(const char *fmt,...) id_attribute((format(printf
virtual void Printf(const char *fmt,...) id_attribute((format(printf
void GetJoints(int *numJoints, idJointMat **jointsPtr)
const idVec3 & GetVisualOffset(void) const
static void SinCos16(float a, float &s, float &c)
void Event_UpdateCameraTarget(void)
void ClientSendEvent(int eventId, const idBitMsg *msg) const
const idDeclSkin * GetDefaultSkin(void) const
int LoadMemory(const char *ptr, int length, const char *name, int startLine=1)
virtual const idDict & State() const =0
void Event_GetNextKey(const char *prefix, const char *lastMatch)
virtual int StartSound(const idSoundShader *shader, const s_channelType channel, float diversity=0, int shaderFlags=0, bool allowSlow=true)=0
idBounds Expand(const float d) const
virtual idBounds Bounds(const struct renderEntity_s *ent=NULL) const =0
static int BitsForInteger(int i)
bool InPlayerPVS(idEntity *ent) const
void ClearForceUpdate(void)
void BindToBody(idEntity *master, int bodyId, bool orientated)
void RegisterEntity(idEntity *ent)
const surfTypes_t GetSurfaceType(void) const
void Save(idSaveGame *savefile) const
const idEventDef EV_Thread_Wait("wait","f")
virtual void AddContactEntity(idEntity *ent)
void Event_SetNeverDormant(int enable)
virtual void DisableClip(void)=0
const idDeclSkin * GetSkin(void) const
virtual idClipModel * GetClipModel(int id=0) const =0
const idEventDef EV_DistanceToPoint("distanceToPoint","v", 'f')
bool Inherits(const idTypeDef *basetype) const
const char * ToString(int precision=2) const
void WriteInt(const int value)
virtual void Present(void)
void Event_CallFunction(const char *name)
void ProjectVector(const idVec3 &src, idVec3 &dst) const
const idEventDef EV_GetMaxs("getMaxs", NULL, 'v')
idDeclManager * declManager
int GetTargets(const idDict &args, idList< idEntityPtr< idEntity > > &list, const char *ref) const
const idMaterial * GetGlobalMaterial()
const idEventDef EV_UpdateCameraTarget("<updateCameraTarget>", NULL)
void FixupLocalizedStrings()
void Event_SetAngularVelocity(const idVec3 &velocity)
void RemoveNullTargets(void)
virtual bool Pain(idEntity *inflictor, idEntity *attacker, int damage, const idVec3 &dir, int location)
idEntity * entities[MAX_GENTITIES]
void WriteDict(const idDict *dict)
idMat3 ToMat3(void) const
virtual bool ClientReceiveEvent(int event, int time, const idBitMsg &msg)
static const float TWO_PI
void SetSignal(signalNum_t signalnum, idThread *thread, const function_t *function)
void Event_IsHidden(void)
int ExpectTokenString(const char *string)
idVec3 GetWorldCoordinates(const idVec3 &vec) const
void AddToEnd(idLinkList &node)
void Event_HasFunction(const char *name)
idEntity * GetTeamMaster(void) const
idEntity * GetTraceEntity(const trace_t &trace) const
void Event_SetWorldOrigin(idVec3 const &org)
const idEventDef EV_TeamBlocked("<teamblocked>","ee")
void ReadStaticObject(idClass &obj)
void Event_Bind(idEntity *master)
int Append(const type &obj)
void AddLocalDamageEffect(jointHandle_t jointNum, const idVec3 &localPoint, const idVec3 &localNormal, const idVec3 &localDir, const idDeclEntityDef *def, const idMaterial *collisionMaterial)
const idEventDef EV_GetEntityKey("getEntityKey","s", 'e')
virtual float GetStateFloat(const char *varName, const char *defaultString="0") const =0
float globalShaderParms[MAX_GLOBAL_SHADER_PARMS]
renderView_t * renderView
const idEventDef EV_GetColor("getColor", NULL, 'v')
idRenderModelManager * renderModelManager
static void ReturnString(const char *text)
void Event_SetShaderParm(int parmnum, float value)
virtual void PostBind(void)
END_CLASS void UpdateGuiParms(idUserInterface *gui, const idDict *args)
const idEventDef EV_GetTarget("getTarget","f", 'e')
bool InitBind(idEntity *master)
void Event_StartSoundShader(const char *soundName, int channel)
virtual const idDecl * DeclByIndex(declType_t type, int index, bool forceParse=true)=0
void Event_FindTargets(void)
virtual void PreUnbind(void)
int GetListenerId(void) const
const idEventDef EV_SetShaderParms("setShaderParms","ffff")
bool IsCleared(void) const
void Event_GetAngularVelocity(void)
virtual bool CanPlayChatterSounds(void) const
virtual void AddForce(idEntity *ent, int id, const idVec3 &point, const idVec3 &force)
virtual void StopSound(const s_channelType channel)=0
bool RemoveIndex(int index)
idMat3 ToMat3(void) const
void Event_GetEntityKey(const char *key)
bool IntersectsBounds(const idBounds &a) const
virtual const idBounds & GetAbsBounds(int id=-1) const =0
virtual void RemoveContactEntity(idEntity *e)=0
virtual void SetColor(float red, float green, float blue)
virtual int GetDefaultSurfaceType(void) const
const function_t * GetFunction(const char *name) const
static bool ModelCallback(renderEntity_s *renderEntity, const renderView_t *renderView)
void WriteRefSound(const refSound_t &refSound)
void Signal(signalNum_t signalnum)
const idEventDef EV_SetGuiFloat("setGuiFloat","sf")
const char * RandomPrefix(const char *prefix, idRandom &random) const
void Event_NumTargets(void)
virtual void UpdateEmitter(const idVec3 &origin, int listenerId, const soundShaderParms_t *parms)=0
bool GetJointWorldTransform(jointHandle_t jointHandle, int currentTime, idVec3 &offset, idMat3 &axis)
idVec3 GetWorldVector(const idVec3 &vec) const
const function_t * GetDestructor(void) const
void ConvertLocalToWorldTransform(idVec3 &offset, idMat3 &axis)
#define CLASS_DECLARATION(nameofsuperclass, nameofclass)
int GetNumPushedEntities(void) const
virtual int AddValue(const float time, const type &value)
virtual void SetAngularVelocity(const idVec3 &newAngularVelocity, int id=0)=0
GLsizei const GLcharARB const GLint * length
virtual int ClipContents(const idClipModel *model) const =0
const char * GetName(void) const
void UpdateAnimation(void)
class idSoundEmitter * referenceSound
void Event_GetTarget(float index)
void GetWorldVelocities(idVec3 &linearVelocity, idVec3 &angularVelocity) const
virtual void SetMaster(idEntity *master, const bool orientated=true)=0
static void ReturnEntity(idEntity *ent)
class idUserInterface * gui[MAX_RENDERENTITY_GUI]
void UpdateModelTransform(void)
const char * c_str(void) const
void Error(const char *fmt,...) const id_attribute((format(printf
const idEventDef EV_SetKey("setKey","ss")
virtual int GetRestStartTime(void) const
const idEventDef EV_GetWorldOrigin("getWorldOrigin", NULL, 'v')
const int MAX_GAME_MESSAGE_SIZE
virtual idEntity * GetBlockingEntity(void) const =0
virtual void ParseSpawnArgsToRenderEntity(const idDict *args, renderEntity_t *renderEntity)
void RestorePhysics(idPhysics *phys)
void Event_ClearJoint(jointHandle_t jointnum)
void BecomeActive(int flags)
const idEventDef EV_SetOrigin("setOrigin","v")
virtual void PreBind(void)
idAngles ToAngles(void) const
const idKeyValue * GetKeyVal(int index) const
const idEventDef EV_Remove("<immediateremove>", NULL)
bool IsActive(void) const
idPhysics_Static defaultPhysicsObj
const idEventDef EV_GetVectorKey("getVectorKey","s", 'v')
function_t * FindFunction(const char *name) const
const int * GetPVSAreas(void)
void ReadColorFromSnapshot(const idBitMsgDelta &msg)
bool GetJointTransformForAnim(jointHandle_t jointHandle, int animNum, int currentTime, idVec3 &offset, idMat3 &axis) const
const idEventDef EV_StartSoundShader("startSoundShader","sd", 'f')
void Event_GetOrigin(void)
virtual void ProjectOverlay(qhandle_t entityHandle, const idPlane localTextureAxis[2], const idMaterial *material)=0
virtual bool CanDamage(const idVec3 &origin, idVec3 &damagePoint) const
void Event_BindToJoint(idEntity *master, const char *jointname, float orientated)
const idEventDef EV_RestorePosition("restorePosition")
jointHandle_t GetBindJoint(void) const
virtual const idDeclSkin * FindSkin(const char *name, bool makeDefault=true)=0
virtual bool IsAtRest(void) const =0
void UnprojectVector(const idVec3 &src, idVec3 &dst) const
static cmHandle_t CheckModel(const char *name)
idRenderModel * ModelHandle(void) const
void Event_SetShaderParms(float parm0, float parm1, float parm2, float parm3)
const idEventDef EV_SetNeverDormant("setNeverDormant","d")
virtual void ParseSpawnArgsToRefSound(const idDict *args, refSound_t *refSound)
virtual void UpdateTime(int endTimeMSec)=0
void Event_GetJointAngle(jointHandle_t jointnum)
const char * GetEntityDefName(void) const
virtual idThread * ConstructScriptObject(void)
void WriteGUIToSnapshot(idBitMsgDelta &msg) const
idMat3 GetMatrix(const char *key, const char *defaultString=NULL) const
virtual bool UpdateAnimationControllers(void)
const idEventDef EV_SetSize("setSize","vv")
const idDeclEntityDef * FindEntityDef(const char *name, bool makeDefault=true) const
idRenderWorld * gameRenderWorld
char * va(const char *fmt,...)
struct damageEffect_s * next
void Event_GetAngles(void)
void AddRenderGui(const char *name, idUserInterface **gui, const idDict *args)
void ReadBindFromSnapshot(const idBitMsgDelta &msg)
static idEntityFx * StartFx(const char *fx, const idVec3 *useOrigin, const idMat3 *useAxis, idEntity *ent, bool bind)
void WriteBits(int value, int numBits)
const idEventDef EV_SetName("setName","s")
virtual void AddDamageEffect(const trace_t &collision, const idVec3 &velocity, const char *damageDefName)
virtual bool GetPhysicsToVisualTransform(idVec3 &origin, idMat3 &axis)
void SaveEntityNetworkEvent(const idEntity *ent, int event, const idBitMsg *msg)
virtual bool ShouldConstructScriptObjectAtSpawn(void) const
idList< signal_t > signal[NUM_SIGNALS]
void SetOrigin(const idVec3 &org)
bool PostEventMS(const idEventDef *ev, int time)
virtual void DPrintf(const char *fmt,...) id_attribute((format(printf
void WriteDir(const idVec3 &dir, int numBits)
bool RemoveEntityFromHash(const char *name, idEntity *ent)
const idEventDef EV_BindPosition("bindPosition","e")
virtual void SetModel(const char *modelname)
void Restore(idRestoreGame *savefile)
bool DoDormantTests(void)
virtual bool ServerReceiveEvent(int event, int time, const idBitMsg &msg)
const idEventDef EV_SetAngles("setAngles","v")
virtual void ProjectOverlay(const idVec3 &origin, const idVec3 &dir, float size, const char *material)
const idEventDef EV_Touch("<touch>","et")
const idEventDef EV_StartFx("startFx","s")
const idEventDef EV_CacheSoundShader("cacheSoundShader","s")
void Restore(idRestoreGame *savefile)
int GetNumKeyVals(void) const
void Event_ClearAllJoints(void)
float shaderParms[MAX_ENTITY_SHADER_PARMS]
void ReadString(idStr &string)
void UpdateDamageEffects(void)
virtual void PostUnbind(void)
const idEventDef EV_SetSkin("setSkin","s")
void BecomeInactive(int flags)
const idEventDef EV_Thread_WaitFrame("waitFrame")
static void ReturnInt(int value)
int ReadToken(idToken *token)
virtual void Trigger(int time)=0
void Event_StartFx(const char *fx)
idLinkList< idEntity > activeNode
void NormalVectors(idVec3 &left, idVec3 &down) const
virtual void ReadFromSnapshot(const idBitMsgDelta &msg)
void Event_GetShaderParm(int parmnum)
virtual void Activate(void)=0
void Event_ActivateTargets(idEntity *activator)
struct renderView_s * remoteRenderView
const idEventDef EV_GetAngles("getAngles", NULL, 'v')
struct renderView_s renderView_t
void ActivateTargets(idEntity *activator) const
const idEventDef EV_GetShaderParm("getShaderParm","d", 'f')
void StopSound(const s_channelType channel, bool broadcast)
virtual void ClientSendReliableMessage(const idBitMsg &msg)
virtual int GetAngularEndTime(void) const =0
void Event_SetLinearVelocity(const idVec3 &velocity)
void ClearJoint(jointHandle_t jointnum)
void ReadSkin(const idDeclSkin *&skin)
virtual void ClearContacts(void)=0
const idEventDef EV_SetColor("setColor","fff")
void Event_RandomTarget(const char *ignore)
virtual void ActivatePhysics(idEntity *ent)
void ReadObject(idClass *&obj)
int ReadShort(void) const
const idEventDef EV_FindTargets("<findTargets>", NULL)
virtual void DormantEnd(void)
void Event_SetModel(const char *modelname)
virtual void SetAxis(const idMat3 &newAxis, int id=-1)=0
const idEventDef EV_ClearJoint("clearJoint","d")
idCVar g_decals("g_decals","1", CVAR_GAME|CVAR_ARCHIVE|CVAR_BOOL,"show decals such as bullet holes")
bool RemoveOrigin(void) const
const idEventDef EV_GetJointAngle("getJointAngle","d", 'v')