29 #include "../idlib/precompiled.h"
40 static const char *guiBinaryMoverStates[] = {
142 memset( &move, 0,
sizeof( move ) );
143 memset( &rot, 0,
sizeof( rot ) );
148 dest_position.Zero();
154 stopRotation =
false;
155 useSplineAngles =
true;
156 lastCommand = MOVER_NONE;
159 fl.networkSync =
true;
236 bool hasSpline =
false;
275 savefile->
ReadInt( portalState );
282 for( i = 0; i <
num; i++ ) {
295 savefile->
ReadInt( starttime );
296 savefile->
ReadInt( totaltime );
299 savefile->
ReadInt( useAngles );
314 if ( !splineEntity ) {
445 switch( (
int )angle ) {
515 ang.
Set( 0, angle, 0 );
740 acceldist = totalacceltime * 0.5f * 0.001f *
move_speed;
741 if ( acceldist >= dist ) {
1123 gameLocal.
Error(
"idMover::Event_MoveAccelerateTo: cannot set acceleration time less than 0." );
1131 gameLocal.
Error(
"idMover::Event_MoveAccelerateTo: not moving." );
1166 gameLocal.
Error(
"idMover::Event_MoveDecelerateTo: cannot set deceleration time less than 0." );
1174 gameLocal.
Error(
"idMover::Event_MoveDecelerateTo: not moving." );
1206 if ( ( axis < 0 ) || ( axis > 2 ) ) {
1228 if ( ( axis < 0 ) || ( axis > 2 ) ) {
1311 duration =
idMath::Sqrt( depth[0] * depth[0] + depth[1] * depth[1] + depth[2] * depth[2] ) / speed;
1412 if ( !splineEntity ) {
1576 const idEventDef EV_SetGuiStates(
"setGuiStates" );
1587 EVENT( EV_SetGuiStates, idElevator::Event_SetGuiStates )
1645 for ( i = 0; i <
num; i++ ) {
1681 len1 = strlen(
"floorPos_" );
1686 fi.
floor = atoi( str );
1710 if ( !other->
IsType( idPlayer::Type ) ) {
1746 door->SetCompanion( doorent );
1790 if ( blockedEntity ==
this ) {
1792 }
else if ( blockedEntity && blockedEntity->
IsType( idDoor::Type ) ) {
1794 idDoor *blocked =
static_cast<idDoor *
>( blockedEntity );
1820 if ( token ==
";" ) {
1824 if ( token.
Icmp(
"changefloor" ) == 0 ) {
1826 int newFloor = atoi( token );
1833 if ( door && door->
IsOpen() ) {
1948 if ( name && *name ) {
1950 if ( ent && ent->
IsType( idDoor::Type ) ) {
1951 doorEnt =
static_cast<idDoor*
>( ent );
1953 if ( master != doorEnt ) {
1954 if ( master->
IsType( idDoor::Type ) ) {
1955 doorEnt =
static_cast<idDoor*
>( master );
1982 void idElevator::Event_SetGuiStates() {
2047 door->Enable(
false );
2066 door->Enable(
true );
2114 activateChain =
NULL;
2136 fl.networkSync =
true;
2230 int i,
num, portalState;
2264 for ( i = 0; i <
num; i++ ) {
2274 savefile->
ReadInt( portalState );
2285 for( i = 0; i <
num; i++ ) {
2339 if ( ent !=
this ) {
2365 soundOrigin.
Clear();
2392 if ( angle == -1 ) {
2393 movedir.
Set( 0, 0, 1 );
2394 }
else if ( angle == -2 ) {
2395 movedir.
Set( 0, 0, -1 );
2530 slave->
Bind( bindTo,
true );
2591 if ( slave->playerOnly ) {
2614 if ( slave->playerOnly ) {
2724 if ( partial < 0 ) {
2770 if ( partial < 0 ) {
2791 for ( i = 0; i <
c; i++ ) {
2979 speed = mspeed ? mspeed : 100;
2983 distance = move.
Length();
3036 const idKeyValue *kv = slave->spawnArgs.MatchPrefix(
"triggerBlocked" );
3042 kv = slave->spawnArgs.MatchPrefix(
"triggerBlocked", kv );
3128 EVENT( EV_TeamBlocked,
idDoor::Event_TeamBlocked )
3129 EVENT( EV_PartBlocked,
idDoor::Event_PartBlocked )
3155 aas_area_closed =
false;
3159 nextSndTriggerTime = 0;
3160 localTriggerOrigin.Zero();
3161 localTriggerAxis.Identity();
3165 companionDoor =
NULL;
3166 normalAxisIndex = 0;
3306 distance = ( abs_movedir *
size ) - lip;
3341 if ( !start_open ) {
3436 if (
this != master ) {
3440 if ( slave->
IsType( idDoor::Type ) ) {
3441 slaveDoor =
static_cast<idDoor *
>( slave );
3443 if ( companion && ( companion != master ) && ( companion->
GetMoveMaster() != master ) ) {
3458 slave->idMover_Binary::Hide();
3475 if (
this != master ) {
3479 if ( slave->
IsType( idDoor::Type ) ) {
3480 slaveDoor =
static_cast<idDoor *
>( slave );
3482 if ( companion && ( companion != master ) && ( companion->
GetMoveMaster() != master ) ) {
3497 slave->idMover_Binary::Show();
3529 if ( sync && sync->
IsType( idDoor::Type ) ) {
3530 if ( static_cast<idDoor *>( sync )->IsOpen() ) {
3568 if ( other->
IsType( idDoor::Type ) ) {
3574 if ( sndtemp && *sndtemp ) {
3627 bool idDoor::AllowPlayerOnly(
idEntity *ent ) {
3628 if ( playerOnly && !ent->
IsType(idPlayer::Type) ) {
3653 if ( other->
IsType( idDoor::Type ) ) {
3664 for ( i = 1 ; i < 3 ; i++ ) {
3665 if ( bounds[1][ i ] - bounds[0][ i ] < bounds[1][ best ] - bounds[0][ best ] ) {
3670 bounds[0][ best ] -=
size;
3671 bounds[1][ best ] +=
size;
3730 if ( other->
IsType( idDoor::Type ) ) {
3854 idVec3 contact, translate;
3855 idVec3 planeaxis1, planeaxis2, normal;
3865 if ( AllowPlayerOnly( other ) ) {
3886 idVec3 contact, translate, normal;
3890 assert( other && other->
IsType( idPlayer::Type ) &&
static_cast< idPlayer *
>( other )->spectating );
3892 p =
static_cast< idPlayer *
>( other );
3904 if ( normal * contact > 0 ) {
3936 if ( old_lock == 2 ) {
3943 if ( sync && sync->
IsType( idDoor::Type ) ) {
3944 if ( static_cast<idDoor *>( sync )->IsOpen() ) {
4018 if ( slave->
IsType( idDoor::Type ) ) {
4019 slaveDoor =
static_cast<idDoor *
>( slave );
4041 if ( slave->
IsType( idDoor::Type ) ) {
4042 slaveDoor =
static_cast<idDoor *
>( slave );
4063 EVENT( EV_TeamBlocked,
idPlat::Event_TeamBlocked )
4064 EVENT( EV_PartBlocked,
idPlat::Event_PartBlocked )
4074 localTriggerOrigin.Zero();
4075 localTriggerAxis.Identity();
4233 tmin[0] = bounds[0][0] + 33;
4234 tmin[1] = bounds[0][1] + 33;
4235 tmin[2] = bounds[0][2];
4237 tmax[0] = bounds[1][0] - 33;
4238 tmax[1] = bounds[1][1] - 33;
4239 tmax[2] = bounds[1][2] + 8;
4241 if ( tmax[0] <= tmin[0] ) {
4242 tmin[0] = ( bounds[0][0] + bounds[1][0] ) * 0.5
f;
4243 tmax[0] = tmin[0] + 1;
4245 if ( tmax[1] <= tmin[1] ) {
4246 tmin[1] = ( bounds[0][1] + bounds[1][1] ) * 0.5
f;
4247 tmax[1] = tmin[1] + 1;
4261 if ( !other->
IsType( idPlayer::Type ) ) {
4312 fl.neverDormant =
false;
4493 }
else if ( y_axis ) {
4548 }
else if ( y_axis ) {
4601 if ( freq <= 0.0
f ) {
virtual const idVec3 & GetOrigin(int id=0) const =0
void Event_TeamBlocked(idEntity *blockedPart, idEntity *blockingEntity)
void Event_SetAccellerationTime(float time)
const idVec3 & GetOrigin(int id=0) const
renderEntity_t renderEntity
void Event_PartBlocked(idEntity *blockingEntity)
const idEventDef EV_Mover_OpenPortal("openPortal")
bool AddBounds(const idBounds &a)
const idEventDef EV_ReachedPos("<reachedpos>", NULL)
float GetFloat(const char *key, const char *defaultString="0") const
virtual void WriteToSnapshot(idBitMsgDelta &msg) const
bool Compare(const idVec3 &a) const
const idEventDef EV_Mover_Enable("enable", NULL)
void WriteString(const char *string)
idAngles & Normalize360(void)
int GetInt(const char *key, const char *defaultString="0") const
idPhysics_Parametric physicsObj
bool PostEventSec(const idEventDef *ev, float time)
void WriteBindToSnapshot(idBitMsgDelta &msg) const
void void static idThread * CurrentThread(void)
void Event_StopMoving(void)
assert(prefInfo.fullscreenBtn)
virtual void StateChanged(int time, bool redraw=false)=0
void SetContents(int contents, int id=-1)
idVec3 GetLocalCoordinates(const idVec3 &vec) const
void Restore(idRestoreGame *savefile)
static void GetMovedir(float dir, idVec3 &movedir)
idMat3 mat3_identity(idVec3(1, 0, 0), idVec3(0, 1, 0), idVec3(0, 0, 1))
bool GetMasterPosition(idVec3 &masterOrigin, idMat3 &masterAxis) const
virtual void SetContents(int contents, int id=-1)=0
void WriteObject(const idClass *obj)
idVec3 GetCenter(void) const
void MatchActivateTeam(moverState_t newstate, int time)
const idMat3 & GetAxis(int id=0) const
void Event_Use_BinaryMover(idEntity *activator)
idEntityPtr< idEntity > splineEnt
const idEventDef EV_Door_IsLocked("isLocked", NULL, 'f')
void SetPortalState(bool open)
void Printf(const char *fmt,...) const id_attribute((format(printf
void Event_RotateDownTo(int axis, float angle)
virtual void SetStateString(const char *varName, const char *value)=0
void SetContents(int newContents)
struct idEntity::entityFlags_s fl
void SetAngularExtrapolation(extrapolation_t type, int time, int duration, const idAngles &base, const idAngles &speed, const idAngles &baseSpeed)
void Bind(idEntity *master, bool orientated)
type * GetEntity(void) const
extrapolation_t GetLinearExtrapolationType(void) const
void SetShaderParm(int parmnum, float value)
void Event_StopRotating(void)
void Event_GotoFloor(int floor)
void Restore(idRestoreGame *savefile)
const idEventDef EV_Time("time","f")
float GetFloat(void) const
void Event_RemoveInitialSplineAngles(void)
const idStr & GetKey(void) const
void SetNum(int newnum, bool resize=true)
virtual void PreBind(void)
const idEventDef EV_Activate("activate","e")
const idEventDef EV_Door_Lock("lock","d")
idEntity * GetActivator(void) const
const idEventDef EV_Mover_MatchTeam("<matchteam>","dd")
idMover_Binary * activateChain
const idEventDef EV_MoveSound("moveSound","s")
void Event_TeamBlocked(idEntity *blockedEntity, idEntity *blockingEntity)
idMat3 Transpose(void) const
void void void void void Error(const char *fmt,...) const id_attribute((format(printf
void GetLocalTriggerPosition(const idClipModel *trigger)
void SetMoverState(moverState_t newstate, int time)
static int CurrentThreadNum(void)
bool IsType(const idTypeInfo &c) const
const idEventDef EV_Door_StartOpen("<startOpen>", NULL)
void Event_Bob(float speed, float phase, idVec3 &depth)
void Event_Activate(idEntity *activator)
void Set(const float x, const float y, const float z)
void Event_TeamBlocked(idEntity *blockedEntity, idEntity *blockingEntity)
const idMat3 & GetAxis(void) const
void Event_Touch(idEntity *other, trace_t *trace)
void SetAngles(const idAngles &ang)
idEntity * FindEntity(const char *name) const
void Use_BinaryMover(idEntity *activator)
const idEventDef EV_RotateDownTo("rotateDownTo","df")
const idKeyValue * MatchPrefix(const char *prefix, const idKeyValue *lastMatch=NULL) const
void Event_UpdateMove(void)
bool ProcessEvent(const idEventDef *ev)
void WriteBits(int value, int numBits)
void Event_SpectatorTouch(idEntity *other, trace_t *trace)
#define AREACONTENTS_OBSTACLE
void SetPortalState(bool open)
virtual void DoneRotating(void)
virtual void WriteToSnapshot(idBitMsgDelta &msg) const
void Event_StartSpline(idEntity *splineEntity)
void Restore(idRestoreGame *savefile)
void Event_SpawnSoundTrigger(void)
void ReadBool(bool &value)
const idBounds & GetAbsBounds(int id=-1) const
idAngles ang_zero(0.0f, 0.0f, 0.0f)
virtual void ReadFromSnapshot(const idBitMsgDelta &msg)
const idEventDef EV_EnableSplineAngles("enableSplineAngles", NULL)
GLint GLint GLsizei GLsizei GLsizei depth
const idEventDef EV_StartSpline("startSpline","e")
void WriteStaticObject(const idClass &obj)
static float Sqrt(float x)
void JoinTeam(idEntity *teammember)
const idEventDef EV_AccelTime("accelTime","f")
void SetAASAreaState(bool closed)
void SpawnPlatTrigger(idVec3 &pos)
void SetGuiState(const char *key, const char *val) const
void UpdateBuddies(int val)
const idVec3 & GetOrigin(void) const
void Event_InitGuiTargets(void)
void SetLinearExtrapolation(extrapolation_t type, int time, int duration, const idVec3 &base, const idVec3 &speed, const idVec3 &baseSpeed)
void Save(idSaveGame *savefile) const
void Event_TeamBlocked(idEntity *blockedEntity, idEntity *blockingEntity)
const idEventDef EV_StopSpline("stopSpline", NULL)
virtual void PostBind(void)
void Restore(idRestoreGame *savefile)
void Event_MoveToPos(idVec3 &pos)
void UpdateMoverSound(moverState_t state)
void Set(const char *key, const char *value)
void Event_StopSpline(void)
void Use(idEntity *other, idEntity *activator)
int ReadBits(int numBits) const
const idEventDef EV_ReachedAng("<reachedang>", NULL)
void ShiftTime(const float deltaTime)
const idEventDef EV_PostRestore("<postrestore>","ddddd")
void Event_Reached_BinaryMover(void)
void Restore(idRestoreGame *savefile)
void Event_SpawnDoorTrigger(void)
void WriteClipModel(const class idClipModel *clipModel)
void Event_InitGuiTargets(void)
extrapolation_t GetAngularExtrapolationType(void) const
const idEventDef EV_DecelSound("decelSound","s")
const idEventDef EV_MoveToPos("moveToPos","v")
void FindGuiTargets(void)
void WriteVec3(const idVec3 &vec)
bool HasChanged(void) const
idMover_Binary * moveMaster
virtual void PostBind(void)
void Event_DisableSplineAngles(void)
const idEventDef EV_DecelTime("decelTime","f")
void Event_Touch(idEntity *other, trace_t *trace)
int Icmp(const char *text) const
#define EVENT(event, function)
void SetAxis(const idMat3 &newAxis, int id=-1)
idEntityPtr< idEntity > activatedBy
void Event_MoveDir(float angle, float distance)
void WriteBool(const bool value)
const idEventDef EV_Mover_ClosePortal("closePortal")
void Save(idSaveGame *savefile) const
void SetClipModel(idClipModel *model, float density, int id=0, bool freeOld=true)
bool IsHidden(void) const
idCurve_Spline< idVec3 > * GetSpline(void) const
virtual void Killed(idEntity *inflictor, idEntity *attacker, int damage, const idVec3 &dir, int location)
void Event_Rotate(idAngles &angles)
void void void Warning(const char *fmt,...) const id_attribute((format(printf
void EnableProperDoors(void)
virtual const idBounds & GetBounds(int id=-1) const =0
const idEventDef EV_GotoFloor("gotoFloor","d")
void Event_ClosePortal(void)
const idEventDef EV_Door_SpawnDoorTrigger("<spawnDoorTrigger>", NULL)
void SetPortalState(qhandle_t portal, int blockingBits)
void Event_MoveDecelerateTo(float speed, float time)
void Event_MatchActivateTeam(moverState_t newstate, int time)
void UpdateRotationSound(moveStage_t stage)
void SetSelf(idEntity *e)
const idEventDef EV_IsRotating("isRotating", NULL, 'd')
void Event_PostFloorArrival()
void Save(idSaveGame *savefile) const
void SetGuiStates(const char *state)
const idEventDef EV_Door_Close("close", NULL)
void Set(float pitch, float yaw, float roll)
const idEventDef EV_Move("move","ff")
idMover_Binary * GetMoveMaster(void) const
void Event_Activate(idEntity *activator)
idPhysics * GetPhysics(void) const
idAngles ToAngles(void) const
const int SHADERPARM_MODE
void FindGuiTargets(void)
const char * GetString(const char *key, const char *defaultString="") const
void OpenFloorDoor(int floor)
void ReadFloat(float &value)
virtual void PreBind(void)
idVec3 ToForward(void) const
bool StartSound(const char *soundName, const s_channelType channel, int soundShaderFlags, bool broadcast, int *length)
idVec3 vec3_origin(0.0f, 0.0f, 0.0f)
void Event_OpenPortal(void)
const idEventDef EV_PartBlocked("<partblocked>","e")
const idEventDef EV_RotateTo("rotateTo","v")
virtual renderEntity_t * GetRenderEntity(void)
void SetOrigin(const idVec3 &newOrigin, int id=-1)
void SetPhysics(idPhysics *phys)
const idEventDef EV_Mover_ReturnToPos1("<returntopos1>", NULL)
void WriteFloat(const float value)
void BindTeam(idEntity *bindTo)
static float Fabs(float f)
idCVar g_gravity("g_gravity", DEFAULT_GRAVITY_STRING, CVAR_GAME|CVAR_FLOAT,"")
void Event_StartOpen(void)
const idEventDef EV_StopMoving("stopMoving", NULL)
void Event_SetMoveSpeed(float speed)
bool GetBool(const char *key, const char *defaultString="0") const
void GetLocalTriggerPosition(const idClipModel *trigger)
static const float SQRT_1OVER2
void Event_SetDecelSound(const char *sound)
void Event_IsMoving(void)
void Save(idSaveGame *savefile) const
void InitTime(idVec3 &mpos1, idVec3 &mpos2, float mtime, float maccelTime, float mdecelTime)
idVec3 GetVector(const char *key, const char *defaultString=NULL) const
idVec3 localTriggerOrigin
const int MAX_RENDERENTITY_GUI
const idEventDef EV_Rotate("rotate","v")
void CancelEvents(const idEventDef *ev)
void SetGuiStates(const char *state)
int GetSplineDeceleration(void) const
moverCommand_t lastCommand
static void ReturnFloat(float value)
class idDoor * GetDoor(const char *name)
void Save(idSaveGame *savefile) const
void InitSpeed(idVec3 &mpos1, idVec3 &mpos2, float mspeed, float maccelTime, float mdecelTime)
const idEventDef EV_MoveTo("moveTo","e")
void GetLocalAngles(idAngles &curAngles) const
virtual void ReadFromSnapshot(const idBitMsgDelta &msg)
void Event_OpenPortal(void)
const idStr & GetValue(void) const
void ReadGUIFromSnapshot(const idBitMsgDelta &msg)
virtual const idMat3 & GetAxis(int id=0) const =0
const idEventDef EV_AccelSound("accelSound","s")
const char * Right(int len, idStr &result) const
idPhysics_Parametric physicsObj
void Event_ClosePortal(void)
static void ObjectMoveDone(int threadnum, idEntity *obj)
void Event_RotateOnce(idAngles &angles)
idLinkList< idEntity > spawnNode
gameState_t GameState(void) const
void Event_PartBlocked(idEntity *blockingEntity)
int GetLinearEndTime(void) const
virtual type GetCurrentFirstDerivative(const float time) const
void JoinActivateTeam(idMover_Binary *master)
void UnreadToken(const idToken *token)
void SetGuiState(const char *key, const char *val) const
virtual void Damage(idEntity *inflictor, idEntity *attacker, const idVec3 &dir, const char *damageDefName, const float damageScale, const int location)
bool UsingSplineAngles(void) const
void Save(idSaveGame *savefile) const
const idEventDef EV_RotateUpTo("rotateUpTo","df")
idLinkList< idEntity > spawnedEntities
void Event_MoveAccelerateTo(float speed, float time)
void Event_SetCallback(void)
virtual idClipModel * GetClipModel(int id=0) const =0
void DisableAllDoors(void)
GLenum GLsizei GLsizei height
void WriteInt(const int value)
virtual void Present(void)
float GetTime(const int index) const
const idEventDef EV_Door_Open("open", NULL)
int GetTargets(const idDict &args, idList< idEntityPtr< idEntity > > &list, const char *ref) const
const idEventDef EV_FindGuiTargets("<FindGuiTargets>", NULL)
void Restore(idRestoreGame *savefile)
void WriteMat3(const idMat3 &mat)
void SetCompanion(idDoor *door)
const idVec3 & GetLinearVelocity(int id=0) const
void Event_Activate(idEntity *activator)
idMover_Binary * GetActivateChain(void) const
floorInfo_s * GetFloorInfo(int floor)
void ReadMat3(idMat3 &mat)
static const float TWO_PI
virtual qhandle_t FindPortal(const idBounds &b) const =0
const idEventDef EV_Sway("sway","ffv")
idVec3 GetWorldCoordinates(const idVec3 &vec) const
const idEventDef EV_Mover_Disable("disable", NULL)
const idEventDef EV_TeamBlocked("<teamblocked>","ee")
void Event_Activate(idEntity *activator)
void ReadStaticObject(idClass &obj)
idVec3 localTriggerOrigin
void ReadClipModel(idClipModel *&clipModel)
int Append(const type &obj)
virtual void BeginMove(idThread *thread=NULL)
void VectorForDir(float dir, idVec3 &vec)
void SetInt(const char *key, int val)
virtual void BeginMove(idThread *thread=NULL)
void Event_SetCallback(void)
void Event_SetMoveTime(float time)
void SetAASAreaState(const idBounds &bounds, const int areaContents, bool closed)
void WriteAngles(const idAngles &angles)
void SetClipMask(int mask, int id=-1)
idPhysics_Parametric physicsObj
void SetLinearInterpolation(int time, int accelTime, int decelTime, int duration, const idVec3 &startPos, const idVec3 &endPos)
void Event_TeamBlocked(idEntity *blockedEntity, idEntity *blockingEntity)
void Event_PartBlocked(idEntity *blockingEntity)
idCVar g_debugMover("g_debugMover","0", CVAR_GAME|CVAR_BOOL,"")
void GetLocalOrigin(idVec3 &curOrigin) const
void Event_ClosePortal(void)
virtual void DoneMoving(void)
void Event_PostRestore(int start, int total, int accel, int decel, int useSplineAng)
void Event_ReturnToPos1(void)
const idEventDef EV_StopRotating("stopRotating", NULL)
const idEventDef EV_MoveDecelerateTo("decelTo","ff")
virtual const idBounds & GetAbsBounds(int id=-1) const =0
void Event_RotateTo(idAngles &angles)
void Signal(signalNum_t signalnum)
const idEventDef EV_IsMoving("isMoving", NULL, 'd')
const idEventDef EV_Bob("bob","ffv")
idVec3 GetWorldVector(const idVec3 &vec) const
#define CLASS_DECLARATION(nameofsuperclass, nameofclass)
const idEventDef EV_MoveAccelerateTo("accelTo","ff")
idList< idEntityPtr< idEntity > > guiTargets
const idEventDef EV_PostArrival("postArrival", NULL)
void Event_Sway(float speed, float phase, idAngles &depth)
GLsizei const GLcharARB const GLint * length
void Event_PartBlocked(idEntity *blockingEntity)
virtual void PostBind(void)
void Event_RotateUpTo(int axis, float angle)
const char * GetName(void) const
static int SnapTimeToPhysicsFrame(int t)
void Event_FindGuiTargets(void)
void Save(idSaveGame *savefile) const
void ReadVec3(idVec3 &vec)
class idUserInterface * gui[MAX_RENDERENTITY_GUI]
const char * c_str(void) const
void Save(idSaveGame *savefile) const
bool RequirementMet(idEntity *activator, const idStr &requires, int removeItem)
void ReadAngles(idAngles &angles)
void RestorePhysics(idPhysics *phys)
const idEventDef EV_SpectatorTouch("spectatorTouch","et")
void BecomeActive(int flags)
void SetSpline(idCurve_Spline< idVec3 > *spline, int accelTime, int decelTime, bool useSplineAngles)
void MakeUniform(const float totalTime)
idAngles ToAngles(void) const
virtual int GetPortalState(qhandle_t portal)=0
idList< floorInfo_s > floorInfo
const idBounds & GetAbsBounds(void) const
void Event_SetAccelSound(const char *sound)
void ReadFromSnapshot(const idBitMsgDelta &msg)
void Restore(idRestoreGame *savefile)
void UpdateMoveSound(moveStage_t stage)
void Restore(idRestoreGame *savefile)
virtual void ReadFromSnapshot(const idBitMsgDelta &msg)
const idEventDef EV_Thread_SetCallback("<script_setcallback>", NULL)
virtual void DoneMoving(void)
void WriteGUIToSnapshot(idBitMsgDelta &msg) const
void Event_UpdateRotation(void)
void MoveToPos(const idVec3 &pos)
idRenderWorld * gameRenderWorld
char * va(const char *fmt,...)
int GetNumValues(void) const
void SetPusher(int flags)
void Event_FindGuiTargets(void)
virtual void BeginRotation(idThread *thread, bool stopwhendone)
void Event_Touch(idEntity *other, trace_t *trace)
void ReadBindFromSnapshot(const idBitMsgDelta &msg)
idList< idEntityPtr< idEntity > > guiTargets
void SetOrigin(const idVec3 &org)
bool PostEventMS(const idEventDef *ev, int time)
void Event_OpenPortal(void)
void Event_IsRotating(void)
void WriteToSnapshot(idBitMsgDelta &msg) const
virtual void WriteToSnapshot(idBitMsgDelta &msg) const
void ToVectors(idVec3 *forward, idVec3 *right=NULL, idVec3 *up=NULL) const
const idEventDef EV_DisableSplineAngles("disableSplineAngles", NULL)
const idEventDef EV_Touch("<touch>","et")
idEntityPtr< idEntity > activatedBy
void Event_Reached_BinaryMover(void)
virtual void virtual void Warning(const char *fmt,...) id_attribute((format(printf
float shaderParms[MAX_ENTITY_SHADER_PARMS]
void CalcTriggerBounds(float size, idBounds &bounds)
void ReadString(idStr &string)
void Event_MoveTo(idEntity *ent)
static void ReturnInt(int value)
int ReadToken(idToken *token)
const idEventDef EV_Mover_InitGuiTargets("<initguitargets>", NULL)
void ActivateTargets(idEntity *activator) const
const idEventDef EV_Door_SpawnSoundTrigger("<spawnSoundTrigger>", NULL)
void Event_EnableSplineAngles(void)
void StopSound(const s_channelType channel, bool broadcast)
void Event_Activate(idEntity *activator)
int GetSplineAcceleration(void) const
#define AREACONTENTS_CLUSTERPORTAL
void Event_SetDecelerationTime(float time)
const idEventDef EV_RotateOnce("rotateOnce","v")
void ReadObject(idClass *&obj)
idCurve_Spline< idVec3 > * GetSpline(void) const
const idEventDef EV_Door_IsOpen("isOpen", NULL, 'f')
const idEventDef EV_RemoveInitialSplineAngles("removeInitialSplineAngles", NULL)
virtual void PreBind(void)
void Event_SetMoveSound(const char *sound)
const idEventDef EV_Speed("speed","f")
virtual bool HandleSingleGuiCommand(idEntity *entityGui, idLexer *src)
moverState_t GetMoverState(void) const