launcher.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #define LINECOUNT 16
  2. class idLauncher : public idMoveableItem
  3. {
  4. public:
  5. CLASS_PROTOTYPE( idLauncher );
  6. void Save( idSaveGame *savefile ) const;
  7. void Restore( idRestoreGame *savefile );
  8. void Spawn( void );
  9. virtual void Think( void );
  10. void OnFrob( idEntity* activator );
  11. void OnWheelMove(int value);
  12. void OnYaw(int value);
  13. void OnPitch(int value);
  14. void SetLaunchDir(idVec3 newdir, float newForce);
  15. void OnGet( void );
  16. private:
  17. void UpdateMultiplier();
  18. void launcherkill( void );
  19. idEntity * peakEnt;
  20. idJumpPad * jumpPad;
  21. int state;
  22. idBeam * beamStarts[LINECOUNT];
  23. idBeam * beamEnds[LINECOUNT];
  24. idVec3 lastLaunchdir;
  25. float lastForce;
  26. idVec3 launchDir;
  27. float force;
  28. idEntity * gatorEnt;
  29. idEntity * remoteEnt;
  30. idEntity * hitpointEnt;
  31. idEntity * displaymodel;
  32. idEntity * particles;
  33. int nextAimrecord;
  34. int remoteLerpStart;
  35. int remoteLerpEnd;
  36. void UpdateBeams();
  37. void UpdateRemote();
  38. idVec3 GetGatorPos();
  39. idVec3 baseGatorPos;
  40. int resettime_up;
  41. int resettime_down;
  42. int resettime_left;
  43. int resettime_right;
  44. void MoveBone(const char *bonename, idVec3 direction);
  45. int wheelValue;
  46. int wheelMovetime;
  47. int wheelMovedir;
  48. int beamUpdateTime;
  49. float remoteRaiseLerp;
  50. int lastGametime;
  51. idVec3 hitpointPos;
  52. };