40 #define PUSHFL_ONLYMOVEABLE                     1               // only push moveable entities 
   41 #define PUSHFL_NOGROUNDENTITIES         2               // don't push entities the clip model rests upon 
   42 #define PUSHFL_CLIP                                     4               // also clip against all non-moveable entities 
   43 #define PUSHFL_CRUSH                            8               // kill blocking entities 
   44 #define PUSHFL_APPLYIMPULSE                     16              // apply impulse to pushed entities 
   92         void                    AddEntityToPushedGroup( 
idEntity *ent, 
float fraction, 
bool groundContact );
 
   95         int                             GetPushableEntitiesForTranslation( 
idEntity *pusher, 
idEntity *initialPusher, 
const int flags,
 
   96                                                                                         const idVec3 &translation, 
idEntity *entityList[], 
int maxEntities );
 
   98         int                             GetPushableEntitiesForRotation( 
idEntity *pusher, 
idEntity *initialPusher, 
const int flags,
 
void ClipEntityTranslation(trace_t &trace, const idEntity *ent, const idClipModel *clipModel, idClipModel *skip, const idVec3 &translation)
float ClipPush(trace_t &results, idEntity *pusher, const int flags, const idVec3 &oldOrigin, const idMat3 &oldAxis, idVec3 &newOrigin, idMat3 &newAxis)
assert(prefInfo.fullscreenBtn)
void ClipEntityRotation(trace_t &trace, const idEntity *ent, const idClipModel *clipModel, idClipModel *skip, const idRotation &rotation)
void SaveEntityPosition(idEntity *ent)
void InitSavingPushedEntityPositions(void)
float ClipTranslationalPush(trace_t &results, idEntity *pusher, const int flags, const idVec3 &newOrigin, const idVec3 &move)
void RestorePushedEntityPositions(void)
idEntity * GetPushedEntity(int i) const 
int TryTranslatePushEntity(trace_t &results, idEntity *check, idClipModel *clipModel, const int flags, const idVec3 &newOrigin, const idVec3 &move)
bool RotateEntityToAxial(idEntity *ent, idVec3 rotationPoint)
int DiscardEntities(idEntity *entityList[], int numEntities, int flags, idEntity *pusher)
int TryRotatePushEntity(trace_t &results, idEntity *check, idClipModel *clipModel, const int flags, const idMat3 &newAxis, const idRotation &rotation)
int GetNumPushedEntities(void) const 
struct idPush::pushedGroup_s pushedGroup[MAX_GENTITIES]
struct idPush::pushed_s pushed[MAX_GENTITIES]
float ClipRotationalPush(trace_t &results, idEntity *pusher, const int flags, const idMat3 &newAxis, const idRotation &rotation)