LSL_Constants.cs 50 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053
  1. /*
  2. * Copyright (c) Contributors, http://opensimulator.org/
  3. * See CONTRIBUTORS.TXT for a full list of copyright holders.
  4. *
  5. * Redistribution and use in source and binary forms, with or without
  6. * modification, are permitted provided that the following conditions are met:
  7. * * Redistributions of source code must retain the above copyright
  8. * notice, this list of conditions and the following disclaimer.
  9. * * Redistributions in binary form must reproduce the above copyright
  10. * notice, this list of conditions and the following disclaimer in the
  11. * documentation and/or other materials provided with the distribution.
  12. * * Neither the name of the OpenSimulator Project nor the
  13. * names of its contributors may be used to endorse or promote products
  14. * derived from this software without specific prior written permission.
  15. *
  16. * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
  17. * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  18. * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  19. * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
  20. * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  21. * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  22. * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  23. * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  24. * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  25. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  26. */
  27. using System;
  28. using vector = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3;
  29. using rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion;
  30. using LSLInteger = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger;
  31. namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
  32. {
  33. public partial class ScriptBaseClass
  34. {
  35. // SCRIPTS CONSTANTS
  36. public static readonly LSLInteger OS_APIVERSION = 23;
  37. public static readonly LSLInteger TRUE = 1;
  38. public static readonly LSLInteger FALSE = 0;
  39. public const int STATUS_PHYSICS = 1;
  40. public const int STATUS_ROTATE_X = 2;
  41. public const int STATUS_ROTATE_Y = 4;
  42. public const int STATUS_ROTATE_Z = 8;
  43. public const int STATUS_PHANTOM = 16;
  44. public const int STATUS_SANDBOX = 32;
  45. public const int STATUS_BLOCK_GRAB = 64;
  46. public const int STATUS_DIE_AT_EDGE = 128;
  47. public const int STATUS_RETURN_AT_EDGE = 256;
  48. public const int STATUS_CAST_SHADOWS = 512;
  49. public const int STATUS_BLOCK_GRAB_OBJECT = 1024;
  50. public const int AGENT = 1;
  51. public const int AGENT_BY_LEGACY_NAME = 1;
  52. public const int AGENT_BY_USERNAME = 0x10;
  53. public const int NPC = 0x20;
  54. //ApiDesc Objects running a script or physically moving
  55. public const int ACTIVE = 2;
  56. public const int PASSIVE = 4;
  57. public const int SCRIPTED = 8;
  58. public const int CONTROL_FWD = 1;
  59. public const int CONTROL_BACK = 2;
  60. public const int CONTROL_LEFT = 4;
  61. public const int CONTROL_RIGHT = 8;
  62. public const int CONTROL_UP = 16;
  63. public const int CONTROL_DOWN = 32;
  64. public const int CONTROL_ROT_LEFT = 256;
  65. public const int CONTROL_ROT_RIGHT = 512;
  66. public const int CONTROL_LBUTTON = 268435456;
  67. public const int CONTROL_ML_LBUTTON = 1073741824;
  68. //Permissions
  69. public const int PERMISSION_DEBIT = 0x02;
  70. public const int PERMISSION_TAKE_CONTROLS = 0x04;
  71. public const int PERMISSION_REMAP_CONTROLS = 0x08;
  72. public const int PERMISSION_TRIGGER_ANIMATION = 0x010;
  73. public const int PERMISSION_ATTACH = 0x20;
  74. public const int PERMISSION_RELEASE_OWNERSHIP = 0x40;
  75. public const int PERMISSION_CHANGE_LINKS = 0x80;
  76. public const int PERMISSION_CHANGE_JOINTS = 0x100;
  77. public const int PERMISSION_CHANGE_PERMISSIONS = 0x200;
  78. public const int PERMISSION_TRACK_CAMERA = 0x400;
  79. public const int PERMISSION_CONTROL_CAMERA = 0x800;
  80. public const int PERMISSION_TELEPORT = 0x1000;
  81. public const int PERMISSION_SILENT_ESTATE_MANAGEMENT = 0x4000;
  82. public const int PERMISSION_OVERRIDE_ANIMATIONS = 0x8000;
  83. public const int PERMISSION_RETURN_OBJECTS = 0x10000;
  84. public const int AGENT_FLYING = 0x1;
  85. //ApiDesc The agent has attachments
  86. public const int AGENT_ATTACHMENTS = 0x2;
  87. //ApiDesc The agent has scripted attachments
  88. public const int AGENT_SCRIPTED = 0x4;
  89. public const int AGENT_MOUSELOOK = 0x8;
  90. public const int AGENT_SITTING = 0x10;
  91. public const int AGENT_ON_OBJECT = 0x20;
  92. public const int AGENT_AWAY = 0x40;
  93. public const int AGENT_WALKING = 0x80;
  94. public const int AGENT_IN_AIR = 0x100;
  95. public const int AGENT_TYPING = 0x200;
  96. public const int AGENT_CROUCHING = 0x400;
  97. public const int AGENT_BUSY = 0x800;
  98. public const int AGENT_ALWAYS_RUN = 0x1000;
  99. public const int AGENT_AUTOPILOT = 0x2000;
  100. public const int AGENT_MALE = 0x40000000;
  101. //Particle Systems
  102. public const int PSYS_PART_INTERP_COLOR_MASK = 1;
  103. public const int PSYS_PART_INTERP_SCALE_MASK = 2;
  104. public const int PSYS_PART_BOUNCE_MASK = 4;
  105. public const int PSYS_PART_WIND_MASK = 8;
  106. public const int PSYS_PART_FOLLOW_SRC_MASK = 16;
  107. public const int PSYS_PART_FOLLOW_VELOCITY_MASK = 32;
  108. public const int PSYS_PART_TARGET_POS_MASK = 64;
  109. public const int PSYS_PART_TARGET_LINEAR_MASK = 128;
  110. public const int PSYS_PART_EMISSIVE_MASK = 256;
  111. public const int PSYS_PART_RIBBON_MASK = 1024;
  112. public const int PSYS_PART_FLAGS = 0;
  113. public const int PSYS_PART_START_COLOR = 1;
  114. public const int PSYS_PART_START_ALPHA = 2;
  115. public const int PSYS_PART_END_COLOR = 3;
  116. public const int PSYS_PART_END_ALPHA = 4;
  117. public const int PSYS_PART_START_SCALE = 5;
  118. public const int PSYS_PART_END_SCALE = 6;
  119. public const int PSYS_PART_MAX_AGE = 7;
  120. public const int PSYS_SRC_ACCEL = 8;
  121. public const int PSYS_SRC_PATTERN = 9;
  122. public const int PSYS_SRC_INNERANGLE = 10;
  123. public const int PSYS_SRC_OUTERANGLE = 11;
  124. public const int PSYS_SRC_TEXTURE = 12;
  125. public const int PSYS_SRC_BURST_RATE = 13;
  126. public const int PSYS_SRC_BURST_PART_COUNT = 15;
  127. public const int PSYS_SRC_BURST_RADIUS = 16;
  128. public const int PSYS_SRC_BURST_SPEED_MIN = 17;
  129. public const int PSYS_SRC_BURST_SPEED_MAX = 18;
  130. public const int PSYS_SRC_MAX_AGE = 19;
  131. public const int PSYS_SRC_TARGET_KEY = 20;
  132. public const int PSYS_SRC_OMEGA = 21;
  133. public const int PSYS_SRC_ANGLE_BEGIN = 22;
  134. public const int PSYS_SRC_ANGLE_END = 23;
  135. public const int PSYS_PART_BLEND_FUNC_SOURCE = 24;
  136. public const int PSYS_PART_BLEND_FUNC_DEST = 25;
  137. public const int PSYS_PART_START_GLOW = 26;
  138. public const int PSYS_PART_END_GLOW = 27;
  139. public const int PSYS_PART_BF_ONE = 0;
  140. public const int PSYS_PART_BF_ZERO = 1;
  141. public const int PSYS_PART_BF_DEST_COLOR = 2;
  142. public const int PSYS_PART_BF_SOURCE_COLOR = 3;
  143. public const int PSYS_PART_BF_ONE_MINUS_DEST_COLOR = 4;
  144. public const int PSYS_PART_BF_ONE_MINUS_SOURCE_COLOR = 5;
  145. public const int PSYS_PART_BF_SOURCE_ALPHA = 7;
  146. public const int PSYS_PART_BF_ONE_MINUS_SOURCE_ALPHA = 9;
  147. public const int PSYS_SRC_PATTERN_DROP = 1;
  148. public const int PSYS_SRC_PATTERN_EXPLODE = 2;
  149. public const int PSYS_SRC_PATTERN_ANGLE = 4;
  150. public const int PSYS_SRC_PATTERN_ANGLE_CONE = 8;
  151. public const int PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY = 16;
  152. public const int VEHICLE_TYPE_NONE = 0;
  153. public const int VEHICLE_TYPE_SLED = 1;
  154. public const int VEHICLE_TYPE_CAR = 2;
  155. public const int VEHICLE_TYPE_BOAT = 3;
  156. public const int VEHICLE_TYPE_AIRPLANE = 4;
  157. public const int VEHICLE_TYPE_BALLOON = 5;
  158. public const int VEHICLE_LINEAR_FRICTION_TIMESCALE = 16;
  159. public const int VEHICLE_ANGULAR_FRICTION_TIMESCALE = 17;
  160. public const int VEHICLE_LINEAR_MOTOR_DIRECTION = 18;
  161. public const int VEHICLE_LINEAR_MOTOR_OFFSET = 20;
  162. public const int VEHICLE_ANGULAR_MOTOR_DIRECTION = 19;
  163. public const int VEHICLE_HOVER_HEIGHT = 24;
  164. public const int VEHICLE_HOVER_EFFICIENCY = 25;
  165. public const int VEHICLE_HOVER_TIMESCALE = 26;
  166. public const int VEHICLE_BUOYANCY = 27;
  167. public const int VEHICLE_LINEAR_DEFLECTION_EFFICIENCY = 28;
  168. public const int VEHICLE_LINEAR_DEFLECTION_TIMESCALE = 29;
  169. public const int VEHICLE_LINEAR_MOTOR_TIMESCALE = 30;
  170. public const int VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE = 31;
  171. public const int VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY = 32;
  172. public const int VEHICLE_ANGULAR_DEFLECTION_TIMESCALE = 33;
  173. public const int VEHICLE_ANGULAR_MOTOR_TIMESCALE = 34;
  174. public const int VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE = 35;
  175. public const int VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY = 36;
  176. public const int VEHICLE_VERTICAL_ATTRACTION_TIMESCALE = 37;
  177. public const int VEHICLE_BANKING_EFFICIENCY = 38;
  178. public const int VEHICLE_BANKING_MIX = 39;
  179. public const int VEHICLE_BANKING_TIMESCALE = 40;
  180. public const int VEHICLE_REFERENCE_FRAME = 44;
  181. public const int VEHICLE_RANGE_BLOCK = 45;
  182. public const int VEHICLE_ROLL_FRAME = 46;
  183. public const int VEHICLE_FLAG_NO_DEFLECTION_UP = 1;
  184. public const int VEHICLE_FLAG_NO_FLY_UP = 1; //legacy
  185. public const int VEHICLE_FLAG_LIMIT_ROLL_ONLY = 2;
  186. public const int VEHICLE_FLAG_HOVER_WATER_ONLY = 4;
  187. public const int VEHICLE_FLAG_HOVER_TERRAIN_ONLY = 8;
  188. public const int VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT = 16;
  189. public const int VEHICLE_FLAG_HOVER_UP_ONLY = 32;
  190. public const int VEHICLE_FLAG_LIMIT_MOTOR_UP = 64;
  191. public const int VEHICLE_FLAG_MOUSELOOK_STEER = 128;
  192. public const int VEHICLE_FLAG_MOUSELOOK_BANK = 256;
  193. public const int VEHICLE_FLAG_CAMERA_DECOUPLED = 512;
  194. public const int VEHICLE_FLAG_NO_X = 1024;
  195. public const int VEHICLE_FLAG_NO_Y = 2048;
  196. public const int VEHICLE_FLAG_NO_Z = 4096;
  197. public const int VEHICLE_FLAG_LOCK_HOVER_HEIGHT = 8192;
  198. public const int VEHICLE_FLAG_NO_DEFLECTION = 16392;
  199. public const int VEHICLE_FLAG_LOCK_ROTATION = 32784;
  200. public const int INVENTORY_ALL = -1;
  201. public const int INVENTORY_NONE = -1;
  202. public const int INVENTORY_TEXTURE = 0;
  203. public const int INVENTORY_SOUND = 1;
  204. public const int INVENTORY_LANDMARK = 3;
  205. public const int INVENTORY_CLOTHING = 5;
  206. public const int INVENTORY_OBJECT = 6;
  207. public const int INVENTORY_NOTECARD = 7;
  208. public const int INVENTORY_SCRIPT = 10;
  209. public const int INVENTORY_BODYPART = 13;
  210. public const int INVENTORY_ANIMATION = 20;
  211. public const int INVENTORY_GESTURE = 21;
  212. public const int INVENTORY_SETTING = 56;
  213. public const int INVENTORY_MATERIAL = 57;
  214. public const int ATTACH_CHEST = 1;
  215. public const int ATTACH_HEAD = 2;
  216. public const int ATTACH_LSHOULDER = 3;
  217. public const int ATTACH_RSHOULDER = 4;
  218. public const int ATTACH_LHAND = 5;
  219. public const int ATTACH_RHAND = 6;
  220. public const int ATTACH_LFOOT = 7;
  221. public const int ATTACH_RFOOT = 8;
  222. public const int ATTACH_BACK = 9;
  223. public const int ATTACH_PELVIS = 10;
  224. public const int ATTACH_MOUTH = 11;
  225. public const int ATTACH_CHIN = 12;
  226. public const int ATTACH_LEAR = 13;
  227. public const int ATTACH_REAR = 14;
  228. public const int ATTACH_LEYE = 15;
  229. public const int ATTACH_REYE = 16;
  230. public const int ATTACH_NOSE = 17;
  231. public const int ATTACH_RUARM = 18;
  232. public const int ATTACH_RLARM = 19;
  233. public const int ATTACH_LUARM = 20;
  234. public const int ATTACH_LLARM = 21;
  235. public const int ATTACH_RHIP = 22;
  236. public const int ATTACH_RULEG = 23;
  237. public const int ATTACH_RLLEG = 24;
  238. public const int ATTACH_LHIP = 25;
  239. public const int ATTACH_LULEG = 26;
  240. public const int ATTACH_LLLEG = 27;
  241. public const int ATTACH_BELLY = 28;
  242. public const int ATTACH_RPEC = 29;
  243. public const int ATTACH_LPEC = 30;
  244. public const int ATTACH_LEFT_PEC = 29; // Same value as ATTACH_RPEC, see https://jira.secondlife.com/browse/SVC-580
  245. public const int ATTACH_RIGHT_PEC = 30; // Same value as ATTACH_LPEC, see https://jira.secondlife.com/browse/SVC-580
  246. public const int ATTACH_HUD_CENTER_2 = 31;
  247. public const int ATTACH_HUD_TOP_RIGHT = 32;
  248. public const int ATTACH_HUD_TOP_CENTER = 33;
  249. public const int ATTACH_HUD_TOP_LEFT = 34;
  250. public const int ATTACH_HUD_CENTER_1 = 35;
  251. public const int ATTACH_HUD_BOTTOM_LEFT = 36;
  252. public const int ATTACH_HUD_BOTTOM = 37;
  253. public const int ATTACH_HUD_BOTTOM_RIGHT = 38;
  254. public const int ATTACH_NECK = 39;
  255. public const int ATTACH_AVATAR_CENTER = 40;
  256. public const int ATTACH_LHAND_RING1 = 41;
  257. public const int ATTACH_RHAND_RING1 = 42;
  258. public const int ATTACH_TAIL_BASE = 43;
  259. public const int ATTACH_TAIL_TIP = 44;
  260. public const int ATTACH_LWING = 45;
  261. public const int ATTACH_RWING = 46;
  262. public const int ATTACH_FACE_JAW = 47;
  263. public const int ATTACH_FACE_LEAR = 48;
  264. public const int ATTACH_FACE_REAR = 49;
  265. public const int ATTACH_FACE_LEYE = 50;
  266. public const int ATTACH_FACE_REYE = 51;
  267. public const int ATTACH_FACE_TONGUE = 52;
  268. public const int ATTACH_GROIN = 53;
  269. public const int ATTACH_HIND_LFOOT = 54;
  270. public const int ATTACH_HIND_RFOOT = 55;
  271. #region osMessageAttachments constants
  272. /// <summary>
  273. /// Instructs osMessageAttachements to send the message to attachments
  274. /// on every point.
  275. /// Note that is to be present on selected attachment points list, not options
  276. /// </summary>
  277. /// <remarks>
  278. /// when combined with OS_ATTACH_MSG_INVERT_POINTS, will prevent the
  279. /// message from being sent.
  280. /// if combined with OS_ATTACH_MSG_OBJECT_CREATOR or
  281. /// OS_ATTACH_MSG_SCRIPT_CREATOR, could result in no message being
  282. /// sent- this is expected behaviour.
  283. /// </remarks>
  284. public const int OS_ATTACH_MSG_ALL = -65535;
  285. /// <summary>
  286. /// Instructs osMessageAttachements to invert how the attachment points
  287. /// list should be treated (e.g. go from inclusive operation to
  288. /// exclusive operation).
  289. /// </summary>
  290. /// <remarks>
  291. /// This might be used if you want to deliver a message to one set of
  292. /// attachments and a different message to everything else. With
  293. /// this flag, you only need to build one explicit list for both calls.
  294. /// </remarks>
  295. public const int OS_ATTACH_MSG_INVERT_POINTS = 1;
  296. /// <summary>
  297. /// Instructs osMessageAttachments to only send the message to
  298. /// attachments with a CreatorID that matches the host object CreatorID
  299. /// </summary>
  300. /// <remarks>
  301. /// This would be used if distributed in an object vendor/updater server.
  302. /// </remarks>
  303. public const int OS_ATTACH_MSG_OBJECT_CREATOR = 2;
  304. /// <summary>
  305. /// Instructs osMessageAttachments to only send the message to
  306. /// attachments with a CreatorID that matches the sending script CreatorID
  307. /// </summary>
  308. /// <remarks>
  309. /// This might be used if the script is distributed independently of a
  310. /// containing object.
  311. /// </remarks>
  312. public const int OS_ATTACH_MSG_SCRIPT_CREATOR = 4;
  313. #endregion
  314. public const int LAND_LEVEL = 0;
  315. public const int LAND_RAISE = 1;
  316. public const int LAND_LOWER = 2;
  317. public const int LAND_SMOOTH = 3;
  318. public const int LAND_NOISE = 4;
  319. public const int LAND_REVERT = 5;
  320. public const int LAND_SMALL_BRUSH = 1;
  321. public const int LAND_MEDIUM_BRUSH = 2;
  322. public const int LAND_LARGE_BRUSH = 3;
  323. //Agent Dataserver
  324. public const int DATA_ONLINE = 1;
  325. public const int DATA_NAME = 2;
  326. public const int DATA_BORN = 3;
  327. public const int DATA_RATING = 4;
  328. public const int DATA_SIM_POS = 5;
  329. public const int DATA_SIM_STATUS = 6;
  330. public const int DATA_SIM_RATING = 7;
  331. public const int DATA_PAYINFO = 8;
  332. public const int DATA_SIM_RELEASE = 128;
  333. public const int ANIM_ON = 1;
  334. public const int LOOP = 2;
  335. public const int REVERSE = 4;
  336. public const int PING_PONG = 8;
  337. public const int SMOOTH = 16;
  338. public const int ROTATE = 32;
  339. public const int SCALE = 64;
  340. public const int ALL_SIDES = -1;
  341. // LINK flags
  342. public const int LINK_SET = -1;
  343. public const int LINK_ROOT = 1;
  344. public const int LINK_ALL_OTHERS = -2;
  345. public const int LINK_ALL_CHILDREN = -3;
  346. public const int LINK_THIS = -4;
  347. public const int CHANGED_INVENTORY = 1;
  348. public const int CHANGED_COLOR = 2;
  349. public const int CHANGED_SHAPE = 4;
  350. public const int CHANGED_SCALE = 8;
  351. public const int CHANGED_TEXTURE = 16;
  352. public const int CHANGED_LINK = 32;
  353. public const int CHANGED_ALLOWED_DROP = 64;
  354. public const int CHANGED_OWNER = 128;
  355. public const int CHANGED_REGION = 256;
  356. public const int CHANGED_TELEPORT = 512;
  357. public const int CHANGED_REGION_RESTART = 1024;
  358. public const int CHANGED_REGION_START = 1024; //LL Changed the constant from CHANGED_REGION_RESTART
  359. public const int CHANGED_MEDIA = 2048;
  360. public const int CHANGED_RENDER_MATERIAL = 0x1000; //4096
  361. //ApiDesc opensim specific
  362. public const int CHANGED_ANIMATION = 16384;
  363. //ApiDesc opensim specific
  364. public const int CHANGED_POSITION = 32768;
  365. public const int TYPE_INVALID = 0;
  366. public const int TYPE_INTEGER = 1;
  367. public const int TYPE_FLOAT = 2;
  368. public const int TYPE_STRING = 3;
  369. public const int TYPE_KEY = 4;
  370. public const int TYPE_VECTOR = 5;
  371. public const int TYPE_ROTATION = 6;
  372. //XML RPC Remote Data Channel
  373. public const int REMOTE_DATA_CHANNEL = 1;
  374. public const int REMOTE_DATA_REQUEST = 2;
  375. public const int REMOTE_DATA_REPLY = 3;
  376. //llHTTPRequest
  377. public const int HTTP_METHOD = 0;
  378. public const int HTTP_MIMETYPE = 1;
  379. public const int HTTP_BODY_MAXLENGTH = 2;
  380. public const int HTTP_VERIFY_CERT = 3;
  381. public const int HTTP_VERBOSE_THROTTLE = 4;
  382. public const int HTTP_CUSTOM_HEADER = 5;
  383. public const int HTTP_PRAGMA_NO_CACHE = 6;
  384. // llSetContentType
  385. public const int CONTENT_TYPE_TEXT = 0; //text/plain
  386. public const int CONTENT_TYPE_HTML = 1; //text/html
  387. public const int CONTENT_TYPE_XML = 2; //application/xml
  388. public const int CONTENT_TYPE_XHTML = 3; //application/xhtml+xml
  389. public const int CONTENT_TYPE_ATOM = 4; //application/atom+xml
  390. public const int CONTENT_TYPE_JSON = 5; //application/json
  391. public const int CONTENT_TYPE_LLSD = 6; //application/llsd+xml
  392. public const int CONTENT_TYPE_FORM = 7; //application/x-www-form-urlencoded
  393. public const int CONTENT_TYPE_RSS = 8; //application/rss+xml
  394. //parameters comand flags
  395. public const int PRIM_MATERIAL = 2;
  396. public const int PRIM_PHYSICS = 3;
  397. public const int PRIM_TEMP_ON_REZ = 4;
  398. public const int PRIM_PHANTOM = 5;
  399. public const int PRIM_POSITION = 6;
  400. public const int PRIM_SIZE = 7;
  401. public const int PRIM_ROTATION = 8;
  402. public const int PRIM_TYPE = 9;
  403. // gap 10-16
  404. public const int PRIM_TEXTURE = 17;
  405. public const int PRIM_COLOR = 18;
  406. public const int PRIM_BUMP_SHINY = 19;
  407. public const int PRIM_FULLBRIGHT = 20;
  408. public const int PRIM_FLEXIBLE = 21;
  409. public const int PRIM_TEXGEN = 22;
  410. public const int PRIM_POINT_LIGHT = 23;
  411. //ApiDesc not supported
  412. public const int PRIM_CAST_SHADOWS = 24; // Not implemented, here for completeness sake
  413. public const int PRIM_GLOW = 25;
  414. public const int PRIM_TEXT = 26;
  415. public const int PRIM_NAME = 27;
  416. public const int PRIM_DESC = 28;
  417. public const int PRIM_ROT_LOCAL = 29;
  418. public const int PRIM_PHYSICS_SHAPE_TYPE = 30;
  419. public const int PRIM_PHYSICS_MATERIAL = 31; // apparently not on SL wiki
  420. public const int PRIM_OMEGA = 32;
  421. public const int PRIM_POS_LOCAL = 33;
  422. public const int PRIM_LINK_TARGET = 34;
  423. public const int PRIM_SLICE = 35;
  424. public const int PRIM_SPECULAR = 36;
  425. public const int PRIM_NORMAL = 37;
  426. public const int PRIM_ALPHA_MODE = 38;
  427. //ApiDesc not supported
  428. public const int PRIM_ALLOW_UNSIT = 39; // experiences related. unsupported
  429. //ApiDesc not supported
  430. public const int PRIM_SCRIPTED_SIT_ONLY = 40; // experiences related. unsupported
  431. public const int PRIM_SIT_TARGET = 41;
  432. public const int PRIM_PROJECTOR = 42;
  433. public const int PRIM_REFLECTION_PROBE = 44;
  434. public const int PRIM_GLTF_NORMAL = 45;
  435. public const int PRIM_GLTF_EMISSIVE = 46;
  436. public const int PRIM_GLTF_METALLIC_ROUGHNESS = 47;
  437. public const int PRIM_GLTF_BASE_COLOR = 48;
  438. public const int PRIM_RENDER_MATERIAL = 49;
  439. // parameters
  440. public const int PRIM_ALPHA_MODE_NONE = 0;
  441. public const int PRIM_ALPHA_MODE_BLEND = 1;
  442. public const int PRIM_ALPHA_MODE_MASK = 2;
  443. public const int PRIM_ALPHA_MODE_EMISSIVE = 3;
  444. public const int PRIM_TEXGEN_DEFAULT = 0;
  445. public const int PRIM_TEXGEN_PLANAR = 1;
  446. public const int PRIM_TYPE_BOX = 0;
  447. public const int PRIM_TYPE_CYLINDER = 1;
  448. public const int PRIM_TYPE_PRISM = 2;
  449. public const int PRIM_TYPE_SPHERE = 3;
  450. public const int PRIM_TYPE_TORUS = 4;
  451. public const int PRIM_TYPE_TUBE = 5;
  452. public const int PRIM_TYPE_RING = 6;
  453. public const int PRIM_TYPE_SCULPT = 7;
  454. public const int PRIM_HOLE_DEFAULT = 0;
  455. public const int PRIM_HOLE_CIRCLE = 16;
  456. public const int PRIM_HOLE_SQUARE = 32;
  457. public const int PRIM_HOLE_TRIANGLE = 48;
  458. public const int PRIM_MATERIAL_STONE = 0;
  459. public const int PRIM_MATERIAL_METAL = 1;
  460. public const int PRIM_MATERIAL_GLASS = 2;
  461. public const int PRIM_MATERIAL_WOOD = 3;
  462. public const int PRIM_MATERIAL_FLESH = 4;
  463. public const int PRIM_MATERIAL_PLASTIC = 5;
  464. public const int PRIM_MATERIAL_RUBBER = 6;
  465. public const int PRIM_MATERIAL_LIGHT = 7;
  466. public const int PRIM_SHINY_NONE = 0;
  467. public const int PRIM_SHINY_LOW = 1;
  468. public const int PRIM_SHINY_MEDIUM = 2;
  469. public const int PRIM_SHINY_HIGH = 3;
  470. public const int PRIM_BUMP_NONE = 0;
  471. public const int PRIM_BUMP_BRIGHT = 1;
  472. public const int PRIM_BUMP_DARK = 2;
  473. public const int PRIM_BUMP_WOOD = 3;
  474. public const int PRIM_BUMP_BARK = 4;
  475. public const int PRIM_BUMP_BRICKS = 5;
  476. public const int PRIM_BUMP_CHECKER = 6;
  477. public const int PRIM_BUMP_CONCRETE = 7;
  478. public const int PRIM_BUMP_TILE = 8;
  479. public const int PRIM_BUMP_STONE = 9;
  480. public const int PRIM_BUMP_DISKS = 10;
  481. public const int PRIM_BUMP_GRAVEL = 11;
  482. public const int PRIM_BUMP_BLOBS = 12;
  483. public const int PRIM_BUMP_SIDING = 13;
  484. public const int PRIM_BUMP_LARGETILE = 14;
  485. public const int PRIM_BUMP_STUCCO = 15;
  486. public const int PRIM_BUMP_SUCTION = 16;
  487. public const int PRIM_BUMP_WEAVE = 17;
  488. public const int PRIM_SCULPT_TYPE_SPHERE = 1;
  489. public const int PRIM_SCULPT_TYPE_TORUS = 2;
  490. public const int PRIM_SCULPT_TYPE_PLANE = 3;
  491. public const int PRIM_SCULPT_TYPE_CYLINDER = 4;
  492. public const int PRIM_SCULPT_TYPE_MESH = 5;
  493. public const int PRIM_SCULPT_FLAG_ANIMESH = 0x20;
  494. public const int PRIM_SCULPT_FLAG_INVERT = 0x40;
  495. public const int PRIM_SCULPT_FLAG_MIRROR = 0x80;
  496. //ApiDesc Auxiliar to clear flags keeping scultp type
  497. public const int PRIM_SCULPT_TYPE_MASK = 0x07; // auxiliar mask
  498. public const int PRIM_PHYSICS_SHAPE_PRIM = 0;
  499. public const int PRIM_PHYSICS_SHAPE_NONE = 1;
  500. public const int PRIM_PHYSICS_SHAPE_CONVEX = 2;
  501. // PRIM_REFLECTION_PROBE flags
  502. public const int PRIM_REFLECTION_PROBE_BOX = 1; // 1
  503. public const int PRIM_REFLECTION_PROBE_DYNAMIC = 2; // 2
  504. public const int PRIM_REFLECTION_PROBE_MIRROR = 4; // 2
  505. public const int PROFILE_NONE = 0;
  506. public const int PROFILE_SCRIPT_MEMORY = 1;
  507. public const int MASK_BASE = 0;
  508. public const int MASK_OWNER = 1;
  509. public const int MASK_GROUP = 2;
  510. public const int MASK_EVERYONE = 3;
  511. public const int MASK_NEXT = 4;
  512. public const int PERM_TRANSFER = 0x2000;
  513. public const int PERM_MODIFY = 0x4000;
  514. public const int PERM_COPY = 0x8000;
  515. public const int PERM_MOVE = 0x80000;
  516. public const int PERM_ALL = 0x7fffffff;
  517. public const int PARCEL_MEDIA_COMMAND_STOP = 0;
  518. public const int PARCEL_MEDIA_COMMAND_PAUSE = 1;
  519. public const int PARCEL_MEDIA_COMMAND_PLAY = 2;
  520. public const int PARCEL_MEDIA_COMMAND_LOOP = 3;
  521. public const int PARCEL_MEDIA_COMMAND_TEXTURE = 4;
  522. public const int PARCEL_MEDIA_COMMAND_URL = 5;
  523. public const int PARCEL_MEDIA_COMMAND_TIME = 6;
  524. public const int PARCEL_MEDIA_COMMAND_AGENT = 7;
  525. public const int PARCEL_MEDIA_COMMAND_UNLOAD = 8;
  526. public const int PARCEL_MEDIA_COMMAND_AUTO_ALIGN = 9;
  527. public const int PARCEL_MEDIA_COMMAND_TYPE = 10;
  528. public const int PARCEL_MEDIA_COMMAND_SIZE = 11;
  529. public const int PARCEL_MEDIA_COMMAND_DESC = 12;
  530. public const int PARCEL_FLAG_ALLOW_FLY = 0x1; // parcel allows flying
  531. public const int PARCEL_FLAG_ALLOW_SCRIPTS = 0x2; // parcel allows outside scripts
  532. public const int PARCEL_FLAG_ALLOW_LANDMARK = 0x8; // parcel allows landmarks to be created
  533. public const int PARCEL_FLAG_ALLOW_TERRAFORM = 0x10; // parcel allows anyone to terraform the land
  534. public const int PARCEL_FLAG_ALLOW_DAMAGE = 0x20; // parcel allows damage
  535. public const int PARCEL_FLAG_ALLOW_CREATE_OBJECTS = 0x40; // parcel allows anyone to create objects
  536. public const int PARCEL_FLAG_USE_ACCESS_GROUP = 0x100; // parcel limits access to a group
  537. public const int PARCEL_FLAG_USE_ACCESS_LIST = 0x200; // parcel limits access to a list of residents
  538. public const int PARCEL_FLAG_USE_BAN_LIST = 0x400; // parcel uses a ban list, including restricting access based on payment info
  539. public const int PARCEL_FLAG_USE_LAND_PASS_LIST = 0x800; // parcel allows passes to be purchased
  540. public const int PARCEL_FLAG_LOCAL_SOUND_ONLY = 0x8000; // parcel restricts spatialized sound to the parcel
  541. public const int PARCEL_FLAG_RESTRICT_PUSHOBJECT = 0x200000; // parcel restricts llPushObject
  542. public const int PARCEL_FLAG_ALLOW_GROUP_SCRIPTS = 0x2000000; // parcel allows scripts owned by group
  543. public const int PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS = 0x4000000; // parcel allows group object creation
  544. public const int PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY = 0x8000000; // parcel allows objects owned by any user to enter
  545. public const int PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY = 0x10000000; // parcel allows with the same group to enter
  546. public const int REGION_FLAG_ALLOW_DAMAGE = 0x1; // region is entirely damage enabled
  547. public const int REGION_FLAG_FIXED_SUN = 0x10; // region has a fixed sun position
  548. public const int REGION_FLAG_BLOCK_TERRAFORM = 0x40; // region terraforming disabled
  549. public const int REGION_FLAG_SANDBOX = 0x100; // region is a sandbox
  550. public const int REGION_FLAG_DISABLE_COLLISIONS = 0x1000; // region has disabled collisions
  551. public const int REGION_FLAG_DISABLE_PHYSICS = 0x4000; // region has disabled physics
  552. public const int REGION_FLAG_BLOCK_FLY = 0x80000; // region blocks flying
  553. public const int REGION_FLAG_ALLOW_DIRECT_TELEPORT = 0x100000; // region allows direct teleports
  554. public const int REGION_FLAG_RESTRICT_PUSHOBJECT = 0x400000; // region restricts llPushObject
  555. //llManageEstateAccess
  556. public const int ESTATE_ACCESS_ALLOWED_AGENT_ADD = 0;
  557. public const int ESTATE_ACCESS_ALLOWED_AGENT_REMOVE = 1;
  558. public const int ESTATE_ACCESS_ALLOWED_GROUP_ADD = 2;
  559. public const int ESTATE_ACCESS_ALLOWED_GROUP_REMOVE = 3;
  560. public const int ESTATE_ACCESS_BANNED_AGENT_ADD = 4;
  561. public const int ESTATE_ACCESS_BANNED_AGENT_REMOVE = 5;
  562. public static readonly LSLInteger PAY_HIDE = -1;
  563. public static readonly LSLInteger PAY_DEFAULT = -2;
  564. public const string NULL_KEY = "00000000-0000-0000-0000-000000000000";
  565. public const string EOF = "\n\n\n";
  566. public const string NAK = "\n\u0015\n";
  567. public const double PI = 3.14159274f;
  568. public const double TWO_PI = 6.28318548f;
  569. public const double PI_BY_TWO = 1.57079637f;
  570. public const double DEG_TO_RAD = 0.01745329238f;
  571. public const double RAD_TO_DEG = 57.29578f;
  572. public const double SQRT2 = 1.414213538f;
  573. public const int STRING_TRIM_HEAD = 1;
  574. public const int STRING_TRIM_TAIL = 2;
  575. public const int STRING_TRIM = 3;
  576. public const int LIST_STAT_RANGE = 0;
  577. public const int LIST_STAT_MIN = 1;
  578. public const int LIST_STAT_MAX = 2;
  579. public const int LIST_STAT_MEAN = 3;
  580. public const int LIST_STAT_MEDIAN = 4;
  581. public const int LIST_STAT_STD_DEV = 5;
  582. public const int LIST_STAT_SUM = 6;
  583. public const int LIST_STAT_SUM_SQUARES = 7;
  584. public const int LIST_STAT_NUM_COUNT = 8;
  585. public const int LIST_STAT_GEOMETRIC_MEAN = 9;
  586. public const int LIST_STAT_HARMONIC_MEAN = 100;
  587. //ParcelPrim Categories
  588. public const int PARCEL_COUNT_TOTAL = 0;
  589. public const int PARCEL_COUNT_OWNER = 1;
  590. public const int PARCEL_COUNT_GROUP = 2;
  591. public const int PARCEL_COUNT_OTHER = 3;
  592. public const int PARCEL_COUNT_SELECTED = 4;
  593. public const int PARCEL_COUNT_TEMP = 5;
  594. public const int DEBUG_CHANNEL = 0x7FFFFFFF;
  595. public const int PUBLIC_CHANNEL = 0x00000000;
  596. // Constants for llGetObjectDetails
  597. public const int OBJECT_UNKNOWN_DETAIL = -1;
  598. public const int OBJECT_NAME = 1;
  599. public const int OBJECT_DESC = 2;
  600. public const int OBJECT_POS = 3;
  601. public const int OBJECT_ROT = 4;
  602. public const int OBJECT_VELOCITY = 5;
  603. public const int OBJECT_OWNER = 6;
  604. public const int OBJECT_GROUP = 7;
  605. public const int OBJECT_CREATOR = 8;
  606. public const int OBJECT_RUNNING_SCRIPT_COUNT = 9;
  607. public const int OBJECT_TOTAL_SCRIPT_COUNT = 10;
  608. public const int OBJECT_SCRIPT_MEMORY = 11;
  609. public const int OBJECT_SCRIPT_TIME = 12;
  610. public const int OBJECT_PRIM_EQUIVALENCE = 13;
  611. public const int OBJECT_SERVER_COST = 14;
  612. public const int OBJECT_STREAMING_COST = 15;
  613. public const int OBJECT_PHYSICS_COST = 16;
  614. public const int OBJECT_CHARACTER_TIME = 17;
  615. public const int OBJECT_ROOT = 18;
  616. public const int OBJECT_ATTACHED_POINT = 19;
  617. public const int OBJECT_PATHFINDING_TYPE = 20;
  618. public const int OBJECT_PHYSICS = 21;
  619. public const int OBJECT_PHANTOM = 22;
  620. public const int OBJECT_TEMP_ON_REZ = 23;
  621. public const int OBJECT_RENDER_WEIGHT = 24;
  622. public const int OBJECT_HOVER_HEIGHT = 25;
  623. public const int OBJECT_BODY_SHAPE_TYPE = 26;
  624. public const int OBJECT_LAST_OWNER_ID = 27;
  625. public const int OBJECT_CLICK_ACTION = 28;
  626. public const int OBJECT_OMEGA = 29;
  627. public const int OBJECT_PRIM_COUNT = 30;
  628. public const int OBJECT_TOTAL_INVENTORY_COUNT = 31;
  629. public const int OBJECT_REZZER_KEY = 32;
  630. public const int OBJECT_GROUP_TAG = 33;
  631. public const int OBJECT_TEMP_ATTACHED = 34;
  632. public const int OBJECT_ATTACHED_SLOTS_AVAILABLE = 35;
  633. public const int OBJECT_CREATION_TIME = 36;
  634. public const int OBJECT_SELECT_COUNT = 37;
  635. public const int OBJECT_SIT_COUNT = 38;
  636. public const int OBJECT_ANIMATED_COUNT = 39;
  637. public const int OBJECT_ANIMATED_SLOTS_AVAILABLE = 40;
  638. public const int OBJECT_ACCOUNT_LEVEL = 41;
  639. public const int OBJECT_MATERIAL = 42;
  640. public const int OBJECT_MASS = 43;
  641. public const int OBJECT_TEXT = 44;
  642. public const int OBJECT_REZ_TIME = 45;
  643. public const int OBJECT_LINK_NUMBER = 46;
  644. public const int OBJECT_SCALE = 47;
  645. public const int OBJECT_TEXT_COLOR = 48;
  646. public const int OBJECT_TEXT_ALPHA = 49;
  647. // Pathfinding types
  648. //ApiDesc not supported
  649. public const int OPT_OTHER = -1;
  650. //ApiDesc not supported
  651. public const int OPT_LEGACY_LINKSET = 0;
  652. //ApiDesc not supported
  653. public const int OPT_AVATAR = 1;
  654. //ApiDesc not supported
  655. public const int OPT_CHARACTER = 2;
  656. //ApiDesc not supported
  657. public const int OPT_WALKABLE = 3;
  658. //ApiDesc not supported
  659. public const int OPT_STATIC_OBSTACLE = 4;
  660. //ApiDesc not supported
  661. public const int OPT_MATERIAL_VOLUME = 5;
  662. //ApiDesc not supported
  663. public const int OPT_EXCLUSION_VOLUME = 6;
  664. // for llGetAgentList
  665. public const int AGENT_LIST_PARCEL = 0x1;
  666. public const int AGENT_LIST_PARCEL_OWNER = 2;
  667. public const int AGENT_LIST_REGION = 4;
  668. public const int AGENT_LIST_EXCLUDENPC = 0x4000000;
  669. // Can not be public const?
  670. public static readonly vector ZERO_VECTOR = new vector(0.0, 0.0, 0.0);
  671. public static readonly rotation ZERO_ROTATION = new rotation(0.0, 0.0, 0.0, 1.0);
  672. // constants for llSetCameraParams
  673. public const int CAMERA_PITCH = 0;
  674. public const int CAMERA_FOCUS_OFFSET = 1;
  675. public const int CAMERA_FOCUS_OFFSET_X = 2;
  676. public const int CAMERA_FOCUS_OFFSET_Y = 3;
  677. public const int CAMERA_FOCUS_OFFSET_Z = 4;
  678. public const int CAMERA_POSITION_LAG = 5;
  679. public const int CAMERA_FOCUS_LAG = 6;
  680. public const int CAMERA_DISTANCE = 7;
  681. public const int CAMERA_BEHINDNESS_ANGLE = 8;
  682. public const int CAMERA_BEHINDNESS_LAG = 9;
  683. public const int CAMERA_POSITION_THRESHOLD = 10;
  684. public const int CAMERA_FOCUS_THRESHOLD = 11;
  685. public const int CAMERA_ACTIVE = 12;
  686. public const int CAMERA_POSITION = 13;
  687. public const int CAMERA_POSITION_X = 14;
  688. public const int CAMERA_POSITION_Y = 15;
  689. public const int CAMERA_POSITION_Z = 16;
  690. public const int CAMERA_FOCUS = 17;
  691. public const int CAMERA_FOCUS_X = 18;
  692. public const int CAMERA_FOCUS_Y = 19;
  693. public const int CAMERA_FOCUS_Z = 20;
  694. public const int CAMERA_POSITION_LOCKED = 21;
  695. public const int CAMERA_FOCUS_LOCKED = 22;
  696. // constants for llGetParcelDetails
  697. public const int PARCEL_DETAILS_NAME = 0;
  698. public const int PARCEL_DETAILS_DESC = 1;
  699. public const int PARCEL_DETAILS_OWNER = 2;
  700. public const int PARCEL_DETAILS_GROUP = 3;
  701. public const int PARCEL_DETAILS_AREA = 4;
  702. public const int PARCEL_DETAILS_ID = 5;
  703. public const int PARCEL_DETAILS_SEE_AVATARS = 6;
  704. public const int PARCEL_DETAILS_PRIM_CAPACITY = 7;
  705. public const int PARCEL_DETAILS_PRIM_USED = 8;
  706. public const int PARCEL_DETAILS_LANDING_POINT = 9;
  707. public const int PARCEL_DETAILS_LANDING_LOOKAT = 10;
  708. public const int PARCEL_DETAILS_TP_ROUTING = 11;
  709. public const int PARCEL_DETAILS_FLAGS = 12;
  710. public const int PARCEL_DETAILS_SCRIPT_DANGER = 13;
  711. // constants for llGetParcelDetails os specific
  712. public const int PARCEL_DETAILS_DWELL = 64;
  713. public const int PARCEL_DETAILS_GETCLAIMDATE = 65;
  714. public const int PARCEL_DETAILS_GEOMETRICCENTER = 66;
  715. //osSetParcelDetails
  716. public const int PARCEL_DETAILS_ANY_AVATAR_SOUNDS = 7;
  717. public const int PARCEL_DETAILS_GROUP_SOUNDS = 8;
  718. public const int PARCEL_DETAILS_CLAIMDATE = 10;
  719. // constants for llSetClickAction
  720. public const int CLICK_ACTION_NONE = 0;
  721. public const int CLICK_ACTION_TOUCH = 0;
  722. public const int CLICK_ACTION_SIT = 1;
  723. public const int CLICK_ACTION_BUY = 2;
  724. public const int CLICK_ACTION_PAY = 3;
  725. public const int CLICK_ACTION_OPEN = 4;
  726. public const int CLICK_ACTION_PLAY = 5;
  727. public const int CLICK_ACTION_OPEN_MEDIA = 6;
  728. public const int CLICK_ACTION_ZOOM = 7;
  729. public const int CLICK_ACTION_DISABLED = 8;
  730. // constants for the llDetectedTouch* functions
  731. public const int TOUCH_INVALID_FACE = -1;
  732. public static readonly vector TOUCH_INVALID_TEXCOORD = new vector(-1.0, -1.0, 0.0);
  733. public static readonly vector TOUCH_INVALID_VECTOR = ZERO_VECTOR;
  734. // constants for llGetPrimMediaParams/llSetPrimMediaParams
  735. public const int PRIM_MEDIA_ALT_IMAGE_ENABLE = 0;
  736. public const int PRIM_MEDIA_CONTROLS = 1;
  737. public const int PRIM_MEDIA_CURRENT_URL = 2;
  738. public const int PRIM_MEDIA_HOME_URL = 3;
  739. public const int PRIM_MEDIA_AUTO_LOOP = 4;
  740. public const int PRIM_MEDIA_AUTO_PLAY = 5;
  741. public const int PRIM_MEDIA_AUTO_SCALE = 6;
  742. public const int PRIM_MEDIA_AUTO_ZOOM = 7;
  743. public const int PRIM_MEDIA_FIRST_CLICK_INTERACT = 8;
  744. public const int PRIM_MEDIA_WIDTH_PIXELS = 9;
  745. public const int PRIM_MEDIA_HEIGHT_PIXELS = 10;
  746. public const int PRIM_MEDIA_WHITELIST_ENABLE = 11;
  747. public const int PRIM_MEDIA_WHITELIST = 12;
  748. public const int PRIM_MEDIA_PERMS_INTERACT = 13;
  749. public const int PRIM_MEDIA_PERMS_CONTROL = 14;
  750. public const int PRIM_MEDIA_CONTROLS_STANDARD = 0;
  751. public const int PRIM_MEDIA_CONTROLS_MINI = 1;
  752. public const int PRIM_MEDIA_PERM_NONE = 0;
  753. public const int PRIM_MEDIA_PERM_OWNER = 1;
  754. public const int PRIM_MEDIA_PERM_GROUP = 2;
  755. public const int PRIM_MEDIA_PERM_ANYONE = 4;
  756. public const int DENSITY = 1;
  757. public const int FRICTION = 2;
  758. public const int RESTITUTION = 4;
  759. public const int GRAVITY_MULTIPLIER = 8;
  760. // extra constants for llSetPrimMediaParams
  761. public static readonly LSLInteger LSL_STATUS_OK = 0;
  762. public static readonly LSLInteger LSL_STATUS_MALFORMED_PARAMS = 1000;
  763. public static readonly LSLInteger LSL_STATUS_TYPE_MISMATCH = 1001;
  764. public static readonly LSLInteger LSL_STATUS_BOUNDS_ERROR = 1002;
  765. public static readonly LSLInteger LSL_STATUS_NOT_FOUND = 1003;
  766. public static readonly LSLInteger LSL_STATUS_NOT_SUPPORTED = 1004;
  767. public static readonly LSLInteger LSL_STATUS_INTERNAL_ERROR = 1999;
  768. public static readonly LSLInteger LSL_STATUS_WHITELIST_FAILED = 2001;
  769. // Constants for default textures
  770. public const string TEXTURE_BLANK = "5748decc-f629-461c-9a36-a35a221fe21f";
  771. public const string TEXTURE_DEFAULT = "89556747-24cb-43ed-920b-47caed15465f";
  772. public const string TEXTURE_PLYWOOD = "89556747-24cb-43ed-920b-47caed15465f";
  773. public const string TEXTURE_TRANSPARENT = "8dcd4a48-2d37-4909-9f78-f7a9eb4ef903";
  774. public const string TEXTURE_MEDIA = "8b5fec65-8d8d-9dc5-cda8-8fdf2716e361";
  775. // Constants for osGetRegionStats this must match StatsIndex in SimStats.cs
  776. public const int STATS_TIME_DILATION = 0;
  777. public const int STATS_SIM_FPS = 1;
  778. public const int STATS_PHYSICS_FPS = 2;
  779. public const int STATS_AGENT_UPDATES = 3;
  780. public const int STATS_ROOT_AGENTS = 4;
  781. public const int STATS_CHILD_AGENTS = 5;
  782. public const int STATS_TOTAL_PRIMS = 6;
  783. public const int STATS_ACTIVE_PRIMS = 7;
  784. public const int STATS_FRAME_MS = 8;
  785. public const int STATS_NET_MS = 9;
  786. public const int STATS_PHYSICS_MS = 10;
  787. public const int STATS_IMAGE_MS = 11;
  788. public const int STATS_OTHER_MS = 12;
  789. public const int STATS_IN_PACKETS_PER_SECOND = 13;
  790. public const int STATS_OUT_PACKETS_PER_SECOND = 14;
  791. public const int STATS_UNACKED_BYTES = 15;
  792. public const int STATS_AGENT_MS = 16;
  793. public const int STATS_PENDING_DOWNLOADS = 17;
  794. public const int STATS_PENDING_UPLOADS = 18;
  795. public const int STATS_ACTIVE_SCRIPTS = 19;
  796. public const int STATS_SIM_SLEEP = 20;
  797. public const int STATS_SCRIPT_EPS = 28;
  798. public const int STATS_SCRIPT_TIME = 37;
  799. public const int STATS_SCRIPT_LPS = 38;
  800. public const int STATS_SCRIPT_NPCS = 47;
  801. // Constants for osNpc* functions
  802. public const int OS_NPC_FLY = 0;
  803. public const int OS_NPC_NO_FLY = 1;
  804. public const int OS_NPC_LAND_AT_TARGET = 2;
  805. public const int OS_NPC_RUNNING = 4;
  806. public const int OS_NPC_SIT_NOW = 0;
  807. public const int OS_NPC_CREATOR_OWNED = 0x1;
  808. public const int OS_NPC_NOT_OWNED = 0x2;
  809. public const int OS_NPC_SENSE_AS_AGENT = 0x4;
  810. public const int OS_NPC_OBJECT_GROUP = 0x08;
  811. public const string URL_REQUEST_GRANTED = "URL_REQUEST_GRANTED";
  812. public const string URL_REQUEST_DENIED = "URL_REQUEST_DENIED";
  813. public static readonly LSLInteger RC_REJECT_TYPES = 0;
  814. public static readonly LSLInteger RC_DETECT_PHANTOM = 1;
  815. public static readonly LSLInteger RC_DATA_FLAGS = 2;
  816. public static readonly LSLInteger RC_MAX_HITS = 3;
  817. public static readonly LSLInteger RC_REJECT_AGENTS = 1;
  818. public static readonly LSLInteger RC_REJECT_PHYSICAL = 2;
  819. public static readonly LSLInteger RC_REJECT_NONPHYSICAL = 4;
  820. public static readonly LSLInteger RC_REJECT_LAND = 8;
  821. public static readonly LSLInteger RC_REJECT_HOST = 0x20000000;
  822. public static readonly LSLInteger RC_REJECT_HOSTGROUP = 0x40000000;
  823. public static readonly LSLInteger RC_GET_NORMAL = 1;
  824. public static readonly LSLInteger RC_GET_ROOT_KEY = 2;
  825. public static readonly LSLInteger RC_GET_LINK_NUM = 4;
  826. public static readonly LSLInteger RCERR_UNKNOWN = -1;
  827. public static readonly LSLInteger RCERR_SIM_PERF_LOW = -2;
  828. public static readonly LSLInteger RCERR_CAST_TIME_EXCEEDED = -3;
  829. public const int KFM_MODE = 1;
  830. public const int KFM_LOOP = 1;
  831. public const int KFM_REVERSE = 3;
  832. public const int KFM_FORWARD = 0;
  833. public const int KFM_PING_PONG = 2;
  834. public const int KFM_DATA = 2;
  835. public const int KFM_TRANSLATION = 2;
  836. public const int KFM_ROTATION = 1;
  837. public const int KFM_COMMAND = 0;
  838. public const int KFM_CMD_PLAY = 0;
  839. public const int KFM_CMD_STOP = 1;
  840. public const int KFM_CMD_PAUSE = 2;
  841. public const string JSON_INVALID = "\uFDD0";
  842. public const string JSON_OBJECT = "\uFDD1";
  843. public const string JSON_ARRAY = "\uFDD2";
  844. public const string JSON_NUMBER = "\uFDD3";
  845. public const string JSON_STRING = "\uFDD4";
  846. public const string JSON_NULL = "\uFDD5";
  847. public const string JSON_TRUE = "\uFDD6";
  848. public const string JSON_FALSE = "\uFDD7";
  849. public const string JSON_DELETE = "\uFDD8";
  850. public const string JSON_APPEND = "-1";
  851. /// <summary>
  852. /// process name parameter as regex
  853. /// </summary>
  854. public const int OS_LISTEN_REGEX_NAME = 0x1;
  855. /// <summary>
  856. /// process message parameter as regex
  857. /// </summary>
  858. public const int OS_LISTEN_REGEX_MESSAGE = 0x2;
  859. // Constants for osTeleportObject
  860. //ApiDesc osTeleportObject no flags
  861. public const int OSTPOBJ_NONE = 0x0;
  862. //ApiDesc osTeleportObject flag: stop at destination
  863. public const int OSTPOBJ_STOPATTARGET = 0x1;
  864. //ApiDesc osTeleportObject flag: stop at jump point if tp fails
  865. public const int OSTPOBJ_STOPONFAIL = 0x2;
  866. //ApiDesc osTeleportObject flag: the rotation is the final rotation, otherwise is a added rotation
  867. public const int OSTPOBJ_SETROT = 0x4;
  868. //ApiDesc osLocalTeleportAgent no flags
  869. public const int OS_LTPAG_NONE = 0x0;
  870. //ApiDesc osLocalTeleportAgent use velocity
  871. public const int OS_LTPAG_USEVEL = 0x1;
  872. //ApiDesc osLocalTeleportAgent use lookat
  873. public const int OS_LTPAG_USELOOKAT = 0x2;
  874. //ApiDesc osLocalTeleportAgent align lookat to velocity
  875. public const int OS_LTPAG_ALGNLV = 0x4;
  876. //ApiDesc osLocalTeleportAgent force fly
  877. public const int OS_LTPAG_FORCEFLY = 0x8;
  878. //ApiDesc osLocalTeleportAgent force no fly
  879. public const int OS_LTPAG_FORCENOFLY = 0x16;
  880. // Constants for Windlight
  881. public const int WL_WATER_COLOR = 0;
  882. public const int WL_WATER_FOG_DENSITY_EXPONENT = 1;
  883. public const int WL_UNDERWATER_FOG_MODIFIER = 2;
  884. public const int WL_REFLECTION_WAVELET_SCALE = 3;
  885. public const int WL_FRESNEL_SCALE = 4;
  886. public const int WL_FRESNEL_OFFSET = 5;
  887. public const int WL_REFRACT_SCALE_ABOVE = 6;
  888. public const int WL_REFRACT_SCALE_BELOW = 7;
  889. public const int WL_BLUR_MULTIPLIER = 8;
  890. public const int WL_BIG_WAVE_DIRECTION = 9;
  891. public const int WL_LITTLE_WAVE_DIRECTION = 10;
  892. public const int WL_NORMAL_MAP_TEXTURE = 11;
  893. public const int WL_HORIZON = 12;
  894. public const int WL_HAZE_HORIZON = 13;
  895. public const int WL_BLUE_DENSITY = 14;
  896. public const int WL_HAZE_DENSITY = 15;
  897. public const int WL_DENSITY_MULTIPLIER = 16;
  898. public const int WL_DISTANCE_MULTIPLIER = 17;
  899. public const int WL_MAX_ALTITUDE = 18;
  900. public const int WL_SUN_MOON_COLOR = 19;
  901. public const int WL_AMBIENT = 20;
  902. public const int WL_EAST_ANGLE = 21;
  903. public const int WL_SUN_GLOW_FOCUS = 22;
  904. public const int WL_SUN_GLOW_SIZE = 23;
  905. public const int WL_SCENE_GAMMA = 24;
  906. public const int WL_STAR_BRIGHTNESS = 25;
  907. public const int WL_CLOUD_COLOR = 26;
  908. public const int WL_CLOUD_XY_DENSITY = 27;
  909. public const int WL_CLOUD_COVERAGE = 28;
  910. public const int WL_CLOUD_SCALE = 29;
  911. public const int WL_CLOUD_DETAIL_XY_DENSITY = 30;
  912. public const int WL_CLOUD_SCROLL_X = 31;
  913. public const int WL_CLOUD_SCROLL_Y = 32;
  914. public const int WL_CLOUD_SCROLL_Y_LOCK = 33;
  915. public const int WL_CLOUD_SCROLL_X_LOCK = 34;
  916. public const int WL_DRAW_CLASSIC_CLOUDS = 35;
  917. public const int WL_SUN_MOON_POSITION = 36;
  918. public const string IMG_USE_BAKED_HEAD = "5a9f4a74-30f2-821c-b88d-70499d3e7183";
  919. public const string IMG_USE_BAKED_UPPER = "ae2de45c-d252-50b8-5c6e-19f39ce79317";
  920. public const string IMG_USE_BAKED_LOWER = "24daea5f-0539-cfcf-047f-fbc40b2786ba";
  921. public const string IMG_USE_BAKED_EYES = "52cc6bb6-2ee5-e632-d3ad-50197b1dcb8a";
  922. public const string IMG_USE_BAKED_SKIRT = "43529ce8-7faa-ad92-165a-bc4078371687";
  923. public const string IMG_USE_BAKED_HAIR = "09aac1fb-6bce-0bee-7d44-caac6dbb6c63";
  924. public const string IMG_USE_BAKED_LEFTARM = "ff62763f-d60a-9855-890b-0c96f8f8cd98";
  925. public const string IMG_USE_BAKED_LEFTLEG = "8e915e25-31d1-cc95-ae08-d58a47488251";
  926. public const string IMG_USE_BAKED_AUX1 = "9742065b-19b5-297c-858a-29711d539043";
  927. public const string IMG_USE_BAKED_AUX2 = "03642e83-2bd1-4eb9-34b4-4c47ed586d2d";
  928. public const string IMG_USE_BAKED_AUX3 = "edd51b77-fc10-ce7a-4b3d-011dfc349e4f";
  929. // llTargetedEmail
  930. public const int TARGETED_EMAIL_ROOT_CREATOR = 1;
  931. public const int TARGETED_EMAIL_OBJECT_OWNER = 2;
  932. public const int NPCLOOKAT_NONE = 0;
  933. public const int NPCLOOKAT_IDLE = 1;
  934. public const int NPCLOOKAT_LISTEN = 2;
  935. public const int NPCLOOKAT_FREELOOK = 3;
  936. public const int NPCLOOKAT_RESPOND = 4;
  937. public const int NPCLOOKAT_HOVER = 5;
  938. public const int NPCLOOKAT_CONVERSATION = 6;
  939. public const int NPCLOOKAT_SELECT = 7;
  940. public const int NPCLOOKAT_FOCUS = 8;
  941. public const int NPCLOOKAT_MOUSELOOK = 9;
  942. public const int NPCLOOKAT_CLEAR = 10;
  943. // future ?? linkset_data event
  944. public const int LINKSETDATA_RESET = 0;
  945. public const int LINKSETDATA_UPDATE = 1;
  946. public const int LINKSETDATA_DELETE = 2;
  947. public const int LINKSETDATA_MULTIDELETE = 3;
  948. public const int LINKSETDATA_OK = 0;
  949. public const int LINKSETDATA_EMEMORY = 1;
  950. public const int LINKSETDATA_ENOKEY = 2;
  951. public const int LINKSETDATA_EPROTECTED = 3;
  952. public const int LINKSETDATA_NOTFOUND = 4;
  953. public const int LINKSETDATA_NOUPDATE = 5;
  954. //llLinkPlaySound flags
  955. public const int SOUND_PLAY = 0;
  956. public const int SOUND_LOOP = 1;
  957. public const int SOUND_TRIGGER = 2;
  958. public const int SOUND_SYNC = 4;
  959. }
  960. }