doom3-gpl
Doom 3 GPL source release
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Mover.h
Go to the documentation of this file.
1 /*
2 ===========================================================================
3 
4 Doom 3 GPL Source Code
5 Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company.
6 
7 This file is part of the Doom 3 GPL Source Code (?Doom 3 Source Code?).
8 
9 Doom 3 Source Code is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation, either version 3 of the License, or
12 (at your option) any later version.
13 
14 Doom 3 Source Code is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
18 
19 You should have received a copy of the GNU General Public License
20 along with Doom 3 Source Code. If not, see <http://www.gnu.org/licenses/>.
21 
22 In addition, the Doom 3 Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 Source Code. If not, please request a copy in writing from id Software at the address below.
23 
24 If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
25 
26 ===========================================================================
27 */
28 
29 #ifndef __GAME_MOVER_H__
30 #define __GAME_MOVER_H__
31 
32 extern const idEventDef EV_TeamBlocked;
33 extern const idEventDef EV_PartBlocked;
34 extern const idEventDef EV_ReachedPos;
35 extern const idEventDef EV_ReachedAng;
36 
37 /*
38 ===============================================================================
39 
40  General movers.
41 
42 ===============================================================================
43 */
44 
45 class idMover : public idEntity {
46 public:
48 
49  idMover( void );
50 
51  void Spawn( void );
52 
53  void Save( idSaveGame *savefile ) const;
54  void Restore( idRestoreGame *savefile );
55 
56  virtual void Killed( idEntity *inflictor, idEntity *attacker, int damage, const idVec3 &dir, int location );
57 
58  virtual void WriteToSnapshot( idBitMsgDelta &msg ) const;
59  virtual void ReadFromSnapshot( const idBitMsgDelta &msg );
60 
61  virtual void Hide( void );
62  virtual void Show( void );
63 
64  void SetPortalState( bool open );
65 
66 protected:
67  typedef enum {
72  } moveStage_t;
73 
74  typedef enum {
80 
81  //
82  // mover directions. make sure to change script/doom_defs.script if you add any, or change their order
83  //
84  typedef enum {
85  DIR_UP = -1,
86  DIR_DOWN = -2,
87  DIR_LEFT = -3,
88  DIR_RIGHT = -4,
90  DIR_BACK = -6,
91  DIR_REL_UP = -7,
97  } moverDir_t;
98 
99  typedef struct {
102  int movetime;
105  } moveState_t;
106 
107  typedef struct {
110  int movetime;
113  } rotationState_t;
114 
116 
117  void Event_OpenPortal( void );
118  void Event_ClosePortal( void );
119  void Event_PartBlocked( idEntity *blockingEntity );
120 
121  void MoveToPos( const idVec3 &pos);
122  void UpdateMoveSound( moveStage_t stage );
123  void UpdateRotationSound( moveStage_t stage );
124  void SetGuiStates( const char *state );
125  void FindGuiTargets( void );
126  void SetGuiState( const char *key, const char *val ) const;
127 
128  virtual void DoneMoving( void );
129  virtual void DoneRotating( void );
130  virtual void BeginMove( idThread *thread = NULL );
131  virtual void BeginRotation( idThread *thread, bool stopwhendone );
133 
134 private:
136 
143  float move_speed;
151  float damage;
152 
153  qhandle_t areaPortal; // 0 = no portal
154 
156 
157  void VectorForDir( float dir, idVec3 &vec );
158  idCurve_Spline<idVec3> *GetSpline( idEntity *splineEntity ) const;
159 
160  void Event_SetCallback( void );
161  void Event_TeamBlocked( idEntity *blockedPart, idEntity *blockingEntity );
162  void Event_StopMoving( void );
163  void Event_StopRotating( void );
164  void Event_UpdateMove( void );
165  void Event_UpdateRotation( void );
166  void Event_SetMoveSpeed( float speed );
167  void Event_SetMoveTime( float time );
168  void Event_SetDecelerationTime( float time );
169  void Event_SetAccellerationTime( float time );
170  void Event_MoveTo( idEntity *ent );
171  void Event_MoveToPos( idVec3 &pos );
172  void Event_MoveDir( float angle, float distance );
173  void Event_MoveAccelerateTo( float speed, float time );
174  void Event_MoveDecelerateTo( float speed, float time );
175  void Event_RotateDownTo( int axis, float angle );
176  void Event_RotateUpTo( int axis, float angle );
177  void Event_RotateTo( idAngles &angles );
178  void Event_Rotate( idAngles &angles );
179  void Event_RotateOnce( idAngles &angles );
180  void Event_Bob( float speed, float phase, idVec3 &depth );
181  void Event_Sway( float speed, float phase, idAngles &depth );
182  void Event_SetAccelSound( const char *sound );
183  void Event_SetDecelSound( const char *sound );
184  void Event_SetMoveSound( const char *sound );
185  void Event_FindGuiTargets( void );
186  void Event_InitGuiTargets( void );
187  void Event_EnableSplineAngles( void );
188  void Event_DisableSplineAngles( void );
189  void Event_RemoveInitialSplineAngles( void );
190  void Event_StartSpline( idEntity *splineEntity );
191  void Event_StopSpline( void );
192  void Event_Activate( idEntity *activator );
193  void Event_PostRestore( int start, int total, int accel, int decel, int useSplineAng );
194  void Event_IsMoving( void );
195  void Event_IsRotating( void );
196 };
197 
198 class idSplinePath : public idEntity {
199 public:
201 
202  idSplinePath();
203 
204  void Spawn( void );
205 };
206 
207 
208 struct floorInfo_s {
211  int floor;
212 };
213 
214 class idElevator : public idMover {
215 public:
217 
218  idElevator( void );
219 
220  void Spawn();
221 
222  void Save( idSaveGame *savefile ) const;
223  void Restore( idRestoreGame *savefile );
224 
225  virtual bool HandleSingleGuiCommand( idEntity *entityGui, idLexer *src );
226  void Event_GotoFloor( int floor );
227  floorInfo_s * GetFloorInfo( int floor );
228 
229 protected:
230  virtual void DoneMoving( void );
231  virtual void BeginMove( idThread *thread = NULL );
232  void SpawnTrigger( const idVec3 &pos );
234  void Event_Touch( idEntity *other, trace_t *trace );
235 
236 private:
237  typedef enum {
241  } elevatorState_t;
242 
249  float returnTime;
252 
253  class idDoor * GetDoor( const char *name );
254  void Think( void );
255  void OpenInnerDoor( void );
256  void OpenFloorDoor( int floor );
257  void CloseAllDoors( void );
258  void DisableAllDoors( void );
259  void EnableProperDoors( void );
260 
261  void Event_TeamBlocked( idEntity *blockedEntity, idEntity *blockingEntity );
262  void Event_Activate( idEntity *activator );
263  void Event_PostFloorArrival();
264 
265 #ifdef _D3XP
266  void Event_SetGuiStates();
267 #endif
268 
269 };
270 
271 
272 /*
273 ===============================================================================
274 
275  Binary movers.
276 
277 ===============================================================================
278 */
279 
280 typedef enum {
285 } moverState_t;
286 
287 class idMover_Binary : public idEntity {
288 public:
290 
291  idMover_Binary();
292  ~idMover_Binary();
293 
294  void Spawn( void );
295 
296  void Save( idSaveGame *savefile ) const;
297  void Restore( idRestoreGame *savefile );
298 
299  virtual void PreBind( void );
300  virtual void PostBind( void );
301 
302  void Enable( bool b );
303  void InitSpeed( idVec3 &mpos1, idVec3 &mpos2, float mspeed, float maccelTime, float mdecelTime );
304  void InitTime( idVec3 &mpos1, idVec3 &mpos2, float mtime, float maccelTime, float mdecelTime );
305  void GotoPosition1( void );
306  void GotoPosition2( void );
307  void Use_BinaryMover( idEntity *activator );
308  void SetGuiStates( const char *state );
309  void UpdateBuddies( int val );
310  idMover_Binary * GetActivateChain( void ) const { return activateChain; }
311  idMover_Binary * GetMoveMaster( void ) const { return moveMaster; }
312  void BindTeam( idEntity *bindTo );
313  void SetBlocked( bool b );
314  bool IsBlocked( void );
315  idEntity * GetActivator( void ) const;
316 
317  virtual void WriteToSnapshot( idBitMsgDelta &msg ) const;
318  virtual void ReadFromSnapshot( const idBitMsgDelta &msg );
319 
320  void SetPortalState( bool open );
321 
322 protected:
333  float wait;
334  float damage;
335  int duration;
341  bool enabled;
343  int updateStatus; // 1 = lock behaviour, 2 = open close status
346  qhandle_t areaPortal; // 0 = no portal
347  bool blocked;
348 #ifdef _D3XP
349  bool playerOnly;
350 #endif
352 
353  void MatchActivateTeam( moverState_t newstate, int time );
354  void JoinActivateTeam( idMover_Binary *master );
355 
356  void UpdateMoverSound( moverState_t state );
357  void SetMoverState( moverState_t newstate, int time );
358  moverState_t GetMoverState( void ) const { return moverState; }
359  void FindGuiTargets( void );
360  void SetGuiState( const char *key, const char *val ) const;
361 
362  void Event_SetCallback( void );
363  void Event_ReturnToPos1( void );
364  void Event_Use_BinaryMover( idEntity *activator );
365  void Event_Reached_BinaryMover( void );
366  void Event_MatchActivateTeam( moverState_t newstate, int time );
367  void Event_Enable( void );
368  void Event_Disable( void );
369  void Event_OpenPortal( void );
370  void Event_ClosePortal( void );
371  void Event_FindGuiTargets( void );
372  void Event_InitGuiTargets( void );
373 
374  static void GetMovedir( float dir, idVec3 &movedir );
375 };
376 
377 class idDoor : public idMover_Binary {
378 public:
380 
381  idDoor( void );
382  ~idDoor( void );
383 
384  void Spawn( void );
385 
386  void Save( idSaveGame *savefile ) const;
387  void Restore( idRestoreGame *savefile );
388 
389  virtual void Think( void );
390  virtual void PreBind( void );
391  virtual void PostBind( void );
392  virtual void Hide( void );
393  virtual void Show( void );
394 
395  bool IsOpen( void );
396  bool IsNoTouch( void );
397 #ifdef _D3XP
398  bool AllowPlayerOnly( idEntity *ent );
399 #endif
400  int IsLocked( void );
401  void Lock( int f );
402  void Use( idEntity *other, idEntity *activator );
403  void Close( void );
404  void Open( void );
405  void SetCompanion( idDoor *door );
406 
407 private:
408  float triggersize;
409  bool crusher;
410  bool noTouch;
421  int normalAxisIndex; // door faces X or Y for spectator teleports
423 
424  void SetAASAreaState( bool closed );
425 
427  void CalcTriggerBounds( float size, idBounds &bounds );
428 
429  void Event_Reached_BinaryMover( void );
430  void Event_TeamBlocked( idEntity *blockedEntity, idEntity *blockingEntity );
431  void Event_PartBlocked( idEntity *blockingEntity );
432  void Event_Touch( idEntity *other, trace_t *trace );
433  void Event_Activate( idEntity *activator );
434  void Event_StartOpen( void );
435  void Event_SpawnDoorTrigger( void );
436  void Event_SpawnSoundTrigger( void );
437  void Event_Close( void );
438  void Event_Open( void );
439  void Event_Lock( int f );
440  void Event_IsOpen( void );
441  void Event_Locked( void );
442  void Event_SpectatorTouch( idEntity *other, trace_t *trace );
443  void Event_OpenPortal( void );
444  void Event_ClosePortal( void );
445 };
446 
447 class idPlat : public idMover_Binary {
448 public:
450 
451  idPlat( void );
452  ~idPlat( void );
453 
454  void Spawn( void );
455 
456  void Save( idSaveGame *savefile ) const;
457  void Restore( idRestoreGame *savefile );
458 
459  virtual void Think( void );
460  virtual void PreBind( void );
461  virtual void PostBind( void );
462 
463 private:
467 
469  void SpawnPlatTrigger( idVec3 &pos );
470 
471  void Event_TeamBlocked( idEntity *blockedEntity, idEntity *blockingEntity );
472  void Event_PartBlocked( idEntity *blockingEntity );
473  void Event_Touch( idEntity *other, trace_t *trace );
474 };
475 
476 
477 /*
478 ===============================================================================
479 
480  Special periodic movers.
481 
482 ===============================================================================
483 */
484 
485 class idMover_Periodic : public idEntity {
486 public:
488 
489  idMover_Periodic( void );
490 
491  void Spawn( void );
492 
493  void Save( idSaveGame *savefile ) const;
494  void Restore( idRestoreGame *savefile );
495 
496  virtual void Think( void );
497 
498  virtual void WriteToSnapshot( idBitMsgDelta &msg ) const;
499  virtual void ReadFromSnapshot( const idBitMsgDelta &msg );
500 
501 protected:
503  float damage;
504 
505  void Event_TeamBlocked( idEntity *blockedEntity, idEntity *blockingEntity );
506  void Event_PartBlocked( idEntity *blockingEntity );
507 };
508 
509 class idRotater : public idMover_Periodic {
510 public:
512 
513  idRotater( void );
514 
515  void Spawn( void );
516 
517  void Save( idSaveGame *savefile ) const;
518  void Restore( idRestoreGame *savefile );
519 
520 private:
522 
523  void Event_Activate( idEntity *activator );
524 };
525 
526 class idBobber : public idMover_Periodic {
527 public:
529 
530  idBobber( void );
531 
532  void Spawn( void );
533 
534 private:
535 };
536 
537 class idPendulum : public idMover_Periodic {
538 public:
540 
541  idPendulum( void );
542 
543  void Spawn( void );
544 
545 private:
546 };
547 
548 class idRiser : public idMover_Periodic {
549 public:
551 
552  idRiser( void );
553 
554  void Spawn( void );
555 
556 private:
557  void Event_Activate( idEntity *activator );
558 };
559 
560 #endif /* !__GAME_MOVER_H__ */
idMover_Periodic(void)
Definition: Mover.cpp:4310
void Event_TeamBlocked(idEntity *blockedPart, idEntity *blockingEntity)
Definition: Mover.cpp:989
void Event_SetAccellerationTime(float time)
Definition: Mover.cpp:1042
bool stopRotation
Definition: Mover.h:147
void Event_PartBlocked(idEntity *blockingEntity)
Definition: Mover.cpp:4376
virtual void WriteToSnapshot(idBitMsgDelta &msg) const
Definition: Mover.cpp:1494
void CloseAllDoors(void)
Definition: Mover.cpp:2021
int move_thread
Definition: Mover.h:137
void Event_Disable(void)
Definition: Mover.cpp:2568
int qhandle_t
Definition: Lib.h:81
idPhysics_Parametric physicsObj
Definition: Mover.h:502
void Event_StopMoving(void)
Definition: Mover.cpp:600
idMat3 localTriggerAxis
Definition: Mover.h:466
moveStage_t stage
Definition: Mover.h:100
int deceltime
Definition: Mover.h:145
bool controlsDisabled
Definition: Mover.h:248
void Spawn(void)
Definition: Mover.cpp:4591
static void GetMovedir(float dir, idVec3 &movedir)
Definition: Mover.cpp:2391
int lastFloor
Definition: Mover.h:247
void Close(void)
Definition: Mover.cpp:3554
float damage
Definition: Mover.h:334
void MatchActivateTeam(moverState_t newstate, int time)
Definition: Mover.cpp:2493
void Event_Use_BinaryMover(idEntity *activator)
Definition: Mover.cpp:2884
idEntityPtr< idEntity > splineEnt
Definition: Mover.h:149
void SetPortalState(bool open)
Definition: Mover.cpp:3102
void Event_RotateDownTo(int axis, float angle)
Definition: Mover.cpp:1203
virtual void Hide(void)
Definition: Mover.cpp:389
void Spawn()
Definition: Mover.cpp:1669
CLASS_PROTOTYPE(idMover)
idRiser(void)
Definition: Mover.cpp:4645
virtual void Show(void)
Definition: Mover.cpp:399
idRotater(void)
Definition: Mover.cpp:4424
idMat3 localTriggerAxis
Definition: Mover.h:417
idStr syncLock
Definition: Mover.h:420
void Event_StopRotating(void)
Definition: Mover.cpp:793
void Event_GotoFloor(int floor)
Definition: Mover.cpp:1893
void Restore(idRestoreGame *savefile)
Definition: Mover.cpp:4342
void Event_RemoveInitialSplineAngles(void)
Definition: Mover.cpp:1392
int pendingFloor
Definition: Mover.h:246
virtual void PreBind(void)
Definition: Mover.cpp:3400
GLint location
Definition: glext.h:3631
idEntity * GetActivator(void) const
Definition: Mover.cpp:3062
idMover_Binary * activateChain
Definition: Mover.h:327
CLASS_PROTOTYPE(idPlat)
void Event_TeamBlocked(idEntity *blockedEntity, idEntity *blockingEntity)
Definition: Mover.cpp:4275
void Event_Lock(int f)
Definition: Mover.cpp:3981
void Spawn(void)
Definition: Mover.cpp:334
qhandle_t areaPortal
Definition: Mover.h:153
void GetLocalTriggerPosition(const idClipModel *trigger)
Definition: Mover.cpp:3507
void SetMoverState(moverState_t newstate, int time)
Definition: Mover.cpp:2442
void Event_Bob(float speed, float phase, idVec3 &depth)
Definition: Mover.cpp:1293
void Event_Activate(idEntity *activator)
Definition: Mover.cpp:1458
bool noTouch
Definition: Mover.h:410
bool useSplineAngles
Definition: Mover.h:148
void Event_TeamBlocked(idEntity *blockedEntity, idEntity *blockingEntity)
Definition: Mover.cpp:3813
const idEventDef EV_PartBlocked
void Event_Touch(idEntity *other, trace_t *trace)
Definition: Mover.cpp:1704
void Use_BinaryMover(idEntity *activator)
Definition: Mover.cpp:2825
virtual void Hide(void)
Definition: Mover.cpp:3429
Definition: Mover.h:548
void Event_UpdateMove(void)
Definition: Mover.cpp:657
Definition: Mover.h:377
CLASS_PROTOTYPE(idElevator)
void Open(void)
Definition: Mover.cpp:3545
int returnFloor
Definition: Mover.h:250
void Event_SpectatorTouch(idEntity *other, trace_t *trace)
Definition: Mover.cpp:3885
float returnTime
Definition: Mover.h:249
idElevator(void)
Definition: Mover.cpp:1596
void SetPortalState(bool open)
Definition: Mover.cpp:1533
int soundLoop
Definition: Mover.h:332
idStr team
Definition: Mover.h:340
const idEventDef EV_ReachedPos
virtual void DoneRotating(void)
Definition: Mover.cpp:804
virtual void WriteToSnapshot(idBitMsgDelta &msg) const
Definition: Mover.cpp:4387
int accelTime
Definition: Mover.h:336
void Event_StartSpline(idEntity *splineEntity)
Definition: Mover.cpp:1409
void Restore(idRestoreGame *savefile)
Definition: Mover.cpp:4465
int move_thread
Definition: Mover.h:342
void Event_SpawnSoundTrigger(void)
Definition: Mover.cpp:3762
void Spawn(void)
Definition: Mover.cpp:2300
virtual void Show(void)
Definition: Mover.cpp:3468
Definition: Vector.h:316
virtual void ReadFromSnapshot(const idBitMsgDelta &msg)
Definition: Mover.cpp:1507
void Spawn(void)
Definition: Mover.cpp:3245
GLint GLint GLsizei GLsizei GLsizei depth
Definition: glext.h:2878
int normalAxisIndex
Definition: Mover.h:421
float triggersize
Definition: Mover.h:408
void SetAASAreaState(bool closed)
Definition: Mover.cpp:3419
void Event_Close(void)
Definition: Mover.cpp:3972
void SpawnPlatTrigger(idVec3 &pos)
Definition: Mover.cpp:4223
idVec3 dest_position
Definition: Mover.h:141
void SetGuiState(const char *key, const char *val) const
Definition: Mover.cpp:537
void UpdateBuddies(int val)
Definition: Mover.cpp:2786
idPlat(void)
Definition: Mover.cpp:4072
idStr door
Definition: Mover.h:210
void Event_Enable(void)
Definition: Mover.cpp:2553
float move_speed
Definition: Mover.h:143
void Event_InitGuiTargets(void)
Definition: Mover.cpp:585
void Save(idSaveGame *savefile) const
Definition: Mover.cpp:4332
void Event_TeamBlocked(idEntity *blockedEntity, idEntity *blockingEntity)
Definition: Mover.cpp:1789
int removeItem
Definition: Mover.h:419
idPendulum(void)
Definition: Mover.cpp:4583
virtual void PostBind(void)
Definition: Mover.cpp:2903
void Restore(idRestoreGame *savefile)
Definition: Mover.cpp:2229
void Event_MoveToPos(idVec3 &pos)
Definition: Mover.cpp:1092
GLuint src
Definition: glext.h:5390
void UpdateMoverSound(moverState_t state)
Definition: Mover.cpp:2420
void Event_StopSpline(void)
Definition: Mover.cpp:1448
void Use(idEntity *other, idEntity *activator)
Definition: Mover.cpp:3525
virtual void Think(void)
Definition: Mover.cpp:4165
elevatorState_t state
Definition: Mover.h:243
void Event_Reached_BinaryMover(void)
Definition: Mover.cpp:2636
CLASS_PROTOTYPE(idMover_Periodic)
void Restore(idRestoreGame *savefile)
Definition: Mover.cpp:4105
virtual void Think(void)
Definition: Mover.cpp:4353
void Event_SpawnDoorTrigger(void)
Definition: Mover.cpp:3708
void Event_InitGuiTargets(void)
Definition: Mover.cpp:2955
void Spawn(void)
Definition: Mover.cpp:4653
void FindGuiTargets(void)
Definition: Mover.cpp:526
idMover_Binary * moveMaster
Definition: Mover.h:326
virtual void PostBind(void)
Definition: Mover.cpp:4195
void Event_DisableSplineAngles(void)
Definition: Mover.cpp:1383
void Event_Touch(idEntity *other, trace_t *trace)
Definition: Mover.cpp:4260
~idPlat(void)
Definition: Mover.cpp:4083
void Think(void)
Definition: Mover.cpp:1731
virtual void Think(void)
Definition: Mover.cpp:3376
idEntityPtr< idEntity > activatedBy
Definition: Mover.h:521
void Event_MoveDir(float angle, float distance)
Definition: Mover.cpp:1101
void Event_Open(void)
Definition: Mover.cpp:3963
void Save(idSaveGame *savefile) const
Definition: Mover.cpp:2170
idCurve_Spline< idVec3 > * GetSpline(void) const
Definition: Entity.cpp:3755
virtual void Killed(idEntity *inflictor, idEntity *attacker, int damage, const idVec3 &dir, int location)
Definition: Mover.cpp:412
void Event_Rotate(idAngles &angles)
Definition: Mover.cpp:1257
void EnableProperDoors(void)
Definition: Mover.cpp:2057
void Event_ClosePortal(void)
Definition: Mover.cpp:1336
idAngles angle_delta
Definition: Mover.h:140
void Event_MoveDecelerateTo(float speed, float time)
Definition: Mover.cpp:1160
void Event_MatchActivateTeam(moverState_t newstate, int time)
Definition: Mover.cpp:2515
Definition: Lexer.h:137
void UpdateRotationSound(moveStage_t stage)
Definition: Mover.cpp:817
void Spawn(void)
Definition: Mover.cpp:4530
void Event_PostFloorArrival()
Definition: Mover.cpp:1971
idBobber(void)
Definition: Mover.cpp:4522
void Save(idSaveGame *savefile) const
Definition: Mover.cpp:3188
void SetGuiStates(const char *state)
Definition: Mover.cpp:567
void OpenInnerDoor(void)
Definition: Mover.cpp:1867
idMover_Binary * GetMoveMaster(void) const
Definition: Mover.h:311
idStr requires
Definition: Mover.h:418
void Event_Activate(idEntity *activator)
Definition: Mover.cpp:4474
Definition: Mover.h:45
idClipModel * trigger
Definition: Mover.h:413
moverState_t moverState
Definition: Mover.h:325
idDoor * companionDoor
Definition: Mover.h:422
void FindGuiTargets(void)
Definition: Mover.cpp:2913
void OpenFloorDoor(int floor)
Definition: Mover.cpp:1852
virtual void PreBind(void)
Definition: Mover.cpp:4186
void Event_OpenPortal(void)
Definition: Mover.cpp:1323
idStrList buddies
Definition: Mover.h:344
CLASS_PROTOTYPE(idPendulum)
void Event_Locked(void)
Definition: Mover.cpp:4002
int duration
Definition: Mover.h:335
const idEventDef EV_TeamBlocked
int move_time
Definition: Mover.h:144
int updateStatus
Definition: Mover.h:343
void BindTeam(idEntity *bindTo)
Definition: Mover.cpp:2526
void Event_StartOpen(void)
Definition: Mover.cpp:3683
int nextSndTriggerTime
Definition: Mover.h:415
void Event_SetMoveSpeed(float speed)
Definition: Mover.cpp:1014
moverState_t
Definition: Mover.h:280
void GetLocalTriggerPosition(const idClipModel *trigger)
Definition: Mover.cpp:4205
#define NULL
Definition: Lib.h:88
void Spawn(void)
Definition: Mover.cpp:1562
bool blocked
Definition: Mover.h:347
void Event_SetDecelSound(const char *sound)
Definition: Mover.cpp:1356
void Event_IsMoving(void)
Definition: Mover.cpp:1468
void Save(idSaveGame *savefile) const
Definition: Mover.cpp:1613
idVec3 pos1
Definition: Mover.h:323
void InitTime(idVec3 &mpos1, idVec3 &mpos2, float mtime, float maccelTime, float mdecelTime)
Definition: Mover.cpp:3005
elevatorState_t
Definition: Mover.h:237
idVec3 localTriggerOrigin
Definition: Mover.h:416
int soundPos2
Definition: Mover.h:331
CLASS_PROTOTYPE(idRotater)
void SetGuiStates(const char *state)
Definition: Mover.cpp:2806
moverCommand_t lastCommand
Definition: Mover.h:150
int soundPos1
Definition: Mover.h:328
moverDir_t
Definition: Mover.h:84
class idDoor * GetDoor(const char *name)
Definition: Mover.cpp:1942
void Save(idSaveGame *savefile) const
Definition: Mover.cpp:4456
void InitSpeed(idVec3 &mpos1, idVec3 &mpos2, float mspeed, float maccelTime, float mdecelTime)
Definition: Mover.cpp:2968
Definition: Mover.h:447
virtual void ReadFromSnapshot(const idBitMsgDelta &msg)
Definition: Mover.cpp:4397
void Event_OpenPortal(void)
Definition: Mover.cpp:2583
bool enabled
Definition: Mover.h:341
CLASS_PROTOTYPE(idRiser)
idPhysics_Parametric physicsObj
Definition: Mover.h:345
void GetLocalTriggerPosition()
void Event_ClosePortal(void)
Definition: Mover.cpp:4035
idVec3 pos2
Definition: Mover.h:324
void Event_RotateOnce(idAngles &angles)
Definition: Mover.cpp:1275
void Event_PartBlocked(idEntity *blockingEntity)
Definition: Mover.cpp:3842
int sound2to1
Definition: Mover.h:330
moveStage_t
Definition: Mover.h:67
void JoinActivateTeam(idMover_Binary *master)
Definition: Mover.cpp:2541
void SetGuiState(const char *key, const char *val) const
Definition: Mover.cpp:2924
int rotate_thread
Definition: Mover.h:138
void Save(idSaveGame *savefile) const
Definition: Mover.cpp:4094
void Event_MoveAccelerateTo(float speed, float time)
Definition: Mover.cpp:1117
void Event_SetCallback(void)
Definition: Mover.cpp:423
void DisableAllDoors(void)
Definition: Mover.cpp:2039
bool IsOpen(void)
Definition: Mover.cpp:3608
void Restore(idRestoreGame *savefile)
Definition: Mover.cpp:1639
void SetCompanion(idDoor *door)
Definition: Mover.cpp:3833
void Event_Activate(idEntity *activator)
Definition: Mover.cpp:4675
idMover_Binary * GetActivateChain(void) const
Definition: Mover.h:310
floorInfo_s * GetFloorInfo(int floor)
Definition: Mover.cpp:1879
GLubyte GLubyte b
Definition: glext.h:4662
idMover(void)
Definition: Mover.cpp:141
idVec3 move_delta
Definition: Mover.h:142
void SetBlocked(bool b)
Definition: Mover.cpp:3032
void Event_Activate(idEntity *activator)
Definition: Mover.cpp:1777
idVec3 localTriggerOrigin
Definition: Mover.h:465
virtual void BeginMove(idThread *thread=NULL)
Definition: Mover.cpp:705
void VectorForDir(float dir, idVec3 &vec)
Definition: Mover.cpp:442
Definition: Matrix.h:333
int currentFloor
Definition: Mover.h:245
idDoor(void)
Definition: Mover.cpp:3151
virtual void BeginMove(idThread *thread=NULL)
Definition: Mover.cpp:1915
void Event_SetCallback(void)
Definition: Mover.cpp:2406
void Event_SetMoveTime(float time)
Definition: Mover.cpp:1028
bool IsBlocked(void)
Definition: Mover.cpp:3053
void SpawnTrigger(const idVec3 &pos)
idPhysics_Parametric physicsObj
Definition: Mover.h:115
void Event_TeamBlocked(idEntity *blockedEntity, idEntity *blockingEntity)
Definition: Mover.cpp:4368
void Event_PartBlocked(idEntity *blockingEntity)
Definition: Mover.cpp:1000
tuple f
Definition: idal.py:89
int decelTime
Definition: Mover.h:337
idAngles dest_angles
Definition: Mover.h:139
CLASS_PROTOTYPE(idSplinePath)
void Event_ClosePortal(void)
Definition: Mover.cpp:2605
virtual void DoneMoving(void)
Definition: Mover.cpp:610
void Event_PostRestore(int start, int total, int accel, int decel, int useSplineAng)
Definition: Mover.cpp:310
void Event_ReturnToPos1(void)
Definition: Mover.cpp:2627
idVec3 pos
Definition: Mover.h:209
moveState_t move
Definition: Mover.h:132
void Event_RotateTo(idAngles &angles)
Definition: Mover.cpp:1247
const GLcharARB * name
Definition: glext.h:3629
GLsizeiptr size
Definition: glext.h:3112
idClipModel * trigger
Definition: Mover.h:464
moverCommand_t
Definition: Mover.h:74
idList< idEntityPtr< idEntity > > guiTargets
Definition: Mover.h:155
Definition: Str.h:116
void Event_Sway(float speed, float phase, idAngles &depth)
Definition: Mover.cpp:1305
int acceltime
Definition: Mover.h:146
~idDoor(void)
Definition: Mover.cpp:3174
float damage
Definition: Mover.h:151
void Event_PartBlocked(idEntity *blockingEntity)
Definition: Mover.cpp:4285
float damage
Definition: Mover.h:503
virtual void PostBind(void)
Definition: Mover.cpp:3409
void Event_RotateUpTo(int axis, float angle)
Definition: Mover.cpp:1225
void Event_FindGuiTargets(void)
Definition: Mover.cpp:558
float wait
Definition: Mover.h:333
void Save(idSaveGame *savefile) const
Definition: Mover.cpp:167
const idEventDef EV_ReachedAng
void Spawn(void)
Definition: Mover.cpp:4320
bool crusher
Definition: Mover.h:409
idList< floorInfo_s > floorInfo
Definition: Mover.h:244
void Spawn(void)
Definition: Mover.cpp:4116
idStr buddyStr
Definition: Mover.h:412
void Event_SetAccelSound(const char *sound)
Definition: Mover.cpp:1347
void Restore(idRestoreGame *savefile)
Definition: Mover.cpp:3216
rotationState_t rot
Definition: Mover.h:135
void UpdateMoveSound(moveStage_t stage)
Definition: Mover.cpp:629
void GotoPosition1(void)
Definition: Mover.cpp:2692
void Restore(idRestoreGame *savefile)
Definition: Mover.cpp:234
virtual void ReadFromSnapshot(const idBitMsgDelta &msg)
Definition: Mover.cpp:3082
qhandle_t areaPortal
Definition: Mover.h:346
int lastTouchTime
Definition: Mover.h:251
virtual void DoneMoving(void)
Definition: Mover.cpp:1992
void Event_UpdateRotation(void)
Definition: Mover.cpp:845
void Event_IsOpen(void)
Definition: Mover.cpp:3990
void MoveToPos(const idVec3 &pos)
Definition: Mover.cpp:1082
CLASS_PROTOTYPE(idBobber)
bool aas_area_closed
Definition: Mover.h:411
void Event_FindGuiTargets(void)
Definition: Mover.cpp:2946
virtual void BeginRotation(idThread *thread, bool stopwhendone)
Definition: Mover.cpp:910
void Event_Touch(idEntity *other, trace_t *trace)
Definition: Mover.cpp:3853
idList< idEntityPtr< idEntity > > guiTargets
Definition: Mover.h:351
moveStage_t stage
Definition: Mover.h:108
void Event_OpenPortal(void)
Definition: Mover.cpp:4013
void Spawn(void)
Definition: Mover.cpp:4433
void Event_IsRotating(void)
Definition: Mover.cpp:1481
Definition: List.h:84
virtual void WriteToSnapshot(idBitMsgDelta &msg) const
Definition: Mover.cpp:3071
int floor
Definition: Mover.h:211
int stateStartTime
Definition: Mover.h:339
idEntityPtr< idEntity > activatedBy
Definition: Mover.h:338
void Event_Reached_BinaryMover(void)
Definition: Mover.cpp:3784
int IsLocked(void)
Definition: Mover.cpp:3599
void CalcTriggerBounds(float size, idBounds &bounds)
Definition: Mover.cpp:3643
void GotoPosition2(void)
Definition: Mover.cpp:2740
void Event_MoveTo(idEntity *ent)
Definition: Mover.cpp:1068
void Enable(bool b)
Definition: Mover.cpp:2506
idClipModel * sndTrigger
Definition: Mover.h:414
void Event_EnableSplineAngles(void)
Definition: Mover.cpp:1374
GLuint start
Definition: glext.h:2845
void Event_Activate(idEntity *activator)
Definition: Mover.cpp:3919
void Lock(int f)
Definition: Mover.cpp:3563
void Event_SetDecelerationTime(float time)
Definition: Mover.cpp:1055
CLASS_PROTOTYPE(idMover_Binary)
CLASS_PROTOTYPE(idDoor)
int sound1to2
Definition: Mover.h:329
virtual void PreBind(void)
Definition: Mover.cpp:2893
void Event_SetMoveSound(const char *sound)
Definition: Mover.cpp:1365
virtual bool HandleSingleGuiCommand(idEntity *entityGui, idLexer *src)
Definition: Mover.cpp:1809
moverState_t GetMoverState(void) const
Definition: Mover.h:358
bool IsNoTouch(void)
Definition: Mover.cpp:3617