PageRenderTime 31ms CodeModel.GetById 17ms RepoModel.GetById 1ms app.codeStats 0ms

/indra/llmessage/llvehicleparams.h

https://bitbucket.org/lindenlab/viewer-beta/
C++ Header | 123 lines | 64 code | 20 blank | 39 comment | 0 complexity | 13cb66e3e5bcf549839c8828a0a1d9e0 MD5 | raw file
Possible License(s): LGPL-2.1
  1. /**
  2. * @file llvehicleparams.h
  3. * @brief For parameter names that must be shared between the
  4. * scripting language and the LLVehicleAction class on the simulator.
  5. *
  6. * $LicenseInfo:firstyear=2003&license=viewerlgpl$
  7. * Second Life Viewer Source Code
  8. * Copyright (C) 2010, Linden Research, Inc.
  9. *
  10. * This library is free software; you can redistribute it and/or
  11. * modify it under the terms of the GNU Lesser General Public
  12. * License as published by the Free Software Foundation;
  13. * version 2.1 of the License only.
  14. *
  15. * This library is distributed in the hope that it will be useful,
  16. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  18. * Lesser General Public License for more details.
  19. *
  20. * You should have received a copy of the GNU Lesser General Public
  21. * License along with this library; if not, write to the Free Software
  22. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  23. *
  24. * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
  25. * $/LicenseInfo$
  26. */
  27. #ifndef LL_VEHICLE_PARAMS_H
  28. #define LL_VEHICLE_PARAMS_H
  29. /**
  30. * The idea is that the various parameters that control vehicle
  31. * behavior can be tweeked by name using general-purpose script calls.
  32. */
  33. typedef enum e_vehicle_param
  34. {
  35. VEHICLE_TYPE_NONE, // TYPE_0
  36. VEHICLE_TYPE_SLED,
  37. VEHICLE_TYPE_CAR,
  38. VEHICLE_TYPE_BOAT,
  39. VEHICLE_TYPE_AIRPLANE,
  40. VEHICLE_TYPE_BALLOON, // TYPE_5
  41. VEHICLE_TYPE_6,
  42. VEHICLE_TYPE_7,
  43. VEHICLE_TYPE_8,
  44. VEHICLE_TYPE_9,
  45. VEHICLE_TYPE_10,
  46. VEHICLE_TYPE_11,
  47. VEHICLE_TYPE_12,
  48. VEHICLE_TYPE_13,
  49. VEHICLE_TYPE_14,
  50. VEHICLE_TYPE_15,
  51. // vector parameters
  52. VEHICLE_LINEAR_FRICTION_TIMESCALE,
  53. VEHICLE_ANGULAR_FRICTION_TIMESCALE,
  54. VEHICLE_LINEAR_MOTOR_DIRECTION,
  55. VEHICLE_ANGULAR_MOTOR_DIRECTION,
  56. VEHICLE_LINEAR_MOTOR_OFFSET,
  57. VEHICLE_VECTOR_PARAM_5,
  58. VEHICLE_VECTOR_PARAM_6,
  59. VEHICLE_VECTOR_PARAM_7,
  60. // floating point parameters
  61. VEHICLE_HOVER_HEIGHT,
  62. VEHICLE_HOVER_EFFICIENCY,
  63. VEHICLE_HOVER_TIMESCALE,
  64. VEHICLE_BUOYANCY,
  65. VEHICLE_LINEAR_DEFLECTION_EFFICIENCY,
  66. VEHICLE_LINEAR_DEFLECTION_TIMESCALE,
  67. VEHICLE_LINEAR_MOTOR_TIMESCALE,
  68. VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE,
  69. VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY,
  70. VEHICLE_ANGULAR_DEFLECTION_TIMESCALE,
  71. VEHICLE_ANGULAR_MOTOR_TIMESCALE,
  72. VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE,
  73. VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY,
  74. VEHICLE_VERTICAL_ATTRACTION_TIMESCALE,
  75. VEHICLE_BANKING_EFFICIENCY,
  76. VEHICLE_BANKING_MIX,
  77. VEHICLE_BANKING_TIMESCALE,
  78. VEHICLE_FLOAT_PARAM_17,
  79. VEHICLE_FLOAT_PARAM_18,
  80. VEHICLE_FLOAT_PARAM_19,
  81. // rotation parameters
  82. VEHICLE_REFERENCE_FRAME,
  83. VEHICLE_ROTATION_PARAM_1,
  84. VEHICLE_ROTATION_PARAM_2,
  85. VEHICLE_ROTATION_PARAM_3,
  86. } EVehicleParam;
  87. // some flags that effect how the vehicle moves
  88. // zeros world-z component of linear deflection
  89. const U32 VEHICLE_FLAG_NO_DEFLECTION_UP = 1 << 0;
  90. // spring-loads roll only
  91. const U32 VEHICLE_FLAG_LIMIT_ROLL_ONLY = 1 << 1;
  92. // hover flags
  93. const U32 VEHICLE_FLAG_HOVER_WATER_ONLY = 1 << 2;
  94. const U32 VEHICLE_FLAG_HOVER_TERRAIN_ONLY = 1 << 3;
  95. const U32 VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT = 1 << 4;
  96. const U32 VEHICLE_FLAG_HOVER_UP_ONLY = 1 << 5;
  97. // caps world-z component of linear motor to prevent
  98. // climbing up into the sky
  99. const U32 VEHICLE_FLAG_LIMIT_MOTOR_UP = 1 << 6;
  100. const U32 VEHICLE_FLAG_MOUSELOOK_STEER = 1 << 7;
  101. const U32 VEHICLE_FLAG_MOUSELOOK_BANK = 1 << 8;
  102. const U32 VEHICLE_FLAG_CAMERA_DECOUPLED = 1 << 9;
  103. #endif