diff --git a/trunk/Helpers/HTTPRequest.cs b/trunk/Helpers/HTTPRequest.cs index 8fde113..4a86305 100644 --- a/trunk/Helpers/HTTPRequest.cs +++ b/trunk/Helpers/HTTPRequest.cs @@ -103,7 +103,7 @@ namespace LSLEditor System.Drawing.Point point = Properties.Settings.Default.RegionCorner; SecondLife.vector RegionCorner = new SecondLife.vector(point.X, point.Y, 0); - SecondLife.vector pos = secondlife.GetLocalPos(); + SecondLife.vector pos = secondlife.GetLocalPos; wc.Headers.Add("X-SecondLife-Shard", Properties.Settings.Default.XSecondLifeShard); wc.Headers.Add("X-SecondLife-Object-Name", secondlife.host.GetObjectName()); diff --git a/trunk/Properties/Settings.Designer.cs b/trunk/Properties/Settings.Designer.cs index bd9a443..e70c577 100644 --- a/trunk/Properties/Settings.Designer.cs +++ b/trunk/Properties/Settings.Designer.cs @@ -1046,6 +1046,36 @@ namespace LSLEditor.Properties { } } + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("00000000-0000-0000-0000-000000000000")] + public string ParcelID + { + get + { + return ((string)(this["ParcelID"])); + } + set + { + this["ParcelID"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("512")] + public int ParcelSeeAvatars + { + get + { + return ((int)(this["ParcelSeeAvatars"])); + } + set + { + this["ParcelSeeAvatars"] = value; + } + } + [global::System.Configuration.ApplicationScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.DefaultSettingValueAttribute(@" diff --git a/trunk/Resource/ConfLSL.xml b/trunk/Resource/ConfLSL.xml index 730b90b..9c35136 100644 --- a/trunk/Resource/ConfLSL.xml +++ b/trunk/Resource/ConfLSL.xml @@ -1327,6 +1327,12 @@ returns 0. + + list llGetStaticPath(vector Start, vector End, float Radius, list Parameters); + + Returns a list of position vectors indicating pathfinding waypoints between positions at start and end, for a character of a given radius. The waypoints this function returns are for the 'static' nav mesh, meaning that objects set to "movable obstacle" or "movable phantom" are ignored. + + integer llGetStatus(integer status); @@ -3303,7 +3309,7 @@ - llWhisper(integer channel, string text); + void llWhisper(integer channel, string text); Whisper text on channel. Channel 0 is the public chat channel that all avatars see as chat text. Channels 1 to 2,147,483,648 are @@ -3317,11 +3323,11 @@ Returns the wind velocity below the object position + offset. - - string llXorBase64StringsCorrect(string s1, string s2) + + string llXorBase64(string sText1, string sText2); - Performs an xor on two Base64 strings and returns a Base64 string. - s2 repeats if it is shorter than s1. + Performs an XOR on two Base64 strings and returns a Base64 string. + sText2 repeats if it is shorter than sText1. This function is for encrypting data. Put your data in s1 and your key in s2 to encrypt or put the encrypted data into s1 with the same key in s2 to decrypt again. @@ -4687,8 +4693,9 @@ - - + + + If set to false, character will not attempt to catch up on lost time when pathfinding performance is low, potentially providing more reliable movement (albeit while potentially appearing to be more stuttery). Default is true to match pre-existing behavior. Allows you to specify that a character should not try to avoid other characters, should not try to avoid dynamic obstacles (relatively fast moving objects and avatars), or both. Makes the character jump. Requires an additional parameter, the height to jump, between 0.1m and 2.0m. This must be provided as the first element of the llExecCharacterCmd option list. @@ -4858,21 +4865,18 @@ Gets the attachment point to which the object is attached. - - Gets the object's creator key. + + Gets the object's creator key. If id is an avatar, a NULL_KEY is returned. - - Gets the object's description. + Gets the object's description. If id is an avatar, an empty string is returned. - - Gets the prims's group key. + Gets the prims's group key. If id is an avatar, a NULL_KEY is returned. Gets the object's name. - - Gets an object's owner's key. + Gets an object's owner's key. If id is group owned, a NULL_KEY is returned. Returns the pathfinding setting of any object in the region. It returns an integer matching one of the OPT_* constants. @@ -5108,14 +5112,16 @@ Disables profiling Enables memory profiling - Triggered when an llEvade character thinks it has hidden from its pursuer. - Triggered when an llEvade character switches from hiding to running + Triggered when an llEvade character thinks it has hidden from its pursuer. + Triggered when an llEvade character switches from hiding to running + Goal is not on the navigation-mesh and cannot be reached. Character cannot navigate from the current location - e.g., the character is off the navmesh or too high above it. This is a fatal error reported to a character when there is no navmesh for the region. This usually indicates a server failure and users should file a bug report and include the time and region in which they received this message. There's no good place for the character to go - e.g., it is patrolling and all the patrol points are now unreachable. Target (for llPursue or llEvade) can no longer be tracked - e.g., it left the region or is an avatar that is now more than about 30m outside the region. + Goal is no longer reachable for some reason - e.g., an obstacle blocks the path. Character has reached the goal and will stop or choose a new goal (if wandering). Character is near current goal. @@ -5190,6 +5196,7 @@ + diff --git a/trunk/Resource/ReleaseNotes.htm b/trunk/Resource/ReleaseNotes.htm index e866fa8..afa0000 100644 --- a/trunk/Resource/ReleaseNotes.htm +++ b/trunk/Resource/ReleaseNotes.htm @@ -6,6 +6,23 @@
+

2013-07-00 - Release 2.54.0

+
+ * Constants Added: +
    +
  • AVOID_NONE
  • +
  • OBJECT_CHARACTER_TIME
  • +
  • PU_FAILURE_DYNAMIC_PATHFINDING_DISABLED
  • +
  • PU_FAILURE_PARCEL_UNREACHABLE
  • +
+
+
+ * Functions Added: +
    +
  • llGetStaticPath
  • +
  • llXorBase64
  • +
+

2013-07-07 - Release 2.53.1

* Fixes diff --git a/trunk/SecondLife/SecondLifeMain.cs b/trunk/SecondLife/SecondLifeMain.cs index 08253aa..e63a471 100644 --- a/trunk/SecondLife/SecondLifeMain.cs +++ b/trunk/SecondLife/SecondLifeMain.cs @@ -92,8 +92,18 @@ namespace LSLEditor #endregion - #region constructor - public SecondLife() + #region Properties + + public vector GetLocalPos + { + // TODO change this to use a call to llGetLocalPos specifying NOT to be Verbose. After all functions have been changed to allow verbose/silent option. + get { return m_pos; } + } + + #endregion + + #region constructor + public SecondLife() { host = null; m_random = new Random(); @@ -177,26 +187,26 @@ namespace LSLEditor #endregion #region all constants - public static readonly integer TRUE = 1; - public static readonly integer FALSE = 0; + public const int TRUE = 1; + public const int FALSE = 0; - public static readonly integer DENSITY = 1; - public static readonly integer FRICTION = 2; - public static readonly integer GRAVITY_MULTIPLIER = 8; - public static readonly integer RESTITUTION = 4; + public const int DENSITY = 1; + public const int FRICTION = 2; + public const int GRAVITY_MULTIPLIER = 8; + public const int RESTITUTION = 4; - public static readonly integer AGENT = 1; - public static readonly integer ACTIVE = 2; - public static readonly integer PASSIVE = 4; - public static readonly integer SCRIPTED = 8; + public const int AGENT = 1; + public const int ACTIVE = 2; + public const int PASSIVE = 4; + public const int SCRIPTED = 8; - public static readonly integer ANIM_ON = 1; - public static readonly integer LOOP = 2; - public static readonly integer REVERSE = 4; - public static readonly integer PING_PONG = 8; - public static readonly integer SMOOTH = 16; - public static readonly integer ROTATE = 32; - public static readonly integer SCALE = 64; + public const int ANIM_ON = 1; + public const int LOOP = 2; + public const int REVERSE = 4; + public const int PING_PONG = 8; + public const int SMOOTH = 16; + public const int ROTATE = 32; + public const int SCALE = 64; public static readonly Float PI = 3.1415926535897932384626; public static readonly Float TWO_PI = 2.0 * PI; @@ -209,135 +219,136 @@ namespace LSLEditor public static readonly rotation ZERO_ROTATION = rotation.ZERO_ROTATION; public static readonly vector ZERO_VECTOR = vector.ZERO_VECTOR; - public static readonly integer ALL_SIDES = -1; + public const int ALL_SIDES = -1; - public static readonly integer DEBUG_CHANNEL = 2147483647; + public const int DEBUG_CHANNEL = 2147483647; public const string EOF = "\n\n\n"; - public static readonly integer AGENT_FLYING = 1; - public static readonly integer AGENT_ATTACHMENTS = 2; - public static readonly integer AGENT_SCRIPTED = 4; - public static readonly integer AGENT_MOUSELOOK = 8; - public static readonly integer AGENT_SITTING = 16; - public static readonly integer AGENT_ON_OBJECT = 32; - public static readonly integer AGENT_AWAY = 64; - public static readonly integer AGENT_WALKING = 128; - public static readonly integer AGENT_IN_AIR = 256; - public static readonly integer AGENT_TYPING = 512; - public static readonly integer AGENT_CROUCHING = 1024; - public static readonly integer AGENT_BUSY = 2048; - public static readonly integer AGENT_ALWAYS_RUN = 4096; - public static readonly integer AGENT_AUTOPILOT = 0x2000; - public static readonly integer AGENT_BY_LEGACY_NAME = 0x1; - public static readonly integer AGENT_BY_USERNAME = 0x10; + public const int AGENT_FLYING = 1; + public const int AGENT_ATTACHMENTS = 2; + public const int AGENT_SCRIPTED = 4; + public const int AGENT_MOUSELOOK = 8; + public const int AGENT_SITTING = 16; + public const int AGENT_ON_OBJECT = 32; + public const int AGENT_AWAY = 64; + public const int AGENT_WALKING = 128; + public const int AGENT_IN_AIR = 256; + public const int AGENT_TYPING = 512; + public const int AGENT_CROUCHING = 1024; + public const int AGENT_BUSY = 2048; + public const int AGENT_ALWAYS_RUN = 4096; + public const int AGENT_AUTOPILOT = 0x2000; + public const int AGENT_BY_LEGACY_NAME = 0x1; + public const int AGENT_BY_USERNAME = 0x10; - public static readonly integer AGENT_LIST_PARCEL = 0x01; - public static readonly integer AGENT_LIST_PARCEL_OWNER = 0x02; - public static readonly integer AGENT_LIST_REGION = 0x04; + public const int AGENT_LIST_PARCEL = 0x01; + public const int AGENT_LIST_PARCEL_OWNER = 0x02; + public const int AGENT_LIST_REGION = 0x04; - public static readonly integer ATTACH_AVATAR_CENTER = 40; - public static readonly integer ATTACH_BACK = 9; - public static readonly integer ATTACH_CHEST = 1; - public static readonly integer ATTACH_CHIN = 12; - public static readonly integer ATTACH_HEAD = 2; - public static readonly integer ATTACH_LSHOULDER = 3; - public static readonly integer ATTACH_RSHOULDER = 4; - public static readonly integer ATTACH_LHAND = 5; - public static readonly integer ATTACH_RHAND = 6; - public static readonly integer ATTACH_LFOOT = 7; - public static readonly integer ATTACH_RFOOT = 8; - public static readonly integer ATTACH_PELVIS = 10; - public static readonly integer ATTACH_MOUTH = 11; - public static readonly integer ATTACH_NECK = 39; - public static readonly integer ATTACH_LEAR = 13; - public static readonly integer ATTACH_LEFT_PEC = 29; - public static readonly integer ATTACH_REAR = 14; - public static readonly integer ATTACH_LEYE = 15; - public static readonly integer ATTACH_REYE = 16; - public static readonly integer ATTACH_NOSE = 17; - public static readonly integer ATTACH_RUARM = 18; - public static readonly integer ATTACH_RLARM = 19; - public static readonly integer ATTACH_LUARM = 20; - public static readonly integer ATTACH_LLARM = 21; - public static readonly integer ATTACH_RHIP = 22; - public static readonly integer ATTACH_RIGHT_PEC = 30; - public static readonly integer ATTACH_RULEG = 23; - public static readonly integer ATTACH_RLLEG = 24; - public static readonly integer ATTACH_LHIP = 25; - public static readonly integer ATTACH_LULEG = 26; - public static readonly integer ATTACH_LLLEG = 27; - public static readonly integer ATTACH_BELLY = 28; - public static readonly integer ATTACH_RPEC = 29; - public static readonly integer ATTACH_LPEC = 30; + public const int ATTACH_AVATAR_CENTER = 40; + public const int ATTACH_BACK = 9; + public const int ATTACH_CHEST = 1; + public const int ATTACH_CHIN = 12; + public const int ATTACH_HEAD = 2; + public const int ATTACH_LSHOULDER = 3; + public const int ATTACH_RSHOULDER = 4; + public const int ATTACH_LHAND = 5; + public const int ATTACH_RHAND = 6; + public const int ATTACH_LFOOT = 7; + public const int ATTACH_RFOOT = 8; + public const int ATTACH_PELVIS = 10; + public const int ATTACH_MOUTH = 11; + public const int ATTACH_NECK = 39; + public const int ATTACH_LEAR = 13; + public const int ATTACH_LEFT_PEC = 29; + public const int ATTACH_REAR = 14; + public const int ATTACH_LEYE = 15; + public const int ATTACH_REYE = 16; + public const int ATTACH_NOSE = 17; + public const int ATTACH_RUARM = 18; + public const int ATTACH_RLARM = 19; + public const int ATTACH_LUARM = 20; + public const int ATTACH_LLARM = 21; + public const int ATTACH_RHIP = 22; + public const int ATTACH_RIGHT_PEC = 30; + public const int ATTACH_RULEG = 23; + public const int ATTACH_RLLEG = 24; + public const int ATTACH_LHIP = 25; + public const int ATTACH_LULEG = 26; + public const int ATTACH_LLLEG = 27; + public const int ATTACH_BELLY = 28; + public const int ATTACH_RPEC = 29; + public const int ATTACH_LPEC = 30; - public static readonly integer ATTACH_HUD_CENTER_2 = 31; - public static readonly integer ATTACH_HUD_TOP_RIGHT = 32; - public static readonly integer ATTACH_HUD_TOP_CENTER = 33; - public static readonly integer ATTACH_HUD_TOP_LEFT = 34; - public static readonly integer ATTACH_HUD_CENTER_1 = 35; - public static readonly integer ATTACH_HUD_BOTTOM_LEFT = 36; - public static readonly integer ATTACH_HUD_BOTTOM = 37; - public static readonly integer ATTACH_HUD_BOTTOM_RIGHT = 38; + public const int ATTACH_HUD_CENTER_2 = 31; + public const int ATTACH_HUD_TOP_RIGHT = 32; + public const int ATTACH_HUD_TOP_CENTER = 33; + public const int ATTACH_HUD_TOP_LEFT = 34; + public const int ATTACH_HUD_CENTER_1 = 35; + public const int ATTACH_HUD_BOTTOM_LEFT = 36; + public const int ATTACH_HUD_BOTTOM = 37; + public const int ATTACH_HUD_BOTTOM_RIGHT = 38; - public static readonly integer AVOID_CHARACTERS = 1; - public static readonly integer AVOID_DYNAMIC_OBSTACLES = 2; + public const int AVOID_NONE = 0; + public const int AVOID_CHARACTERS = 1; + public const int AVOID_DYNAMIC_OBSTACLES = 2; - public static readonly integer CAMERA_PITCH = 0; - public static readonly integer CAMERA_FOCUS_OFFSET = 1; - public static readonly integer CAMERA_POSITION_LAG = 5; - public static readonly integer CAMERA_FOCUS_LAG = 6; - public static readonly integer CAMERA_DISTANCE = 7; - public static readonly integer CAMERA_BEHINDNESS_ANGLE = 8; - public static readonly integer CAMERA_BEHINDNESS_LAG = 9; - public static readonly integer CAMERA_POSITION_THRESHOLD = 10; - public static readonly integer CAMERA_FOCUS_THRESHOLD = 11; - public static readonly integer CAMERA_ACTIVE = 12; - public static readonly integer CAMERA_POSITION = 13; - public static readonly integer CAMERA_FOCUS = 17; - public static readonly integer CAMERA_FOCUS_LOCKED = 22; - public static readonly integer CAMERA_POSITION_LOCKED = 21; + public const int CAMERA_PITCH = 0; + public const int CAMERA_FOCUS_OFFSET = 1; + public const int CAMERA_POSITION_LAG = 5; + public const int CAMERA_FOCUS_LAG = 6; + public const int CAMERA_DISTANCE = 7; + public const int CAMERA_BEHINDNESS_ANGLE = 8; + public const int CAMERA_BEHINDNESS_LAG = 9; + public const int CAMERA_POSITION_THRESHOLD = 10; + public const int CAMERA_FOCUS_THRESHOLD = 11; + public const int CAMERA_ACTIVE = 12; + public const int CAMERA_POSITION = 13; + public const int CAMERA_FOCUS = 17; + public const int CAMERA_FOCUS_LOCKED = 22; + public const int CAMERA_POSITION_LOCKED = 21; - public static readonly integer CHANGED_INVENTORY = 1; - public static readonly integer CHANGED_COLOR = 2; - public static readonly integer CHANGED_SHAPE = 4; - public static readonly integer CHANGED_SCALE = 8; - public static readonly integer CHANGED_TEXTURE = 16; - public static readonly integer CHANGED_LINK = 32; - public static readonly integer CHANGED_ALLOWED_DROP = 64; - public static readonly integer CHANGED_OWNER = 128; - public static readonly integer CHANGED_REGION = 256; - public static readonly integer CHANGED_TELEPORT = 512; - public static readonly integer CHANGED_REGION_START = 1024; - public static readonly integer CHANGED_MEDIA = 2048; + public const int CHANGED_INVENTORY = 1; + public const int CHANGED_COLOR = 2; + public const int CHANGED_SHAPE = 4; + public const int CHANGED_SCALE = 8; + public const int CHANGED_TEXTURE = 16; + public const int CHANGED_LINK = 32; + public const int CHANGED_ALLOWED_DROP = 64; + public const int CHANGED_OWNER = 128; + public const int CHANGED_REGION = 256; + public const int CHANGED_TELEPORT = 512; + public const int CHANGED_REGION_START = 1024; + public const int CHANGED_MEDIA = 2048; - public static readonly integer CHARACTER_ACCOUNT_FOR_SKIPPED_FRAMES = 14; - public static readonly integer CHARACTER_AVOIDANCE_MODE = 5; - public static readonly integer CHARACTER_CMD_JUMP = 0x01; - public static readonly integer CHARACTER_CMD_STOP = 0x00; - public static readonly integer CHARACTER_DESIRED_SPEED = 1; - public static readonly integer CHARACTER_LENGTH = 3; - public static readonly integer CHARACTER_TYPE = 6; - public static readonly integer CHARACTER_MAX_ACCEL = 8; - public static readonly integer CHARACTER_MAX_DECEL = 9; - public static readonly integer CHARACTER_MAX_SPEED = 13; - public static readonly integer CHARACTER_MAX_TURN_RADIUS = 10; - public static readonly integer CHARACTER_ORIENTATION = 4; - public static readonly integer CHARACTER_RADIUS = 2; - public static readonly integer CHARACTER_STAY_WITHIN_PARCEL = 15; - public static readonly integer CHARACTER_TYPE_A = 0; - public static readonly integer CHARACTER_TYPE_B = 1; - public static readonly integer CHARACTER_TYPE_C = 2; - public static readonly integer CHARACTER_TYPE_D = 3; - public static readonly integer CHARACTER_TYPE_NONE = 4; + public const int CHARACTER_ACCOUNT_FOR_SKIPPED_FRAMES = 14; + public const int CHARACTER_AVOIDANCE_MODE = 5; + public const int CHARACTER_CMD_JUMP = 0x01; + public const int CHARACTER_CMD_STOP = 0x00; + public const int CHARACTER_DESIRED_SPEED = 1; + public const int CHARACTER_LENGTH = 3; + public const int CHARACTER_TYPE = 6; + public const int CHARACTER_MAX_ACCEL = 8; + public const int CHARACTER_MAX_DECEL = 9; + public const int CHARACTER_MAX_SPEED = 13; + public const int CHARACTER_MAX_TURN_RADIUS = 10; + public const int CHARACTER_ORIENTATION = 4; + public const int CHARACTER_RADIUS = 2; + public const int CHARACTER_STAY_WITHIN_PARCEL = 15; + public const int CHARACTER_TYPE_A = 0; + public const int CHARACTER_TYPE_B = 1; + public const int CHARACTER_TYPE_C = 2; + public const int CHARACTER_TYPE_D = 3; + public const int CHARACTER_TYPE_NONE = 4; - public static readonly integer CLICK_ACTION_NONE = 0; - public static readonly integer CLICK_ACTION_TOUCH = 0; - public static readonly integer CLICK_ACTION_SIT = 1; - public static readonly integer CLICK_ACTION_BUY = 2; - public static readonly integer CLICK_ACTION_PAY = 3; - public static readonly integer CLICK_ACTION_OPEN = 4; - public static readonly integer CLICK_ACTION_PLAY = 5; - public static readonly integer CLICK_ACTION_OPEN_MEDIA = 6; + public const int CLICK_ACTION_NONE = 0; + public const int CLICK_ACTION_TOUCH = 0; + public const int CLICK_ACTION_SIT = 1; + public const int CLICK_ACTION_BUY = 2; + public const int CLICK_ACTION_PAY = 3; + public const int CLICK_ACTION_OPEN = 4; + public const int CLICK_ACTION_PLAY = 5; + public const int CLICK_ACTION_OPEN_MEDIA = 6; public static readonly string CONTENT_TYPE_ATOM = "application/atom+xml"; public static readonly string CONTENT_TYPE_FORM = "application/x-www-form-urlencoded"; @@ -349,65 +360,65 @@ namespace LSLEditor public static readonly string CONTENT_TYPE_XHTML = "application/xhtml+xml"; public static readonly string CONTENT_TYPE_XML = "application/xml"; - public static readonly integer CONTROL_FWD = 1; - public static readonly integer CONTROL_BACK = 2; - public static readonly integer CONTROL_LEFT = 4; - public static readonly integer CONTROL_RIGHT = 8; - public static readonly integer CONTROL_ROT_LEFT = 256; - public static readonly integer CONTROL_ROT_RIGHT = 512; - public static readonly integer CONTROL_UP = 16; - public static readonly integer CONTROL_DOWN = 32; - public static readonly integer CONTROL_LBUTTON = 268435456; - public static readonly integer CONTROL_ML_LBUTTON = 1073741824; + public const int CONTROL_FWD = 1; + public const int CONTROL_BACK = 2; + public const int CONTROL_LEFT = 4; + public const int CONTROL_RIGHT = 8; + public const int CONTROL_ROT_LEFT = 256; + public const int CONTROL_ROT_RIGHT = 512; + public const int CONTROL_UP = 16; + public const int CONTROL_DOWN = 32; + public const int CONTROL_LBUTTON = 268435456; + public const int CONTROL_ML_LBUTTON = 1073741824; - public static readonly integer DATA_ONLINE = 1; - public static readonly integer DATA_NAME = 2; - public static readonly integer DATA_BORN = 3; - public static readonly integer DATA_RATING = 4; + public const int DATA_ONLINE = 1; + public const int DATA_NAME = 2; + public const int DATA_BORN = 3; + public const int DATA_RATING = 4; - public static readonly integer DATA_SIM_POS = 5; - public static readonly integer DATA_SIM_STATUS = 6; - public static readonly integer DATA_SIM_RATING = 7; + public const int DATA_SIM_POS = 5; + public const int DATA_SIM_STATUS = 6; + public const int DATA_SIM_RATING = 7; - public static readonly integer DATA_PAYINFO = 8; + public const int DATA_PAYINFO = 8; - public static readonly integer ERR_GENERIC = -1; - public static readonly integer ERR_MALFORMED_PARAMS = -3; - public static readonly integer ERR_PARCEL_PERMISSIONS = -2; - public static readonly integer ERR_RUNTIME_PERMISSIONS = -4; - public static readonly integer ERR_THROTTLED = -5; + public const int ERR_GENERIC = -1; + public const int ERR_MALFORMED_PARAMS = -3; + public const int ERR_PARCEL_PERMISSIONS = -2; + public const int ERR_RUNTIME_PERMISSIONS = -4; + public const int ERR_THROTTLED = -5; - public static readonly integer ESTATE_ACCESS_ALLOWED_AGENT_ADD = 4; - public static readonly integer ESTATE_ACCESS_ALLOWED_AGENT_REMOVE = 8; - public static readonly integer ESTATE_ACCESS_ALLOWED_GROUP_ADD = 16; - public static readonly integer ESTATE_ACCESS_ALLOWED_GROUP_REMOVE = 32; - public static readonly integer ESTATE_ACCESS_BANNED_AGENT_ADD = 64; - public static readonly integer ESTATE_ACCESS_BANNED_AGENT_REMOVE = 128; + public const int ESTATE_ACCESS_ALLOWED_AGENT_ADD = 4; + public const int ESTATE_ACCESS_ALLOWED_AGENT_REMOVE = 8; + public const int ESTATE_ACCESS_ALLOWED_GROUP_ADD = 16; + public const int ESTATE_ACCESS_ALLOWED_GROUP_REMOVE = 32; + public const int ESTATE_ACCESS_BANNED_AGENT_ADD = 64; + public const int ESTATE_ACCESS_BANNED_AGENT_REMOVE = 128; - public static readonly integer FORCE_DIRECT_PATH = 1; + public const int FORCE_DIRECT_PATH = 1; - public static readonly integer HTTP_BODY_MAXLENGTH = 2; - public static readonly integer HTTP_BODY_TRUNCATED = 0; - public static readonly integer HTTP_METHOD = 0; - public static readonly integer HTTP_MIMETYPE = 1; - public static readonly integer HTTP_PRAGMA_NO_CACHE = 6; - public static readonly integer HTTP_VERBOSE_THROTTLE = 4; - public static readonly integer HTTP_VERIFY_CERT = 3; + public const int HTTP_BODY_MAXLENGTH = 2; + public const int HTTP_BODY_TRUNCATED = 0; + public const int HTTP_METHOD = 0; + public const int HTTP_MIMETYPE = 1; + public const int HTTP_PRAGMA_NO_CACHE = 6; + public const int HTTP_VERBOSE_THROTTLE = 4; + public const int HTTP_VERIFY_CERT = 3; - public static readonly integer HORIZONTAL = 1; + public const int HORIZONTAL = 1; - public static readonly integer INVENTORY_ALL = -1; - public static readonly integer INVENTORY_NONE = -1; - public static readonly integer INVENTORY_TEXTURE = 0; - public static readonly integer INVENTORY_SOUND = 1; - public static readonly integer INVENTORY_LANDMARK = 3; - public static readonly integer INVENTORY_CLOTHING = 5; - public static readonly integer INVENTORY_OBJECT = 6; - public static readonly integer INVENTORY_NOTECARD = 7; - public static readonly integer INVENTORY_SCRIPT = 10; - public static readonly integer INVENTORY_BODYPART = 13; - public static readonly integer INVENTORY_ANIMATION = 20; - public static readonly integer INVENTORY_GESTURE = 21; + public const int INVENTORY_ALL = -1; + public const int INVENTORY_NONE = -1; + public const int INVENTORY_TEXTURE = 0; + public const int INVENTORY_SOUND = 1; + public const int INVENTORY_LANDMARK = 3; + public const int INVENTORY_CLOTHING = 5; + public const int INVENTORY_OBJECT = 6; + public const int INVENTORY_NOTECARD = 7; + public const int INVENTORY_SCRIPT = 10; + public const int INVENTORY_BODYPART = 13; + public const int INVENTORY_ANIMATION = 20; + public const int INVENTORY_GESTURE = 21; public static readonly string JSON_ARRAY = "\uFDD2"; public static readonly string JSON_FALSE = "\uFDD7"; @@ -418,399 +429,402 @@ namespace LSLEditor public static readonly string JSON_STRING = "\uFDD4"; public static readonly string JSON_TRUE = "\uFDD6"; - public static readonly integer KFM_CMD_PAUSE = 2; - public static readonly integer KFM_CMD_PLAY = 0; - public static readonly integer KFM_CMD_STOP = 1; - public static readonly integer KFM_COMMAND = 0; - public static readonly integer KFM_DATA = 2; - public static readonly integer KFM_FORWARD = 0; - public static readonly integer KFM_LOOP = 1; - public static readonly integer KFM_MODE = 1; - public static readonly integer KFM_PING_PONG = 2; - public static readonly integer KFM_REVERSE = 2; - public static readonly integer KFM_ROTATION = 1; - public static readonly integer KFM_TRANSLATION = 2; + public const int KFM_CMD_PAUSE = 2; + public const int KFM_CMD_PLAY = 0; + public const int KFM_CMD_STOP = 1; + public const int KFM_COMMAND = 0; + public const int KFM_DATA = 2; + public const int KFM_FORWARD = 0; + public const int KFM_LOOP = 1; + public const int KFM_MODE = 1; + public const int KFM_PING_PONG = 2; + public const int KFM_REVERSE = 2; + public const int KFM_ROTATION = 1; + public const int KFM_TRANSLATION = 2; - public static readonly integer LAND_LEVEL = 0; - public static readonly integer LAND_RAISE = 1; - public static readonly integer LAND_LOWER = 2; - public static readonly integer LAND_SMOOTH = 3; - public static readonly integer LAND_NOISE = 4; - public static readonly integer LAND_REVERT = 5; + public const int LAND_LEVEL = 0; + public const int LAND_RAISE = 1; + public const int LAND_LOWER = 2; + public const int LAND_SMOOTH = 3; + public const int LAND_NOISE = 4; + public const int LAND_REVERT = 5; - public static readonly integer LAND_LARGE_BRUSH = 3; - public static readonly integer LAND_MEDIUM_BRUSH = 2; - public static readonly integer LAND_SMALL_BRUSH = 1; + public const int LAND_LARGE_BRUSH = 3; + public const int LAND_MEDIUM_BRUSH = 2; + public const int LAND_SMALL_BRUSH = 1; - public static readonly integer LINK_ROOT = 1; - public static readonly integer LINK_SET = -1; - public static readonly integer LINK_ALL_OTHERS = -2; - public static readonly integer LINK_ALL_CHILDREN = -3; - public static readonly integer LINK_THIS = -4; + public const int LINK_ROOT = 1; + public const int LINK_SET = -1; + public const int LINK_ALL_OTHERS = -2; + public const int LINK_ALL_CHILDREN = -3; + public const int LINK_THIS = -4; - public static readonly integer LIST_STAT_RANGE = 0; - public static readonly integer LIST_STAT_MIN = 1; - public static readonly integer LIST_STAT_MAX = 2; - public static readonly integer LIST_STAT_MEAN = 3; - public static readonly integer LIST_STAT_MEDIAN = 4; - public static readonly integer LIST_STAT_STD_DEV = 5; - public static readonly integer LIST_STAT_SUM = 6; - public static readonly integer LIST_STAT_SUM_SQUARES = 7; - public static readonly integer LIST_STAT_NUM_COUNT = 8; - public static readonly integer LIST_STAT_GEOMETRIC_MEAN = 9; + public const int LIST_STAT_RANGE = 0; + public const int LIST_STAT_MIN = 1; + public const int LIST_STAT_MAX = 2; + public const int LIST_STAT_MEAN = 3; + public const int LIST_STAT_MEDIAN = 4; + public const int LIST_STAT_STD_DEV = 5; + public const int LIST_STAT_SUM = 6; + public const int LIST_STAT_SUM_SQUARES = 7; + public const int LIST_STAT_NUM_COUNT = 8; + public const int LIST_STAT_GEOMETRIC_MEAN = 9; - public static readonly integer MASK_BASE = 0; - public static readonly integer MASK_EVERYONE = 3; - public static readonly integer MASK_GROUP = 2; - public static readonly integer MASK_NEXT = 4; - public static readonly integer MASK_OWNER = 1; + public const int MASK_BASE = 0; + public const int MASK_EVERYONE = 3; + public const int MASK_GROUP = 2; + public const int MASK_NEXT = 4; + public const int MASK_OWNER = 1; - public static readonly integer OBJECT_ATTACHED_POINT = 19; - public static readonly integer OBJECT_NAME = 1; - public static readonly integer OBJECT_DESC = 2; - public static readonly integer OBJECT_POS = 3; - public static readonly integer OBJECT_ROOT = 18; - public static readonly integer OBJECT_ROT = 4; - public static readonly integer OBJECT_VELOCITY = 5; - public static readonly integer OBJECT_OWNER = 6; - public static readonly integer OBJECT_PATHFINDING_TYPE = 20; - public static readonly integer OBJECT_GROUP = 7; - public static readonly integer OBJECT_CREATOR = 8; - public static readonly integer OBJECT_PHYSICS = 21; - public static readonly integer OBJECT_PHANTOM = 22; - public static readonly integer OBJECT_TEMP_ON_REZ = 23; + public const int OBJECT_ATTACHED_POINT = 19; + public const int OBJECT_CHARACTER_TIME = 17; + public const int OBJECT_NAME = 1; + public const int OBJECT_DESC = 2; + public const int OBJECT_POS = 3; + public const int OBJECT_ROOT = 18; + public const int OBJECT_ROT = 4; + public const int OBJECT_VELOCITY = 5; + public const int OBJECT_OWNER = 6; + public const int OBJECT_PATHFINDING_TYPE = 20; + public const int OBJECT_GROUP = 7; + public const int OBJECT_CREATOR = 8; + public const int OBJECT_PHYSICS = 21; + public const int OBJECT_PHANTOM = 22; + public const int OBJECT_TEMP_ON_REZ = 23; - public static readonly integer OBJECT_STREAMING_COST = 15; - public static readonly integer OBJECT_PHYSICS_COST = 16; - public static readonly integer OBJECT_SERVER_COST = 14; - public static readonly integer OBJECT_PRIM_EQUIVALENCE = 13; + public const int OBJECT_STREAMING_COST = 15; + public const int OBJECT_PHYSICS_COST = 16; + public const int OBJECT_SERVER_COST = 14; + public const int OBJECT_PRIM_EQUIVALENCE = 13; - public static readonly integer OBJECT_RUNNING_SCRIPT_COUNT = 9; - public static readonly integer OBJECT_SCRIPT_MEMORY = 11; - public static readonly integer OBJECT_SCRIPT_TIME = 12; - public static readonly integer OBJECT_TOTAL_SCRIPT_COUNT = 10; - public static readonly integer OBJECT_UNKNOWN_DETAIL = -1; + public const int OBJECT_RUNNING_SCRIPT_COUNT = 9; + public const int OBJECT_SCRIPT_MEMORY = 11; + public const int OBJECT_SCRIPT_TIME = 12; + public const int OBJECT_TOTAL_SCRIPT_COUNT = 10; + public const int OBJECT_UNKNOWN_DETAIL = -1; - public static readonly integer OPT_AVATAR = 1; - public static readonly integer OPT_CHARACTER = 2; - public static readonly integer OPT_EXCLUSION_VOLUME = 6; - public static readonly integer OPT_LEGACY_LINKSET = 0; - public static readonly integer OPT_MATERIAL_VOLUME = 5; - public static readonly integer OPT_OTHER = -1; - public static readonly integer OPT_STATIC_OBSTACLE = 4; - public static readonly integer OPT_WALKABLE = 3; + public const int OPT_AVATAR = 1; + public const int OPT_CHARACTER = 2; + public const int OPT_EXCLUSION_VOLUME = 6; + public const int OPT_LEGACY_LINKSET = 0; + public const int OPT_MATERIAL_VOLUME = 5; + public const int OPT_OTHER = -1; + public const int OPT_STATIC_OBSTACLE = 4; + public const int OPT_WALKABLE = 3; - public static readonly integer OBJECT_RETURN_PARCEL = 1; - public static readonly integer OBJECT_RETURN_PARCEL_OWNER = 2; - public static readonly integer OBJECT_RETURN_REGION = 4; + public const int OBJECT_RETURN_PARCEL = 1; + public const int OBJECT_RETURN_PARCEL_OWNER = 2; + public const int OBJECT_RETURN_REGION = 4; - public static readonly integer PARCEL_COUNT_TOTAL = 0; - public static readonly integer PARCEL_COUNT_OWNER = 1; - public static readonly integer PARCEL_COUNT_GROUP = 2; - public static readonly integer PARCEL_COUNT_OTHER = 3; - public static readonly integer PARCEL_COUNT_SELECTED = 4; - public static readonly integer PARCEL_COUNT_TEMP = 5; + public const int PARCEL_COUNT_TOTAL = 0; + public const int PARCEL_COUNT_OWNER = 1; + public const int PARCEL_COUNT_GROUP = 2; + public const int PARCEL_COUNT_OTHER = 3; + public const int PARCEL_COUNT_SELECTED = 4; + public const int PARCEL_COUNT_TEMP = 5; - public static readonly integer PARCEL_DETAILS_AREA = 4; - public static readonly integer PARCEL_DETAILS_DESC = 1; - public static readonly integer PARCEL_DETAILS_GROUP = 3; - public static readonly integer PARCEL_DETAILS_ID = 5; - public static readonly integer PARCEL_DETAILS_NAME = 0; - public static readonly integer PARCEL_DETAILS_OWNER = 2; - public static readonly integer PARCEL_DETAILS_SEE_AVATARS = 6; + public const int PARCEL_DETAILS_AREA = 4; + public const int PARCEL_DETAILS_DESC = 1; + public const int PARCEL_DETAILS_GROUP = 3; + public const int PARCEL_DETAILS_ID = 5; + public const int PARCEL_DETAILS_NAME = 0; + public const int PARCEL_DETAILS_OWNER = 2; + public const int PARCEL_DETAILS_SEE_AVATARS = 6; - public static readonly integer PARCEL_FLAG_ALLOW_FLY = 0x0000001; - public static readonly integer PARCEL_FLAG_ALLOW_SCRIPTS = 0x0000002; - public static readonly integer PARCEL_FLAG_ALLOW_LANDMARK = 0x0000008; - public static readonly integer PARCEL_FLAG_ALLOW_TERRAFORM = 0x0000010; - public static readonly integer PARCEL_FLAG_ALLOW_DAMAGE = 0x0000020; - public static readonly integer PARCEL_FLAG_ALLOW_CREATE_OBJECTS = 0x0000040; - public static readonly integer PARCEL_FLAG_USE_ACCESS_GROUP = 0x0000100; - public static readonly integer PARCEL_FLAG_USE_ACCESS_LIST = 0x0000200; - public static readonly integer PARCEL_FLAG_USE_BAN_LIST = 0x0000400; - public static readonly integer PARCEL_FLAG_USE_LAND_PASS_LIST = 0x0000800; - public static readonly integer PARCEL_FLAG_LOCAL_SOUND_ONLY = 0x0008000; - public static readonly integer PARCEL_FLAG_RESTRICT_PUSHOBJECT = 0x0200000; - public static readonly integer PARCEL_FLAG_ALLOW_GROUP_SCRIPTS = 0x2000000; + public const int PARCEL_FLAG_ALLOW_FLY = 0x0000001; + public const int PARCEL_FLAG_ALLOW_SCRIPTS = 0x0000002; + public const int PARCEL_FLAG_ALLOW_LANDMARK = 0x0000008; + public const int PARCEL_FLAG_ALLOW_TERRAFORM = 0x0000010; + public const int PARCEL_FLAG_ALLOW_DAMAGE = 0x0000020; + public const int PARCEL_FLAG_ALLOW_CREATE_OBJECTS = 0x0000040; + public const int PARCEL_FLAG_USE_ACCESS_GROUP = 0x0000100; + public const int PARCEL_FLAG_USE_ACCESS_LIST = 0x0000200; + public const int PARCEL_FLAG_USE_BAN_LIST = 0x0000400; + public const int PARCEL_FLAG_USE_LAND_PASS_LIST = 0x0000800; + public const int PARCEL_FLAG_LOCAL_SOUND_ONLY = 0x0008000; + public const int PARCEL_FLAG_RESTRICT_PUSHOBJECT = 0x0200000; + public const int PARCEL_FLAG_ALLOW_GROUP_SCRIPTS = 0x2000000; - public static readonly integer PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS = 0x4000000; - public static readonly integer PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY = 0x8000000; - public static readonly integer PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY = 0x10000000; + public const int PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS = 0x4000000; + public const int PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY = 0x8000000; + public const int PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY = 0x10000000; - public static readonly integer PARCEL_MEDIA_COMMAND_STOP = 0; - public static readonly integer PARCEL_MEDIA_COMMAND_PAUSE = 1; - public static readonly integer PARCEL_MEDIA_COMMAND_PLAY = 2; - public static readonly integer PARCEL_MEDIA_COMMAND_LOOP = 3; - public static readonly integer PARCEL_MEDIA_COMMAND_TEXTURE = 4; - public static readonly integer PARCEL_MEDIA_COMMAND_URL = 5; - public static readonly integer PARCEL_MEDIA_COMMAND_TIME = 6; - public static readonly integer PARCEL_MEDIA_COMMAND_AGENT = 7; - public static readonly integer PARCEL_MEDIA_COMMAND_UNLOAD = 8; - public static readonly integer PARCEL_MEDIA_COMMAND_AUTO_ALIGN = 9; + public const int PARCEL_MEDIA_COMMAND_STOP = 0; + public const int PARCEL_MEDIA_COMMAND_PAUSE = 1; + public const int PARCEL_MEDIA_COMMAND_PLAY = 2; + public const int PARCEL_MEDIA_COMMAND_LOOP = 3; + public const int PARCEL_MEDIA_COMMAND_TEXTURE = 4; + public const int PARCEL_MEDIA_COMMAND_URL = 5; + public const int PARCEL_MEDIA_COMMAND_TIME = 6; + public const int PARCEL_MEDIA_COMMAND_AGENT = 7; + public const int PARCEL_MEDIA_COMMAND_UNLOAD = 8; + public const int PARCEL_MEDIA_COMMAND_AUTO_ALIGN = 9; - public static readonly integer PARCEL_MEDIA_COMMAND_TYPE = 10; - public static readonly integer PARCEL_MEDIA_COMMAND_SIZE = 11; - public static readonly integer PARCEL_MEDIA_COMMAND_DESC = 12; - public static readonly integer PARCEL_MEDIA_COMMAND_LOOP_SET = 13; + public const int PARCEL_MEDIA_COMMAND_TYPE = 10; + public const int PARCEL_MEDIA_COMMAND_SIZE = 11; + public const int PARCEL_MEDIA_COMMAND_DESC = 12; + public const int PARCEL_MEDIA_COMMAND_LOOP_SET = 13; - public static readonly integer PAY_DEFAULT = -2; - public static readonly integer PAY_HIDE = -1; + public const int PAY_DEFAULT = -2; + public const int PAY_HIDE = -1; - public static readonly integer PAYMENT_INFO_ON_FILE = 1; - public static readonly integer PAYMENT_INFO_USED = 2; + public const int PAYMENT_INFO_ON_FILE = 1; + public const int PAYMENT_INFO_USED = 2; - public static readonly integer PERM_ALL = 2147483647; - public static readonly integer PERM_COPY = 32768; - public static readonly integer PERM_MODIFY = 16384; - public static readonly integer PERM_MOVE = 524288; - public static readonly integer PERM_TRANSFER = 8192; + public const int PERM_ALL = 2147483647; + public const int PERM_COPY = 32768; + public const int PERM_MODIFY = 16384; + public const int PERM_MOVE = 524288; + public const int PERM_TRANSFER = 8192; - public static readonly integer PERMISSION_DEBIT = 2; - public static readonly integer PERMISSION_TAKE_CONTROLS = 4; - public static readonly integer PERMISSION_REMAP_CONTROLS = 8; - public static readonly integer PERMISSION_TRIGGER_ANIMATION = 16; - public static readonly integer PERMISSION_ATTACH = 32; - public static readonly integer PERMISSION_RELEASE_OWNERSHIP = 64; - public static readonly integer PERMISSION_CHANGE_LINKS = 128; - public static readonly integer PERMISSION_CHANGE_JOINTS = 256; - public static readonly integer PERMISSION_CHANGE_PERMISSIONS = 512; - public static readonly integer PERMISSION_CONTROL_CAMERA = 2048; - public static readonly integer PERMISSION_OVERRIDE_ANIMATIONS = 0x8000; - public static readonly integer PERMISSION_TRACK_CAMERA = 1024; - public static readonly integer PERMISSION_RETURN_OBJECTS = 65536; + public const int PERMISSION_DEBIT = 2; + public const int PERMISSION_TAKE_CONTROLS = 4; + public const int PERMISSION_REMAP_CONTROLS = 8; + public const int PERMISSION_TRIGGER_ANIMATION = 16; + public const int PERMISSION_ATTACH = 32; + public const int PERMISSION_RELEASE_OWNERSHIP = 64; + public const int PERMISSION_CHANGE_LINKS = 128; + public const int PERMISSION_CHANGE_JOINTS = 256; + public const int PERMISSION_CHANGE_PERMISSIONS = 512; + public const int PERMISSION_CONTROL_CAMERA = 2048; + public const int PERMISSION_OVERRIDE_ANIMATIONS = 0x8000; + public const int PERMISSION_TRACK_CAMERA = 1024; + public const int PERMISSION_RETURN_OBJECTS = 65536; - public static readonly integer PRIM_BUMP_BARK = 4; - public static readonly integer PRIM_BUMP_BLOBS = 12; - public static readonly integer PRIM_BUMP_BRICKS = 5; - public static readonly integer PRIM_BUMP_BRIGHT = 1; - public static readonly integer PRIM_BUMP_CHECKER = 6; - public static readonly integer PRIM_BUMP_CONCRETE = 7; - public static readonly integer PRIM_BUMP_DARK = 2; - public static readonly integer PRIM_BUMP_DISKS = 10; - public static readonly integer PRIM_BUMP_GRAVEL = 11; - public static readonly integer PRIM_BUMP_LARGETILE = 14; - public static readonly integer PRIM_BUMP_NONE = 0; - public static readonly integer PRIM_BUMP_SHINY = 19; - public static readonly integer PRIM_BUMP_SIDING = 13; - public static readonly integer PRIM_BUMP_STONE = 9; - public static readonly integer PRIM_BUMP_STUCCO = 15; - public static readonly integer PRIM_BUMP_SUCTION = 16; - public static readonly integer PRIM_BUMP_TILE = 8; - public static readonly integer PRIM_BUMP_WEAVE = 17; - public static readonly integer PRIM_BUMP_WOOD = 3; + public const int PRIM_BUMP_BARK = 4; + public const int PRIM_BUMP_BLOBS = 12; + public const int PRIM_BUMP_BRICKS = 5; + public const int PRIM_BUMP_BRIGHT = 1; + public const int PRIM_BUMP_CHECKER = 6; + public const int PRIM_BUMP_CONCRETE = 7; + public const int PRIM_BUMP_DARK = 2; + public const int PRIM_BUMP_DISKS = 10; + public const int PRIM_BUMP_GRAVEL = 11; + public const int PRIM_BUMP_LARGETILE = 14; + public const int PRIM_BUMP_NONE = 0; + public const int PRIM_BUMP_SHINY = 19; + public const int PRIM_BUMP_SIDING = 13; + public const int PRIM_BUMP_STONE = 9; + public const int PRIM_BUMP_STUCCO = 15; + public const int PRIM_BUMP_SUCTION = 16; + public const int PRIM_BUMP_TILE = 8; + public const int PRIM_BUMP_WEAVE = 17; + public const int PRIM_BUMP_WOOD = 3; - public static readonly integer PRIM_CAST_SHADOWS = 24; - public static readonly integer PRIM_COLOR = 18; - public static readonly integer PRIM_DESC = 28; - public static readonly integer PRIM_FLEXIBLE = 21; - public static readonly integer PRIM_FULLBRIGHT = 20; - public static readonly integer PRIM_HOLE_CIRCLE = 16; - public static readonly integer PRIM_HOLE_DEFAULT = 0; - public static readonly integer PRIM_HOLE_SQUARE = 32; - public static readonly integer PRIM_HOLE_TRIANGLE = 48; - public static readonly integer PRIM_LINK_TARGET = 34; - public static readonly integer PRIM_MATERIAL = 2; - public static readonly integer PRIM_MATERIAL_FLESH = 4; - public static readonly integer PRIM_MATERIAL_GLASS = 2; - public static readonly integer PRIM_MATERIAL_LIGHT = 7; - public static readonly integer PRIM_MATERIAL_METAL = 1; - public static readonly integer PRIM_MATERIAL_PLASTIC = 5; - public static readonly integer PRIM_MATERIAL_RUBBER = 6; - public static readonly integer PRIM_MATERIAL_STONE = 0; - public static readonly integer PRIM_MATERIAL_WOOD = 3; + public const int PRIM_CAST_SHADOWS = 24; + public const int PRIM_COLOR = 18; + public const int PRIM_DESC = 28; + public const int PRIM_FLEXIBLE = 21; + public const int PRIM_FULLBRIGHT = 20; + public const int PRIM_HOLE_CIRCLE = 16; + public const int PRIM_HOLE_DEFAULT = 0; + public const int PRIM_HOLE_SQUARE = 32; + public const int PRIM_HOLE_TRIANGLE = 48; + public const int PRIM_LINK_TARGET = 34; + public const int PRIM_MATERIAL = 2; + public const int PRIM_MATERIAL_FLESH = 4; + public const int PRIM_MATERIAL_GLASS = 2; + public const int PRIM_MATERIAL_LIGHT = 7; + public const int PRIM_MATERIAL_METAL = 1; + public const int PRIM_MATERIAL_PLASTIC = 5; + public const int PRIM_MATERIAL_RUBBER = 6; + public const int PRIM_MATERIAL_STONE = 0; + public const int PRIM_MATERIAL_WOOD = 3; - public static readonly integer PRIM_MEDIA_ALT_IMAGE_ENABLE = 0; - public static readonly integer PRIM_MEDIA_AUTO_LOOP = 4; - public static readonly integer PRIM_MEDIA_AUTO_PLAY = 5; - public static readonly integer PRIM_MEDIA_AUTO_SCALE = 6; - public static readonly integer PRIM_MEDIA_AUTO_ZOOM = 7; - public static readonly integer PRIM_MEDIA_CONTROLS = 1; - public static readonly integer PRIM_MEDIA_CONTROLS_MINI = 1; - public static readonly integer PRIM_MEDIA_CONTROLS_STANDARD = 0; - public static readonly integer PRIM_MEDIA_CURRENT_URL = 2; - public static readonly integer PRIM_MEDIA_FIRST_CLICK_INTERACT = 8; - public static readonly integer PRIM_MEDIA_HEIGHT_PIXELS = 10; - public static readonly integer PRIM_MEDIA_HOME_URL = 3; - public static readonly integer PRIM_MEDIA_PERM_ANYONE = 4; - public static readonly integer PRIM_MEDIA_PERM_GROUP = 2; - public static readonly integer PRIM_MEDIA_PERM_NONE = 0; - public static readonly integer PRIM_MEDIA_PERM_OWNER = 1; - public static readonly integer PRIM_MEDIA_PERMS_CONTROL = 14; - public static readonly integer PRIM_MEDIA_PERMS_INTERACT = 13; - public static readonly integer PRIM_MEDIA_WHITELIST = 12; - public static readonly integer PRIM_MEDIA_WHITELIST_ENABLE = 11; - public static readonly integer PRIM_MEDIA_WIDTH_PIXELS = 9; + public const int PRIM_MEDIA_ALT_IMAGE_ENABLE = 0; + public const int PRIM_MEDIA_AUTO_LOOP = 4; + public const int PRIM_MEDIA_AUTO_PLAY = 5; + public const int PRIM_MEDIA_AUTO_SCALE = 6; + public const int PRIM_MEDIA_AUTO_ZOOM = 7; + public const int PRIM_MEDIA_CONTROLS = 1; + public const int PRIM_MEDIA_CONTROLS_MINI = 1; + public const int PRIM_MEDIA_CONTROLS_STANDARD = 0; + public const int PRIM_MEDIA_CURRENT_URL = 2; + public const int PRIM_MEDIA_FIRST_CLICK_INTERACT = 8; + public const int PRIM_MEDIA_HEIGHT_PIXELS = 10; + public const int PRIM_MEDIA_HOME_URL = 3; + public const int PRIM_MEDIA_PERM_ANYONE = 4; + public const int PRIM_MEDIA_PERM_GROUP = 2; + public const int PRIM_MEDIA_PERM_NONE = 0; + public const int PRIM_MEDIA_PERM_OWNER = 1; + public const int PRIM_MEDIA_PERMS_CONTROL = 14; + public const int PRIM_MEDIA_PERMS_INTERACT = 13; + public const int PRIM_MEDIA_WHITELIST = 12; + public const int PRIM_MEDIA_WHITELIST_ENABLE = 11; + public const int PRIM_MEDIA_WIDTH_PIXELS = 9; - public static readonly integer PRIM_NAME = 27; - public static readonly integer PRIM_OMEGA = 32; - public static readonly integer PRIM_PHANTOM = 5; - public static readonly integer PRIM_PHYSICS = 3; - public static readonly integer PRIM_PHYSICS_MATERIAL = 31; - public static readonly integer PRIM_PHYSICS_SHAPE_CONVEX = 2; - public static readonly integer PRIM_PHYSICS_SHAPE_NONE = 1; - public static readonly integer PRIM_PHYSICS_SHAPE_PRIM = 0; - public static readonly integer PRIM_PHYSICS_SHAPE_TYPE = 30; - public static readonly integer PRIM_POINT_LIGHT = 23; - public static readonly integer PRIM_POSITION = 6; - public static readonly integer PRIM_POS_LOCAL = 33; - public static readonly integer PRIM_ROTATION = 8; - public static readonly integer PRIM_ROT_LOCAL = 29; - public static readonly integer PRIM_SCULPT_FLAG_INVERT = 64; - public static readonly integer PRIM_SCULPT_FLAG_MIRROR = 128; - public static readonly integer PRIM_SHINY_HIGH = 3; - public static readonly integer PRIM_SHINY_LOW = 1; - public static readonly integer PRIM_SHINY_MEDIUM = 2; - public static readonly integer PRIM_SHINY_NONE = 0; - public static readonly integer PRIM_SIZE = 7; - public static readonly integer PRIM_SLICE = 35; - public static readonly integer PRIM_TEMP_ON_REZ = 4; - public static readonly integer PRIM_TEXGEN = 22; - public static readonly integer PRIM_TEXGEN_DEFAULT = 0; - public static readonly integer PRIM_TEXGEN_PLANAR = 1; - public static readonly integer PRIM_TEXT = 26; - public static readonly integer PRIM_TEXTURE = 17; - public static readonly integer PRIM_TYPE = 9; + public const int PRIM_NAME = 27; + public const int PRIM_OMEGA = 32; + public const int PRIM_PHANTOM = 5; + public const int PRIM_PHYSICS = 3; + public const int PRIM_PHYSICS_MATERIAL = 31; + public const int PRIM_PHYSICS_SHAPE_CONVEX = 2; + public const int PRIM_PHYSICS_SHAPE_NONE = 1; + public const int PRIM_PHYSICS_SHAPE_PRIM = 0; + public const int PRIM_PHYSICS_SHAPE_TYPE = 30; + public const int PRIM_POINT_LIGHT = 23; + public const int PRIM_POSITION = 6; + public const int PRIM_POS_LOCAL = 33; + public const int PRIM_ROTATION = 8; + public const int PRIM_ROT_LOCAL = 29; + public const int PRIM_SCULPT_FLAG_INVERT = 64; + public const int PRIM_SCULPT_FLAG_MIRROR = 128; + public const int PRIM_SHINY_HIGH = 3; + public const int PRIM_SHINY_LOW = 1; + public const int PRIM_SHINY_MEDIUM = 2; + public const int PRIM_SHINY_NONE = 0; + public const int PRIM_SIZE = 7; + public const int PRIM_SLICE = 35; + public const int PRIM_TEMP_ON_REZ = 4; + public const int PRIM_TEXGEN = 22; + public const int PRIM_TEXGEN_DEFAULT = 0; + public const int PRIM_TEXGEN_PLANAR = 1; + public const int PRIM_TEXT = 26; + public const int PRIM_TEXTURE = 17; + public const int PRIM_TYPE = 9; - public static readonly integer PRIM_TYPE_BOX = 0; - public static readonly integer PRIM_TYPE_CYLINDER = 1; - public static readonly integer PRIM_TYPE_PRISM = 2; - public static readonly integer PRIM_TYPE_SPHERE = 3; - public static readonly integer PRIM_TYPE_TORUS = 4; - public static readonly integer PRIM_TYPE_TUBE = 5; - public static readonly integer PRIM_TYPE_RING = 6; - public static readonly integer PRIM_TYPE_SCULPT = 7; + public const int PRIM_TYPE_BOX = 0; + public const int PRIM_TYPE_CYLINDER = 1; + public const int PRIM_TYPE_PRISM = 2; + public const int PRIM_TYPE_SPHERE = 3; + public const int PRIM_TYPE_TORUS = 4; + public const int PRIM_TYPE_TUBE = 5; + public const int PRIM_TYPE_RING = 6; + public const int PRIM_TYPE_SCULPT = 7; - public static readonly integer PRIM_GLOW = 25; + public const int PRIM_GLOW = 25; - public static readonly integer PRIM_SCULPT_TYPE_MASK = 7; - public static readonly integer PRIM_SCULPT_TYPE_SPHERE = 1; - public static readonly integer PRIM_SCULPT_TYPE_TORUS = 2; - public static readonly integer PRIM_SCULPT_TYPE_PLANE = 3; - public static readonly integer PRIM_SCULPT_TYPE_CYLINDER = 4; + public const int PRIM_SCULPT_TYPE_MASK = 7; + public const int PRIM_SCULPT_TYPE_SPHERE = 1; + public const int PRIM_SCULPT_TYPE_TORUS = 2; + public const int PRIM_SCULPT_TYPE_PLANE = 3; + public const int PRIM_SCULPT_TYPE_CYLINDER = 4; - public static readonly integer PROFILE_NONE = 0; - public static readonly integer PROFILE_SCRIPT_MEMORY = 1; + public const int PROFILE_NONE = 0; + public const int PROFILE_SCRIPT_MEMORY = 1; - public static readonly integer PSYS_PART_FLAGS = 0; - public static readonly integer PSYS_PART_INTERP_COLOR_MASK = 1; - public static readonly integer PSYS_PART_INTERP_SCALE_MASK = 2; - public static readonly integer PSYS_PART_BOUNCE_MASK = 4; - public static readonly integer PSYS_PART_WIND_MASK = 8; - public static readonly integer PSYS_PART_FOLLOW_SRC_MASK = 16; - public static readonly integer PSYS_PART_FOLLOW_VELOCITY_MASK = 32; - public static readonly integer PSYS_PART_TARGET_POS_MASK = 64; - public static readonly integer PSYS_PART_TARGET_LINEAR_MASK = 128; - public static readonly integer PSYS_PART_EMISSIVE_MASK = 256; + public const int PSYS_PART_FLAGS = 0; + public const int PSYS_PART_INTERP_COLOR_MASK = 1; + public const int PSYS_PART_INTERP_SCALE_MASK = 2; + public const int PSYS_PART_BOUNCE_MASK = 4; + public const int PSYS_PART_WIND_MASK = 8; + public const int PSYS_PART_FOLLOW_SRC_MASK = 16; + public const int PSYS_PART_FOLLOW_VELOCITY_MASK = 32; + public const int PSYS_PART_TARGET_POS_MASK = 64; + public const int PSYS_PART_TARGET_LINEAR_MASK = 128; + public const int PSYS_PART_EMISSIVE_MASK = 256; - public static readonly integer PSYS_PART_SRC_PATTERN_ANGLE = 0x04; - public static readonly integer PSYS_PART_SRC_PATTERN_ANGLE_CONE = 0x08; - public static readonly integer PSYS_PART_SRC_PATTERN_DROP = 0x01; - public static readonly integer PSYS_PART_SRC_PATTERN_EXPLODE = 0x02; + public const int PSYS_PART_SRC_PATTERN_ANGLE = 0x04; + public const int PSYS_PART_SRC_PATTERN_ANGLE_CONE = 0x08; + public const int PSYS_PART_SRC_PATTERN_DROP = 0x01; + public const int PSYS_PART_SRC_PATTERN_EXPLODE = 0x02; - public static readonly integer PSYS_PART_START_COLOR = 1; - public static readonly integer PSYS_PART_START_ALPHA = 2; - public static readonly integer PSYS_PART_END_COLOR = 3; - public static readonly integer PSYS_PART_END_ALPHA = 4; - public static readonly integer PSYS_PART_START_SCALE = 5; - public static readonly integer PSYS_PART_END_SCALE = 6; - public static readonly integer PSYS_PART_MAX_AGE = 7; + public const int PSYS_PART_START_COLOR = 1; + public const int PSYS_PART_START_ALPHA = 2; + public const int PSYS_PART_END_COLOR = 3; + public const int PSYS_PART_END_ALPHA = 4; + public const int PSYS_PART_START_SCALE = 5; + public const int PSYS_PART_END_SCALE = 6; + public const int PSYS_PART_MAX_AGE = 7; - public static readonly integer PSYS_SRC_ACCEL = 8; - public static readonly integer PSYS_SRC_PATTERN = 9; - public static readonly integer PSYS_SRC_INNERANGLE = 10; - public static readonly integer PSYS_SRC_OUTERANGLE = 11; - public static readonly integer PSYS_SRC_TEXTURE = 12; - public static readonly integer PSYS_SRC_BURST_RATE = 13; - public static readonly integer PSYS_SRC_BURST_PART_COUNT = 15; - public static readonly integer PSYS_SRC_BURST_RADIUS = 16; - public static readonly integer PSYS_SRC_BURST_SPEED_MIN = 17; - public static readonly integer PSYS_SRC_BURST_SPEED_MAX = 18; - public static readonly integer PSYS_SRC_MAX_AGE = 19; - public static readonly integer PSYS_SRC_TARGET_KEY = 20; - public static readonly integer PSYS_SRC_OMEGA = 21; - public static readonly integer PSYS_SRC_ANGLE_BEGIN = 22; - public static readonly integer PSYS_SRC_ANGLE_END = 23; + public const int PSYS_SRC_ACCEL = 8; + public const int PSYS_SRC_PATTERN = 9; + public const int PSYS_SRC_INNERANGLE = 10; + public const int PSYS_SRC_OUTERANGLE = 11; + public const int PSYS_SRC_TEXTURE = 12; + public const int PSYS_SRC_BURST_RATE = 13; + public const int PSYS_SRC_BURST_PART_COUNT = 15; + public const int PSYS_SRC_BURST_RADIUS = 16; + public const int PSYS_SRC_BURST_SPEED_MIN = 17; + public const int PSYS_SRC_BURST_SPEED_MAX = 18; + public const int PSYS_SRC_MAX_AGE = 19; + public const int PSYS_SRC_TARGET_KEY = 20; + public const int PSYS_SRC_OMEGA = 21; + public const int PSYS_SRC_ANGLE_BEGIN = 22; + public const int PSYS_SRC_ANGLE_END = 23; - public static readonly integer PSYS_SRC_PATTERN_DROP = 1; - public static readonly integer PSYS_SRC_PATTERN_EXPLODE = 2; - public static readonly integer PSYS_SRC_PATTERN_ANGLE = 4; - public static readonly integer PSYS_SRC_PATTERN_ANGLE_CONE = 8; - public static readonly integer PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY = 16; + public const int PSYS_SRC_PATTERN_DROP = 1; + public const int PSYS_SRC_PATTERN_EXPLODE = 2; + public const int PSYS_SRC_PATTERN_ANGLE = 4; + public const int PSYS_SRC_PATTERN_ANGLE_CONE = 8; + public const int PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY = 16; - public static readonly integer PU_EVADE_HIDDEN = 0x07; - public static readonly integer PU_EVADE_SPOTTED = 0x08; - public static readonly integer PU_FAILURE_INVALID_GOAL = 0x03; - public static readonly integer PU_FAILURE_INVALID_START = 0x02; - public static readonly integer PU_FAILURE_NO_VALID_DESTINATION = 0x06; - public static readonly integer PU_FAILURE_OTHER = 1000000; - public static readonly integer PU_FAILURE_TARGET_GONE = 0x05; - public static readonly integer PU_FAILURE_UNREACHABLE = 0x04; - public static readonly integer PU_GOAL_REACHED = 0x01; - public static readonly integer PU_SLOWDOWN_DISTANCE_REACHED = 0x00; + public const int PU_EVADE_HIDDEN = 0x07; + public const int PU_EVADE_SPOTTED = 0x08; + public const int PU_FAILURE_DYNAMIC_PATHFINDING_DISABLED = 10; + public const int PU_FAILURE_PARCEL_UNREACHABLE = 11; + public const int PU_FAILURE_INVALID_GOAL = 0x03; + public const int PU_FAILURE_INVALID_START = 0x02; + public const int PU_FAILURE_NO_VALID_DESTINATION = 0x06; + public const int PU_FAILURE_OTHER = 1000000; + public const int PU_FAILURE_TARGET_GONE = 0x05; + public const int PU_FAILURE_UNREACHABLE = 0x04; + public const int PU_GOAL_REACHED = 0x01; + public const int PU_SLOWDOWN_DISTANCE_REACHED = 0x00; - public static readonly integer PUBLIC_CHANNEL = 0; + public const int PUBLIC_CHANNEL = 0; - public static readonly integer PURSUIT_FUZZ_FACTOR = 3; - public static readonly integer PURSUIT_INTERCEPT = 4; - public static readonly integer PURSUIT_OFFSET = 1; + public const int PURSUIT_FUZZ_FACTOR = 3; + public const int PURSUIT_INTERCEPT = 4; + public const int PURSUIT_OFFSET = 1; - public static readonly integer RC_DATA_FLAGS = 2; - public static readonly integer RC_DETECT_PHANTOM = 1; - public static readonly integer RC_GET_LINK_NUM = 4; - public static readonly integer RC_GET_NORMAL = 1; - public static readonly integer RC_GET_ROOT_KEY = 2; - public static readonly integer RC_MAX_HITS = 3; - public static readonly integer RC_REJECT_AGENTS = 1; - public static readonly integer RC_REJECT_LAND = 8; - public static readonly integer RC_REJECT_NONPHYSICAL = 4; - public static readonly integer RC_REJECT_PHYSICAL = 2; - public static readonly integer RC_REJECT_TYPES = 2; - public static readonly integer RCERR_CAST_TIME_EXCEEDED = -3; - public static readonly integer RCERR_SIM_PERF_LOW = -2; - public static readonly integer RCERR_UNKNOWN = -1; + public const int RC_DATA_FLAGS = 2; + public const int RC_DETECT_PHANTOM = 1; + public const int RC_GET_LINK_NUM = 4; + public const int RC_GET_NORMAL = 1; + public const int RC_GET_ROOT_KEY = 2; + public const int RC_MAX_HITS = 3; + public const int RC_REJECT_AGENTS = 1; + public const int RC_REJECT_LAND = 8; + public const int RC_REJECT_NONPHYSICAL = 4; + public const int RC_REJECT_PHYSICAL = 2; + public const int RC_REJECT_TYPES = 2; + public const int RCERR_CAST_TIME_EXCEEDED = -3; + public const int RCERR_SIM_PERF_LOW = -2; + public const int RCERR_UNKNOWN = -1; - public static readonly integer REGION_FLAG_ALLOW_DAMAGE = 1; - public static readonly integer REGION_FLAG_FIXED_SUN = 16; - public static readonly integer REGION_FLAG_BLOCK_TERRAFORM = 64; - public static readonly integer REGION_FLAG_SANDBOX = 256; - public static readonly integer REGION_FLAG_DISABLE_COLLISIONS = 4096; - public static readonly integer REGION_FLAG_DISABLE_PHYSICS = 16384; - public static readonly integer REGION_FLAG_BLOCK_FLY = 524288; - public static readonly integer REGION_FLAG_ALLOW_DIRECT_TELEPORT = 1048576; - public static readonly integer REGION_FLAG_RESTRICT_PUSHOBJECT = 4194304; + public const int REGION_FLAG_ALLOW_DAMAGE = 1; + public const int REGION_FLAG_FIXED_SUN = 16; + public const int REGION_FLAG_BLOCK_TERRAFORM = 64; + public const int REGION_FLAG_SANDBOX = 256; + public const int REGION_FLAG_DISABLE_COLLISIONS = 4096; + public const int REGION_FLAG_DISABLE_PHYSICS = 16384; + public const int REGION_FLAG_BLOCK_FLY = 524288; + public const int REGION_FLAG_ALLOW_DIRECT_TELEPORT = 1048576; + public const int REGION_FLAG_RESTRICT_PUSHOBJECT = 4194304; - public static readonly integer REMOTE_DATA_CHANNEL = 1; - public static readonly integer REMOTE_DATA_REQUEST = 2; - public static readonly integer REMOTE_DATA_REPLY = 3; + public const int REMOTE_DATA_CHANNEL = 1; + public const int REMOTE_DATA_REQUEST = 2; + public const int REMOTE_DATA_REPLY = 3; - public static readonly integer REQUIRE_LINE_OF_SIGHT = 2; + public const int REQUIRE_LINE_OF_SIGHT = 2; - public static readonly integer SIM_STAT_PCT_CHARS_STEPPED = 0; + public const int SIM_STAT_PCT_CHARS_STEPPED = 0; - public static readonly integer STATUS_PHYSICS = 1; - public static readonly integer STATUS_ROTATE_X = 2; - public static readonly integer STATUS_ROTATE_Y = 4; - public static readonly integer STATUS_ROTATE_Z = 8; - public static readonly integer STATUS_PHANTOM = 16; - public static readonly integer STATUS_SANDBOX = 32; - public static readonly integer STATUS_BLOCK_GRAB = 64; - public static readonly integer STATUS_BLOCK_GRAB_OBJECT = 1024; - public static readonly integer STATUS_DIE_AT_EDGE = 128; - public static readonly integer STATUS_RETURN_AT_EDGE = 256; - public static readonly integer STATUS_CAST_SHADOWS = 512; - public static readonly integer STATUS_BOUNDS_ERROR = 1002; - public static readonly integer STATUS_INTERNAL_ERROR = 1999; - public static readonly integer STATUS_MALFORMED_PARAMS = 1000; - public static readonly integer STATUS_NOT_FOUND = 1003; - public static readonly integer STATUS_NOT_SUPPORTED = 1004; - public static readonly integer STATUS_OK = 0; - public static readonly integer STATUS_TYPE_MISMATCH = 1001; - public static readonly integer STATUS_WHITELIST_FAILED = 2001; + public const int STATUS_PHYSICS = 1; + public const int STATUS_ROTATE_X = 2; + public const int STATUS_ROTATE_Y = 4; + public const int STATUS_ROTATE_Z = 8; + public const int STATUS_PHANTOM = 16; + public const int STATUS_SANDBOX = 32; + public const int STATUS_BLOCK_GRAB = 64; + public const int STATUS_BLOCK_GRAB_OBJECT = 1024; + public const int STATUS_DIE_AT_EDGE = 128; + public const int STATUS_RETURN_AT_EDGE = 256; + public const int STATUS_CAST_SHADOWS = 512; + public const int STATUS_BOUNDS_ERROR = 1002; + public const int STATUS_INTERNAL_ERROR = 1999; + public const int STATUS_MALFORMED_PARAMS = 1000; + public const int STATUS_NOT_FOUND = 1003; + public const int STATUS_NOT_SUPPORTED = 1004; + public const int STATUS_OK = 0; + public const int STATUS_TYPE_MISMATCH = 1001; + public const int STATUS_WHITELIST_FAILED = 2001; - public static readonly integer STRING_TRIM_HEAD = 1; - public static readonly integer STRING_TRIM_TAIL = 2; - public static readonly integer STRING_TRIM = 3; + public const int STRING_TRIM_HEAD = 1; + public const int STRING_TRIM_TAIL = 2; + public const int STRING_TRIM = 3; public static readonly key TEXTURE_BLANK = "5748decc-f629-461c-9a36-a35a221fe21f"; public static readonly key TEXTURE_DEFAULT = "89556747-24cb-43ed-920b-47caed15465f"; @@ -818,75 +832,75 @@ namespace LSLEditor public static readonly key TEXTURE_TRANSPARENT = "8dcd4a48-2d37-4909-9f78-f7a9eb4ef903"; public static readonly key TEXTURE_MEDIA = "8b5fec65-8d8d-9dc5-cda8-8fdf2716e361"; - public static readonly integer TOUCH_INVALID_FACE = 0xFFFFFFFF; + public const int TOUCH_INVALID_FACE = -1; public static readonly vector TOUCH_INVALID_TEXCOORD = new vector(-1.0, -1.0, 0.0); public static readonly vector TOUCH_INVALID_VECTOR = new vector(0.0, 0.0, 0.0); - public static readonly integer TRAVERSAL_TYPE = 7; - public static readonly integer TRAVERSAL_TYPE_FAST = 1; - public static readonly integer TRAVERSAL_TYPE_NONE = 2; - public static readonly integer TRAVERSAL_TYPE_SLOW = 0; + public const int TRAVERSAL_TYPE = 7; + public const int TRAVERSAL_TYPE_FAST = 1; + public const int TRAVERSAL_TYPE_NONE = 2; + public const int TRAVERSAL_TYPE_SLOW = 0; - public static readonly integer TYPE_INTEGER = 1; - public static readonly integer TYPE_FLOAT = 2; - public static readonly integer TYPE_STRING = 3; - public static readonly integer TYPE_KEY = 4; - public static readonly integer TYPE_VECTOR = 5; - public static readonly integer TYPE_ROTATION = 6; - public static readonly integer TYPE_INVALID = 0; + public const int TYPE_INTEGER = 1; + public const int TYPE_FLOAT = 2; + public const int TYPE_STRING = 3; + public const int TYPE_KEY = 4; + public const int TYPE_VECTOR = 5; + public const int TYPE_ROTATION = 6; + public const int TYPE_INVALID = 0; public static readonly String URL_REQUEST_GRANTED = "URL_REQUEST_GRANTED"; public static readonly String URL_REQUEST_DENIED = "URL_REQUEST_DENIED"; - public static readonly integer VEHICLE_TYPE_NONE = 0; + public const int VEHICLE_TYPE_NONE = 0; - public static readonly integer VEHICLE_LINEAR_FRICTION_TIMESCALE = 16; - public static readonly integer VEHICLE_ANGULAR_FRICTION_TIMESCALE = 17; - public static readonly integer VEHICLE_LINEAR_MOTOR_DIRECTION = 18; - public static readonly integer VEHICLE_ANGULAR_MOTOR_DIRECTION = 19; - public static readonly integer VEHICLE_LINEAR_MOTOR_OFFSET = 20; - public static readonly integer VEHICLE_HOVER_HEIGHT = 24; - public static readonly integer VEHICLE_HOVER_EFFICIENCY = 25; - public static readonly integer VEHICLE_HOVER_TIMESCALE = 26; - public static readonly integer VEHICLE_BUOYANCY = 27; - public static readonly integer VEHICLE_LINEAR_DEFLECTION_EFFICIENCY = 28; - public static readonly integer VEHICLE_LINEAR_DEFLECTION_TIMESCALE = 29; - public static readonly integer VEHICLE_LINEAR_MOTOR_TIMESCALE = 30; - public static readonly integer VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE = 31; - public static readonly integer VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY = 32; - public static readonly integer VEHICLE_ANGULAR_DEFLECTION_TIMESCALE = 33; - public static readonly integer VEHICLE_ANGULAR_MOTOR_TIMESCALE = 34; - public static readonly integer VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE = 35; - public static readonly integer VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY = 36; - public static readonly integer VEHICLE_VERTICAL_ATTRACTION_TIMESCALE = 37; - public static readonly integer VEHICLE_BANKING_EFFICIENCY = 38; - public static readonly integer VEHICLE_BANKING_MIX = 39; - public static readonly integer VEHICLE_BANKING_TIMESCALE = 40; - public static readonly integer VEHICLE_REFERENCE_FRAME = 44; + public const int VEHICLE_LINEAR_FRICTION_TIMESCALE = 16; + public const int VEHICLE_ANGULAR_FRICTION_TIMESCALE = 17; + public const int VEHICLE_LINEAR_MOTOR_DIRECTION = 18; + public const int VEHICLE_ANGULAR_MOTOR_DIRECTION = 19; + public const int VEHICLE_LINEAR_MOTOR_OFFSET = 20; + public const int VEHICLE_HOVER_HEIGHT = 24; + public const int VEHICLE_HOVER_EFFICIENCY = 25; + public const int VEHICLE_HOVER_TIMESCALE = 26; + public const int VEHICLE_BUOYANCY = 27; + public const int VEHICLE_LINEAR_DEFLECTION_EFFICIENCY = 28; + public const int VEHICLE_LINEAR_DEFLECTION_TIMESCALE = 29; + public const int VEHICLE_LINEAR_MOTOR_TIMESCALE = 30; + public const int VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE = 31; + public const int VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY = 32; + public const int VEHICLE_ANGULAR_DEFLECTION_TIMESCALE = 33; + public const int VEHICLE_ANGULAR_MOTOR_TIMESCALE = 34; + public const int VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE = 35; + public const int VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY = 36; + public const int VEHICLE_VERTICAL_ATTRACTION_TIMESCALE = 37; + public const int VEHICLE_BANKING_EFFICIENCY = 38; + public const int VEHICLE_BANKING_MIX = 39; + public const int VEHICLE_BANKING_TIMESCALE = 40; + public const int VEHICLE_REFERENCE_FRAME = 44; // depricaded - public static readonly integer VEHICLE_FLAG_NO_FLY_UP = 1; + public const int VEHICLE_FLAG_NO_FLY_UP = 1; - public static readonly integer VEHICLE_FLAG_NO_DEFLECTION_UP = 1; - public static readonly integer VEHICLE_FLAG_LIMIT_ROLL_ONLY = 2; - public static readonly integer VEHICLE_FLAG_HOVER_WATER_ONLY = 4; - public static readonly integer VEHICLE_FLAG_HOVER_TERRAIN_ONLY = 8; - public static readonly integer VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT = 16; - public static readonly integer VEHICLE_FLAG_HOVER_UP_ONLY = 32; - public static readonly integer VEHICLE_FLAG_LIMIT_MOTOR_UP = 64; - public static readonly integer VEHICLE_FLAG_MOUSELOOK_STEER = 128; - public static readonly integer VEHICLE_FLAG_MOUSELOOK_BANK = 256; - public static readonly integer VEHICLE_FLAG_CAMERA_DECOUPLED = 512; + public const int VEHICLE_FLAG_NO_DEFLECTION_UP = 1; + public const int VEHICLE_FLAG_LIMIT_ROLL_ONLY = 2; + public const int VEHICLE_FLAG_HOVER_WATER_ONLY = 4; + public const int VEHICLE_FLAG_HOVER_TERRAIN_ONLY = 8; + public const int VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT = 16; + public const int VEHICLE_FLAG_HOVER_UP_ONLY = 32; + public const int VEHICLE_FLAG_LIMIT_MOTOR_UP = 64; + public const int VEHICLE_FLAG_MOUSELOOK_STEER = 128; + public const int VEHICLE_FLAG_MOUSELOOK_BANK = 256; + public const int VEHICLE_FLAG_CAMERA_DECOUPLED = 512; - public static readonly integer VEHICLE_TYPE_SLED = 1; - public static readonly integer VEHICLE_TYPE_CAR = 2; - public static readonly integer VEHICLE_TYPE_BOAT = 3; - public static readonly integer VEHICLE_TYPE_AIRPLANE = 4; - public static readonly integer VEHICLE_TYPE_BALLOON = 5; + public const int VEHICLE_TYPE_SLED = 1; + public const int VEHICLE_TYPE_CAR = 2; + public const int VEHICLE_TYPE_BOAT = 3; + public const int VEHICLE_TYPE_AIRPLANE = 4; + public const int VEHICLE_TYPE_BALLOON = 5; - public static readonly integer VERTICAL = 0; + public const int VERTICAL = 0; - //public static readonly integer REGION_FLAG_RESTRICT_PUSHOBJECT=4194304; + //public const int REGION_FLAG_RESTRICT_PUSHOBJECT=4194304; #endregion @@ -1090,6 +1104,24 @@ namespace LSLEditor return 0; } + static readonly int[] FastLookupBase64 = + {// 0 1 2 3 4 5 6 7 8 9 A B C D E F + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 00 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 10 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,62, 0, 0, 0,63, // 20 + 52,53,54,55,56,57,58,59,60,61, 0, 0, 0, 0, 0, 0, // 30 + 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14, // 40 + 15,16,17,18,19,20,21,22,23,24,25, 0, 0, 0, 0, 0, // 50 + 0,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40, // 60 + 41,42,43,44,45,46,47,48,49,50,51, 0, 0, 0, 0, 0, // 70 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 80 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 90 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // A0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // B0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // C0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // D0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // E0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; // F0 #endregion #region Math Functions @@ -1323,7 +1355,7 @@ namespace LSLEditor dSineHalfAngle * vUnitAxis.z, dCosineHalfAngle); - Verbose("llAxisAngle2Rot({0},{1})={2}", vAxis, fAngle, rResult); + Verbose("llAxisAngle2Rot({0}, {1})={2}", vAxis, fAngle, rResult); return rResult; } @@ -1729,7 +1761,7 @@ namespace LSLEditor result.Append(sSeparator.ToString()); result.Append(lSource[intI].ToString()); } - Verbose(@"DumpList2String({0},""{1}"")=""{2}""", lSource.ToVerboseString(), sSeparator, result.ToString()); + Verbose(@"llDumpList2String({0},""{1}"")=""{2}""", lSource.ToVerboseString(), sSeparator, result.ToString()); return result.ToString(); } @@ -1747,7 +1779,7 @@ namespace LSLEditor public void llEmail(String sAddress, String sSubject, String sMessage) { - Verbose("@llEmail(""{0}"", ""{1}"", ""{2}"")", sAddress, sSubject, sMessage); + Verbose(@"llEmail(""{0}"", ""{1}"", ""{2}"")", sAddress, sSubject, sMessage); host.Email(sAddress, sSubject, sMessage); } @@ -1903,7 +1935,7 @@ namespace LSLEditor public String llGetAnimationOverride(String sAnimationState) { String sAnimation = ""; - Verbose("llGetAnimationOverride(""{0}"")=""{1}""", sAnimationState, sAnimation); + Verbose(@"llGetAnimationOverride(""{0}"")=""{1}""", sAnimationState, sAnimation); return sAnimation; } @@ -1949,245 +1981,252 @@ namespace LSLEditor return lClosetNavPoint; } - public vector llGetColor(integer face) + public vector llGetColor(integer iFace) { - Verbose("llGetColor(" + face + ")"); - return vector.ZERO_VECTOR; + vector vColour = vector.ZERO_VECTOR; + Verbose("llGetColor({0})={1}", iFace, vColour); + return vColour; } public key llGetCreator() { - key result = Properties.Settings.Default.AvatarKey; - Verbose("llGetCreator()={0}", result); - return result; + key kResult = Properties.Settings.Default.AvatarKey; + Verbose("llGetCreator()={0}", kResult); + return kResult; } public String llGetDate() { - string result = DateTime.Now.ToUniversalTime().ToString("yyyy-MM-dd"); - Verbose("llGetDate()=" + result); - return result; + string sResult = DateTime.Now.ToUniversalTime().ToString("yyyy-MM-dd"); + Verbose("llGetDate()={0}", sResult); + return sResult; } public string llGetDisplayName(key kAvatarID) { - string result = ""; - Verbose("llGetDisplayName({0})={1}", kAvatarID, result); - return result; + string sResult = ""; + Verbose("llGetDisplayName({0})={1}", kAvatarID, sResult); + return sResult; } public Float llGetEnergy() { - Float result = 1.23; - Verbose("llGetEnergy()={0}", result); - return result; + Float fResult = 1.23; + Verbose("llGetEnergy()={0}", fResult); + return fResult; } public string llGetEnv(string sDataRequest) { - string result; + string sResult; switch (sDataRequest) { case "sim_channel": - result = "Second Life Server"; + sResult = "Second Life Server"; break; case "sim_version": - result = "11.11.09.244706"; + sResult = "11.11.09.244706"; break; default: - result = ""; + sResult = ""; break; } - Verbose("llGetEnv({0})={1}", sDataRequest, result); - return result; + Verbose(@"llGetEnv(""{0}"")=""{1}""", sDataRequest, sResult); + return sResult; } public vector llGetForce() { - Verbose("llGetForce()"); - return vector.ZERO_VECTOR; + vector vForce = vector.ZERO_VECTOR; + Verbose("llGetForce()={0}", vForce); + return vForce; } public integer llGetFreeMemory() { - Verbose("llGetFreeMemory()"); - return 16000; + integer iFreeMemory = 16000; + Verbose("llGetFreeMemory()={0}", iFreeMemory); + return iFreeMemory; } public integer llGetFreeURLs() { - return 0; + integer iFreeURLs = 0; + Verbose("llGetFreeURLs()={0}", iFreeURLs); + return iFreeURLs; } public Float llGetGMTclock() { - Float result = DateTime.Now.ToUniversalTime().TimeOfDay.TotalSeconds; - Verbose("llGetGMTclock()={0}", result); - return result; + Float fResult = DateTime.Now.ToUniversalTime().TimeOfDay.TotalSeconds; + Verbose("llGetGMTclock()={0}", fResult); + return fResult; } public vector llGetGeometricCenter() { - vector result = ZERO_VECTOR; - Verbose("llGetGeometricCenter()={0}", result); - return result; + vector vResult = ZERO_VECTOR; + Verbose("llGetGeometricCenter()={0}", vResult); + return vResult; } - public String llGetHTTPHeader(key request_id, String header) + public String llGetHTTPHeader(key kRequestID, String sDesiredHeader) { - return "not-implemented"; + String sResult = "not-implemented"; + Verbose(@"llGetHTTPHeader({0}, ""{1}"")=""{2}""", kRequestID, sDesiredHeader, sResult); + return sResult; } - public key llGetInventoryCreator(String item) + public key llGetInventoryCreator(String sItem) { - key result = Properties.Settings.Default.AvatarKey; - Verbose(@"GetInventoryCreator(""{0}"")={1}", item, result); - return result; + key kAvatarID = Properties.Settings.Default.AvatarKey; + Verbose(@"llGetInventoryCreator(""{0}"")={1}", sItem, kAvatarID); + return kAvatarID; } - public key llGetInventoryKey(String name) + public key llGetInventoryKey(String sItemName) { - key result = host.GetInventoryKey(name); - Verbose("llGetInventoryKey({0})={1}", name, result); - return result; + key kID = host.GetInventoryKey(sItemName); + Verbose(@"llGetInventoryKey(""{0}"")={1}", sItemName, kID); + return kID; } - public String llGetInventoryName(integer type, integer number) + public String llGetInventoryName(integer iItemType, integer iItemIndex) { - string result = host.GetInventoryName(type, number); - Verbose("llGetInventoryName({0},{1})={2}", type, number, result); - return result; + string sItemName = host.GetInventoryName(iItemType, iItemIndex); + Verbose(@"llGetInventoryName({0}, {1})=""{2}""", iItemType, iItemIndex, sItemName); + return sItemName; } - public integer llGetInventoryNumber(integer type) + public integer llGetInventoryNumber(integer iType) { - int result = host.GetInventoryNumber(type); - Verbose("llGetInventoryNumber({0})={1}", type, result); - return result; + int iTypeCount = host.GetInventoryNumber(iType); + Verbose("llGetInventoryNumber({0})={1}", iType, iTypeCount); + return iTypeCount; } - public integer llGetInventoryPermMask(String item, integer mask) + public integer llGetInventoryPermMask(String sItemName, integer iPermMask) { - Verbose("llGetInventoryPermMask(" + item + "," + mask + ")"); - return 0; + integer iPermissionState = 0; + Verbose(@"llGetInventoryPermMask(""{0}"", {1})={2}", sItemName, iPermMask, iPermissionState); + return iPermissionState; } - public integer llGetInventoryType(String name) + public integer llGetInventoryType(String sItemName) { - integer result = host.GetInventoryType(name); - Verbose("llGetInventoryType({0})={1}", name, result); - return result; + integer iItemType = host.GetInventoryType(sItemName); + Verbose(@"llGetInventoryType(""{0}"")={1}", sItemName, iItemType); + return iItemType; } public key llGetKey() { - key result = host.GetKey(); - Verbose("llGetKey()=" + result.ToString()); - return result; + key kID = host.GetKey(); + Verbose(@"llGetKey()=""{0}""", kID.ToString()); + return kID; } - public key llGetLandOwnerAt(vector pos) + public key llGetLandOwnerAt(vector vPosition) { - Verbose("llGetLandOwnerAt(" + pos + ")"); - return new key(Guid.NewGuid()); + key kAvatarID = new key(Guid.NewGuid()); + Verbose("llGetLandOwnerAt({0})={1}", vPosition, kAvatarID); + return kAvatarID; } - public key llGetLinkKey(integer linknum) + public key llGetLinkKey(integer iLinkIndex) { - Verbose("llGetLinkKey(" + linknum + ")"); - return new key(Guid.NewGuid()); + key kID = new key(Guid.NewGuid()); + Verbose("llGetLinkKey({0})={1}", iLinkIndex, kID); + return kID; } public list llGetLinkMedia(integer iLinkNumber, integer iFace, list lParameters) { - list result = new list(); - Verbose("llGetLinkMedia({0}, {1}, {2})={3}", iLinkNumber, iFace, lParameters.ToString(), result); - return result; + list lMediaList = new list(); + Verbose("llGetLinkMedia({0}, {1}, {2})={3}", iLinkNumber, iFace, lParameters.ToVerboseString(), lMediaList.ToVerboseString()); + return lMediaList; } - public String llGetLinkName(integer linknum) + public String llGetLinkName(integer iLinkIndex) { - Verbose("llGetLinkName(" + linknum + ")"); - return ""; + String sLinkName = ""; + Verbose(@"llGetLinkName({0})=""{1}""", iLinkIndex, sLinkName); + return sLinkName; } public integer llGetLinkNumber() { - Verbose("llGetLinkNumber()"); - return 0; + integer iLinkIndex = 0; + Verbose("llGetLinkNumber()={0}", iLinkIndex); + return iLinkIndex; } - public integer llGetLinkNumberOfSides(integer link) + public integer llGetLinkNumberOfSides(integer iLinkIndex) { - integer result = 6; - Verbose("llGetLinkNumberOfSides()={" + link + "}", result); - return result; + integer iSides = 6; + Verbose("llGetLinkNumberOfSides({0})={1}", iLinkIndex, iSides); + return iSides; } - public list llGetLinkPrimitiveParams(integer link, list myparams) + public list llGetLinkPrimitiveParams(integer iLinkIndex, list lParametersRequested) { - Verbose("llGetLinkPrimitiveParams(" + link + "," + myparams.ToString() + ")"); - return new list(); + list lParametersReturned = new list(); + Verbose("llGetLinkPrimitiveParams({0}, {1})={2}", iLinkIndex, lParametersRequested.ToVerboseString(), lParametersReturned); + return lParametersReturned; } - public integer llGetListEntryType(list src, integer index) + public integer llGetListEntryType(list lSource, integer iIndex) { - integer intReturn; + integer iEntryType; - if (index < 0) - index = src.Count + index; - if (index >= src.Count || index < 0) - intReturn = 0; + if (iIndex < 0) + iIndex = lSource.Count + iIndex; + if (iIndex >= lSource.Count || iIndex < 0) + iEntryType = 0; else { - switch (src[index].GetType().ToString().Replace("LSLEditor.SecondLife+", "")) + switch (lSource[iIndex].GetType().ToString().Replace("LSLEditor.SecondLife+", "")) { case "System.Double": case "Float": - intReturn = TYPE_FLOAT; + iEntryType = TYPE_FLOAT; break; case "System.String": case "String": - intReturn = TYPE_STRING; + iEntryType = TYPE_STRING; break; case "System.Int32": case "integer": - intReturn = TYPE_INTEGER; + iEntryType = TYPE_INTEGER; break; case "key": - intReturn = TYPE_KEY; + iEntryType = TYPE_KEY; break; case "vector": - intReturn = TYPE_VECTOR; + iEntryType = TYPE_VECTOR; break; case "rotation": - intReturn = TYPE_ROTATION; + iEntryType = TYPE_ROTATION; break; default: - intReturn = TYPE_INVALID; + iEntryType = TYPE_INVALID; break; } } - Verbose("llGetListEntryType({0},{1})={2}", src.ToVerboseString(), index, intReturn); - return intReturn; + Verbose("llGetListEntryType({0}, {1})={2}", lSource.ToVerboseString(), iIndex, iEntryType); + return iEntryType; } - public integer llGetListLength(list src) + public integer llGetListLength(list lSource) { - integer result = src.Count; - Verbose("llGetListLength({0})={1}", src.ToVerboseString(), result); - return result; - } - - public vector GetLocalPos() - { - // no verbose - return m_pos; + integer iLength = lSource.Count; + Verbose("llGetListLength({0})={1}", lSource.ToVerboseString(), iLength); + return iLength; } public vector llGetLocalPos() { - Verbose("llGetLocalPos()={0}", m_pos); + Verbose("llGetLocalPos()={0}", m_pos); return m_pos; } @@ -2199,142 +2238,155 @@ namespace LSLEditor public Float llGetMass() { - Float result = 1.23; - Verbose("llGetMass()={0}", result); - return result; + Float fMass = 1.23; + Verbose("llGetMass()={0}", fMass); + return fMass; } public Float llGetMassMKS() { - Float result = 1.23; - Verbose("llGetMassMKS()={0}", result); - return result; + Float fMass = 1.23; + Verbose("llGetMassMKS()={0}", fMass); + return fMass; } public integer llGetMemoryLimit() { - return 65536; + integer iMaxMemory = 65536; + Verbose("llGetMemoryLimit()={0}", iMaxMemory); + return iMaxMemory; } - public void llGetNextEmail(String address, String subject) + public void llGetNextEmail(String sAddress, String sSubject) { - Verbose("llGetNextEmail(" + address + "," + subject + ")"); + Verbose(@"llGetNextEmail(""{0}"", ""{1}"")", sAddress, sSubject); } - public key llGetNotecardLine(String name, integer line) + public key llGetNotecardLine(String sNoteName, integer iLineIndex) { - key k = host.GetNotecardLine(name, line); - Verbose(@"GetNotecardLine(""{0}"",{1})={2}", name, line, k); - return k; + key kID = host.GetNotecardLine(sNoteName, iLineIndex); + Verbose(@"llGetNotecardLine(""{0}"", {1})={2}", sNoteName, iLineIndex, kID); + return kID; } - public key llGetNumberOfNotecardLines(String name) + public key llGetNumberOfNotecardLines(String sNoteName) { - key k = host.GetNumberOfNotecardLines(name); - Verbose(@"GetNumberOfNotecardLines(""{0}"")={1}", name, k); - return k; + key kID = host.GetNumberOfNotecardLines(sNoteName); + Verbose(@"llGetNumberOfNotecardLines(""{0}"")={1}", sNoteName, kID); + return kID; } public integer llGetNumberOfPrims() { - integer result = 10; - Verbose("llGetNumberOfPrims()={0}", result); - return result; + integer iPrimCount = 10; + Verbose("llGetNumberOfPrims()={0}", iPrimCount); + return iPrimCount; } public integer llGetNumberOfSides() { - integer result = 6; - Verbose("llGetNumberOfSides()={0}", result); - return result; + integer iSideCount = 6; + Verbose("llGetNumberOfSides()={0}", iSideCount); + return iSideCount; } public String llGetObjectDesc() { - string result = host.GetObjectDescription(); - Verbose("llGetObjectDesc()={0}", result); - return result; + string sDescription = host.GetObjectDescription(); + Verbose(@"llGetObjectDesc()=""{0}""", sDescription); + return sDescription; } - public list llGetObjectDetails(key id, list _params) + public list llGetObjectDetails(key kID, list lObjectFlags) { - list result = new list(); - for (int intI = 0; intI < _params.Count; intI++) + list lObjectDetails = new list(); + for (int intI = 0; intI < lObjectFlags.Count; intI++) { - if (!(_params[intI] is integer)) + if (!(lObjectFlags[intI] is integer)) continue; - switch ((int)(integer)_params[intI]) + switch ((int)(integer)lObjectFlags[intI]) { - case 1: //OBJECT_NAME: - result.Add((SecondLife.String)host.GetObjectName(new Guid(id.guid))); + case OBJECT_NAME: + lObjectDetails.Add((SecondLife.String)host.GetObjectName(new Guid(kID.guid))); break; - case 2: //OBJECT_DESC: - result.Add((SecondLife.String)host.GetObjectDescription(new Guid(id.guid))); + case OBJECT_DESC: + lObjectDetails.Add((SecondLife.String)host.GetObjectDescription(new Guid(kID.guid))); break; - case 3://OBJECT_POS: + case OBJECT_POS: + lObjectDetails.Add(llGetPos()); break; - case 4://OBJECT_ROT: + case OBJECT_ROT: + lObjectDetails.Add(llGetRot()); break; - case 5://OBJECT_VELOCITY: + case OBJECT_VELOCITY: + lObjectDetails.Add(llGetVel()); break; - case 6://OBJECT_OWNER: + case OBJECT_OWNER: + lObjectDetails.Add(llGetOwner()); break; - case 7://OBJECT_GROUP: + case OBJECT_GROUP: + lObjectDetails.Add(OBJECT_UNKNOWN_DETAIL); break; - case 8://OBJECT_CREATOR: + case OBJECT_CREATOR: + lObjectDetails.Add(llGetCreator()); break; default: + lObjectDetails.Add(OBJECT_UNKNOWN_DETAIL); break; } } - Verbose(@"llGetObjectDetails({0},{1})={2}", id, _params, result); - return result; + Verbose(@"llGetObjectDetails({0}, {1})={2}", kID, lObjectFlags, lObjectDetails); + return lObjectDetails; } - public Float llGetObjectMass(key id) + public Float llGetObjectMass(key kID) { - Verbose("llGetObjectMass(" + id + ")"); - return 0.0F; + Float fMass = 0.0F; + Verbose("llGetObjectMass({0})={1}", kID, fMass); + return fMass; } public String llGetObjectName() { - string result = host.GetObjectName(); - Verbose("llGetObjectName()={0}", result); - return result; + string sObjectName = host.GetObjectName(); + Verbose(@"llGetObjectName()=""{0}""", sObjectName); + return sObjectName; } - public integer llGetObjectPermMask(integer mask) + public integer llGetObjectPermMask(integer iRequestedMask) { - Verbose("llGetObjectPermMask(" + mask + ")"); - return 0; + integer iRetunedMaskState = 0; + Verbose("llGetObjectPermMask({0})={1}", iRequestedMask, iRetunedMaskState); + return iRetunedMaskState; } // added 4 mei 2007 - public integer llGetObjectPrimCount(key id) + public integer llGetObjectPrimCount(key kID) { - Verbose("llGetObjectPrimCount(" + id + ")"); - return 0; + integer iPrimCount = 0; + Verbose("llGetObjectPrimCount({0})={1}", kID, iPrimCount); + return iPrimCount; } public vector llGetOmega() { - Verbose("llGetOmega()"); - return vector.ZERO_VECTOR; + vector vOmega = vector.ZERO_VECTOR; + Verbose("llGetOmega()={0}", vOmega); + return vOmega; } public key llGetOwner() { - key k = new key(Properties.Settings.Default.AvatarKey); - Verbose("llGetOwner()=" + k); - return k; + key kID = new key(Properties.Settings.Default.AvatarKey); + Verbose("llGetOwner()={0}", kID); + return kID; } - public key llGetOwnerKey(key id) + public key llGetOwnerKey(key kID) { - key k = llGetOwner(); - Verbose("llGetOwnerKey(" + id + ")=" + k); - return k; + key kAvatarID = llGetOwner(); // This is incorrect, as the owner of this object may not be the owner of kID + Verbose("llGetOwnerKey({0})={1}", kID, kAvatarID); + return kAvatarID; } /* @@ -2344,175 +2396,189 @@ namespace LSLEditor PARCEL_DETAILS_GROUP 3 The parcel group's key. (36 Characters) key PARCEL_DETAILS_AREA 4 The parcel's area, in sqm. (5 Characters) integer */ - public list llGetParcelDetails(vector pos, list details) + public list llGetParcelDetails(vector vPosition, list lRequestedDetails) { - list result = new list(); - for (int intI = 0; intI < details.Count; intI++) + list lReturnedDetails = new list(); + for (int intI = 0; intI < lRequestedDetails.Count; intI++) { - if (details[intI] is integer) + if (lRequestedDetails[intI] is integer) { - switch ((int)(integer)details[intI]) + switch ((int)(integer)lRequestedDetails[intI]) { - case 0: // PARCEL_DETAILS_NAME: - result.Add(Properties.Settings.Default.ParcelName); + case PARCEL_DETAILS_NAME: + lReturnedDetails.Add(Properties.Settings.Default.ParcelName); break; - case 1: // PARCEL_DETAILS_DESC: - result.Add(Properties.Settings.Default.ParcelDescription); + case PARCEL_DETAILS_DESC: + lReturnedDetails.Add(Properties.Settings.Default.ParcelDescription); break; - case 2: //PARCEL_DETAILS_OWNER: - result.Add(new key(Properties.Settings.Default.ParcelOwner)); + case PARCEL_DETAILS_OWNER: + lReturnedDetails.Add(new key(Properties.Settings.Default.ParcelOwner)); break; - case 3: //PARCEL_DETAILS_GROUP: - result.Add(new key(Properties.Settings.Default.ParcelGroup)); + case PARCEL_DETAILS_GROUP: + lReturnedDetails.Add(new key(Properties.Settings.Default.ParcelGroup)); break; - case 4: // PARCEL_DETAILS_AREA: - result.Add(new integer(Properties.Settings.Default.ParcelArea)); + case PARCEL_DETAILS_AREA: + lReturnedDetails.Add(new integer(Properties.Settings.Default.ParcelArea)); + break; + case PARCEL_DETAILS_ID: + lReturnedDetails.Add(new integer(Properties.Settings.Default.ParcelID)); + break; + case PARCEL_DETAILS_SEE_AVATARS: + lReturnedDetails.Add(new integer(Properties.Settings.Default.ParcelSeeAvatars)); break; default: break; } } } - Verbose("llGetParcelDetails({0},{1})={2}", pos, details.ToVerboseString(), result.ToVerboseString()); - return result; + Verbose("llGetParcelDetails({0}, {1})={2}", vPosition, lRequestedDetails.ToVerboseString(), lReturnedDetails.ToVerboseString()); + return lReturnedDetails; } - public integer llGetParcelFlags(vector pos) + public integer llGetParcelFlags(vector vPosition) { - Verbose("llGetParcelFlags(" + pos + ")"); - return 0; + integer iReturnedFlags = 0; + Verbose("llGetParcelFlags({0})={1}", vPosition, iReturnedFlags); + return iReturnedFlags; } - public integer llGetParcelMaxPrims(vector pos, integer sim_wide) + public integer llGetParcelMaxPrims(vector vPosition, integer iSimWide) { - Verbose("llGetParcelMaxPrims(" + pos + "," + sim_wide + ")"); - return 0; + integer iMaxPrims = 0; + Verbose("llGetParcelMaxPrims({0}, {1})={2}", vPosition, iSimWide, iMaxPrims); + return iMaxPrims; } public string llGetParcelMusicURL() { - Verbose("llGetParcelMaxPrims()={1}", m_ParcelMusicURL); + Verbose(@"llGetParcelMaxPrims()=""{0}""", m_ParcelMusicURL); return m_ParcelMusicURL; } - public integer llGetParcelPrimCount(vector pos, integer category, integer sim_wide) + public integer llGetParcelPrimCount(vector vPosition, integer iCategory, integer iSimWide) { - Verbose("llGetParcelPrimCount(" + pos + "," + category + "," + sim_wide + ")"); - return 0; + integer iPrimCount = 0; + Verbose("llGetParcelPrimCount({0}, {1}, {2})={3}", vPosition, iCategory, iSimWide, iPrimCount); + return iPrimCount; } - public list llGetParcelPrimOwners(vector pos) + public list llGetParcelPrimOwners(vector vPosition) { - list result = new list(new object[] { Properties.Settings.Default.AvatarKey, 10 }); - Verbose("llGetParcelPrimOwners({0})={1}", pos, result); - return result; + list lOwners = new list(new object[] { Properties.Settings.Default.AvatarKey, 10 }); + Verbose("llGetParcelPrimOwners({0})={1}", vPosition, lOwners); + return lOwners; } public integer llGetPermissions() { - integer perm = - PERMISSION_DEBIT - | PERMISSION_TAKE_CONTROLS - | PERMISSION_TRIGGER_ANIMATION - | PERMISSION_ATTACH - | PERMISSION_CHANGE_LINKS - | PERMISSION_TRACK_CAMERA - | PERMISSION_CONTROL_CAMERA; - - Verbose("llGetPermissions()=" + perm); - return perm; + integer iPermissions = 0; + Verbose("llGetPermissions()={0}", iPermissions); + return iPermissions; } public key llGetPermissionsKey() { - Verbose("llGetPermissionsKey()"); - return new key(Guid.NewGuid()); + key kID = key.NULL_KEY; + Verbose("llGetPermissionsKey()={0}", kID); + return kID; } public list llGetPhysicsMaterial() { - Verbose("llGetPhysicalMaterial()"); - return new list(); + list lMaterials = new list(); + Verbose("llGetPhysicalMaterial()={0}", lMaterials); + return lMaterials; } public vector llGetPos() { - Verbose("llGetPos()=" + m_pos); + Verbose("llGetPos()={0}", m_pos); return m_pos; } - public list llGetPrimMediaParams(integer face, list myparams) + public list llGetPrimMediaParams(integer iFace, list lDesiredParams) { - Verbose("llGetPrimMediaParams(" + face + "," + myparams.ToString() + ")"); - return new list(); + list lReturnedParams = new list(); + Verbose("llGetPrimMediaParams({0}, {1})={2}", iFace, lDesiredParams.ToVerboseString(), lReturnedParams.ToVerboseString()); + return lReturnedParams; } - public list llGetPrimitiveParams(list myparams) + public list llGetPrimitiveParams(list lDesiredParams) { - Verbose("llGetPrimitiveParams(" + myparams.ToString() + ")"); - return new list(); + list lReturnedParams = new list(); + Verbose("llGetPrimitiveParams({0})={1}", lDesiredParams.ToVerboseString(), lReturnedParams.ToVerboseString()); + return lReturnedParams; } // 334 public integer llGetRegionAgentCount() { - Verbose("llGetRegionAgentCount()"); - return 0; + integer iAgentCount = 0; + Verbose("llGetRegionAgentCount()={0}", iAgentCount); + return iAgentCount; } public vector llGetRegionCorner() { - System.Drawing.Point point = Properties.Settings.Default.RegionCorner; - vector RegionCorner = new vector(point.X, point.Y, 0); - Verbose("llGetRegionCorner()" + RegionCorner); - return RegionCorner; + System.Drawing.Point pRegionCorner = Properties.Settings.Default.RegionCorner; + vector vRegionCorner = new vector(pRegionCorner.X, pRegionCorner.Y, 0); + Verbose("llGetRegionCorner()={0}", vRegionCorner); + return vRegionCorner; } public Float llGetRegionFPS() { - Verbose("llGetRegionFPS()=" + Properties.Settings.Default.RegionFPS); - return Properties.Settings.Default.RegionFPS; + Float fRegionFPS = Properties.Settings.Default.RegionFPS; + Verbose("llGetRegionFPS()={0}", fRegionFPS); + return fRegionFPS; } public integer llGetRegionFlags() { - Verbose("llGetRegionFlags()"); - return 0; + integer iRegionFlags = 0; + Verbose("llGetRegionFlags()={0}", iRegionFlags); + return iRegionFlags; } public String llGetRegionName() { - Verbose("llGetRegionName()=" + Properties.Settings.Default.RegionName); - return Properties.Settings.Default.RegionName; + String sRegionName = Properties.Settings.Default.RegionName; + Verbose("llGetRegionName()={0}", sRegionName); + return sRegionName; } public Float llGetRegionTimeDilation() { - Verbose("llGetRegionTimeDilation()"); - return 0.9; + Float fTimeDilation = 0.9F; + Verbose("llGetRegionTimeDilation()={0}", fTimeDilation); + return fTimeDilation; } public vector llGetRootPosition() { - Verbose("llGetRootPosition()"); - return vector.ZERO_VECTOR; + vector vRootPosition = vector.ZERO_VECTOR; + Verbose("llGetRootPosition()={0}", vRootPosition); + return vRootPosition; } public rotation llGetRootRotation() { - Verbose("llGetRootRotation()"); - return rotation.ZERO_ROTATION; + rotation vRootRotation = rotation.ZERO_ROTATION; + Verbose("llGetRootRotation()={0}", vRootRotation); + return vRootRotation; } public rotation llGetRot() { - Verbose("llGetRot()=" + m_rot); + Verbose("llGetRot()={0}", m_rot); return m_rot; } public integer llGetSPMaxMemory() { - return 65536; + integer iMaxSPMemory = 65536; + Verbose("llGetSPMaxMemory()={0}", iMaxSPMemory); + return iMaxSPMemory; } public vector llGetScale() @@ -2523,48 +2589,59 @@ namespace LSLEditor public String llGetScriptName() { - string result = host.GetScriptName(); - Verbose("llGetScriptName()=" + result); - return result; + string sScriptName = host.GetScriptName(); + Verbose("llGetScriptName()={0}", sScriptName); + return sScriptName; } - public integer llGetScriptState(String name) + public integer llGetScriptState(String sScriptName) { - Verbose("llGetScriptState(" + name + ")"); - return 0; + integer iScriptState = 0; + Verbose(@"llGetScriptState(""{0}"")={1}", sScriptName, iScriptState); + return iScriptState; } - public float llGetSimStats(integer StatType) + public float llGetSimStats(integer iStatType) { - Verbose("llGetSimStats(" + StatType + ")"); - return 0; + float iSimStat = 0.0F; + Verbose("llGetSimStats({0})={1}", iStatType, iSimStat); + return iSimStat; } public String llGetSimulatorHostname() { - Verbose("llGetSimulatorHostname()"); - return ""; + String sSimHostName = ""; + Verbose(@"llGetSimulatorHostname()=""{0}""", sSimHostName); + return sSimHostName; } public integer llGetStartParameter() { - Verbose("llGetStartParameter()=" + m_start_parameter); + Verbose("llGetStartParameter()={0}" + m_start_parameter); return m_start_parameter; } - public integer llGetStatus(integer status) + public list llGetStaticPath(vector vStart, vector vEnd, Float fRadius, list lParameters) + { + list lReturn = new list(); + Verbose("llGetStaticPath({0}, {1}, {2}, {3})={4}", vStart, vEnd, fRadius, lParameters.ToVerboseString(), lReturn.ToVerboseString()); + return lReturn; + } + + public integer llGetStatus(integer iRequestedStatus) { - Verbose("llGetStatus(" + status + ")"); - return 0; + integer iStatus = 0; + Verbose("llGetStatus({0})={1}", iRequestedStatus, iStatus); + return iStatus; } - public String llGetSubString(String _src, integer _start, integer _end) + public String llGetSubString(String sSource, integer iStart, integer iEnd) { - string src = _src; - int start = _start; - int end = _end; + string src = sSource; + int start = iStart; + int end = iEnd; - StringBuilder result = new StringBuilder(); + StringBuilder sResult = new StringBuilder(); int intLength = src.Length; @@ -2573,224 +2650,219 @@ namespace LSLEditor if (start <= end) { for (int intI = start; intI <= end; intI++) - result.Append(src[intI]); + sResult.Append(src[intI]); } else // excluding { for (int intI = 0; intI <= end; intI++) - result.Append(src[intI]); + sResult.Append(src[intI]); for (int intI = start; intI < intLength; intI++) - result.Append(src[intI]); + sResult.Append(src[intI]); } } - Verbose(string.Format(@"GetSubString(""{0}"",{1},{2})=""{3}""", _src, _start, _end, result)); - return result.ToString(); + Verbose(string.Format(@"GetSubString(""{0}"", {1}, {2})=""{3}""", sSource, iStart, iEnd, sResult)); + return sResult.ToString(); } public vector llGetSunDirection() { - Verbose("llGetSunDirection()"); - return vector.ZERO_VECTOR; + vector vSunDirection = vector.ZERO_VECTOR; + Verbose("llGetSunDirection()={0}", vSunDirection); + return vSunDirection; } - public String llGetTexture(integer face) + public String llGetTexture(integer iFace) { - Verbose("llGetTexture(" + face + ")"); - return ""; + String sTexture = ""; + Verbose(@"llGetTexture({0})=""{1}""", iFace, sTexture); + return sTexture; } - public vector llGetTextureOffset(integer side) + public vector llGetTextureOffset(integer iFace) { - Verbose("llGetTextureOffset(" + side + ")"); - return vector.ZERO_VECTOR; + vector vOffset = vector.ZERO_VECTOR; + Verbose("llGetTextureOffset({0})={1}", iFace, vOffset); + return vOffset; } - public Float llGetTextureRot(integer side) + public Float llGetTextureRot(integer iFace) { - Verbose("llGetTextureRot(" + side + ")"); - return 0.0; + Float fTextureRot = 0.0; + Verbose("llGetTextureRot({0})={1}", iFace, fTextureRot); + return fTextureRot; } - public vector llGetTextureScale(integer side) + public vector llGetTextureScale(integer iFace) { - Verbose("llGetTextureScale(" + side + ")"); - return vector.ZERO_VECTOR; + vector vScale = vector.ZERO_VECTOR; + Verbose("llGetTextureScale({0})={1}", iFace, vScale); + return vScale; } public Float llGetTime() { TimeSpan span = DateTime.Now.ToUniversalTime() - m_DateTimeScriptStarted; - Verbose("llGetTime()=" + span.TotalSeconds); + Verbose("llGetTime()={0}", span.TotalSeconds); return span.TotalSeconds; } public Float llGetTimeOfDay() { - Verbose("llGetTimeOfDay()"); // dummy - return llGetTime(); + Float fSeconds = llGetTime(); + Verbose("llGetTimeOfDay()={0}", fSeconds); + return fSeconds; } public string llGetTimestamp() { - string strTimestamp = DateTime.Now.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.ffffffZ", System.Globalization.DateTimeFormatInfo.InvariantInfo); - Verbose("llGetTimestamp()=" + strTimestamp); - return strTimestamp; + string sTimestamp = DateTime.Now.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.ffffffZ", System.Globalization.DateTimeFormatInfo.InvariantInfo); + Verbose(@"llGetTimestamp()=""{0}""", sTimestamp); + return sTimestamp; } public vector llGetTorque() { - Verbose("llGetTorque()"); - return vector.ZERO_VECTOR; + vector vTorque = vector.ZERO_VECTOR; + Verbose("llGetTorque()={0}", vTorque); + return vTorque; } public integer llGetUnixTime() { - DateTime date_time_base = new DateTime(1970, 1, 1, 0, 0, 0, 0); - TimeSpan span = DateTime.Now.ToUniversalTime() - date_time_base; - Verbose("llGetUnixTime()=" + span.TotalSeconds); - return (int)span.TotalSeconds; + DateTime dtUnixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, 0); + TimeSpan tsSeconds = DateTime.Now.ToUniversalTime() - dtUnixEpoch; + Verbose("llGetUnixTime()={0}", (int)tsSeconds.TotalSeconds); + return (int)tsSeconds.TotalSeconds; } public integer llGetUsedMemory() { - return 65536; + integer iUsedMemory = 65536; + Verbose("llGetUsedMemory()={0}", iUsedMemory); + return iUsedMemory; } public string llGetUsername(key kAvatarID) { //TODO Find a dummy username. - string result = ""; - Verbose("llGetUsername({0})={1}", kAvatarID, result); - return result; + string sUserName = ""; + Verbose(@"llGetUsername({0})=""{1}""", kAvatarID, sUserName); + return sUserName; } public vector llGetVel() { - Verbose("llGetVel()"); - return vector.ZERO_VECTOR; + vector vVelocity = vector.ZERO_VECTOR; + Verbose("llGetVel()={0}", vVelocity); + return vVelocity; } public Float llGetWallclock() { - Float result = (int)DateTime.Now.AddHours(-9.0).TimeOfDay.TotalSeconds; - Verbose("llGetWallclock()={0}", result); - return result; + Float fSeconds = (int)DateTime.Now.AddHours(-9.0).TimeOfDay.TotalSeconds; + Verbose("llGetWallclock()={0}", fSeconds); + return fSeconds; } - public void llGiveInventory(key destination, String inventory) + public void llGiveInventory(key kID, String sItemName) { - Verbose("llGiveInventory(" + destination + "," + inventory + ")"); + Verbose(@"llGiveInventory({0}, ""{1}"")", kID, sItemName); } - public void llGiveInventoryList(key destination, String category, list inventory) + public void llGiveInventoryList(key kID, String sDirectory, list lInventory) { - Verbose("llGiveInventoryList(" + destination + "," + category + "," + inventory.ToString() + ")"); + Verbose(@"llGiveInventoryList({0}, ""{1}"", {2})", kID, sDirectory, lInventory.ToVerboseString()); } - public integer llGiveMoney(key destination, integer amount) + public integer llGiveMoney(key kAvatarID, integer iAmount) { - Verbose("llGiveMoney(" + destination + "," + amount + ")"); - return 0; + Verbose("llGiveMoney({0}, {1})=0", kAvatarID, iAmount); + return 0; } - public Float llGround(vector offset) + public Float llGround(vector vOffset) { - Float ground = 25.0; - Verbose("llGround(" + offset + ")=" + ground); - return ground; + Float fHeight = 25.0; + Verbose("llGround({0})={1}", vOffset, fHeight); + return fHeight; } - public vector llGroundContour(vector offset) + public vector llGroundContour(vector vOffset) { - Verbose("llGroundContour(" + offset + ")"); - return vector.ZERO_VECTOR; + vector vContour = vector.ZERO_VECTOR; + Verbose("llGroundContour({0})={1}", vOffset, vContour); + return vContour; } - public vector llGroundNormal(vector offset) + public vector llGroundNormal(vector vOffset) { - vector GroundNormal = new vector(0, 0, 1); - Verbose("llGroundNormal(" + offset + ")=" + GroundNormal); - return GroundNormal; + vector vGroundNormal = new vector(0.0, 0.0, 1.0); + Verbose("llGroundNormal({0})={1}", vOffset, vGroundNormal); + return vGroundNormal; } - public void llGroundRepel(Float height, integer water, Float tau) + public void llGroundRepel(Float fHeight, integer iWater, Float fTau) { - Verbose("llGroundRepel(" + height + "," + water + "," + tau + ")"); + Verbose("llGroundRepel({0}, {1}, {2})", fHeight, iWater, fTau); } - public vector llGroundSlope(vector offset) + public vector llGroundSlope(vector vOffset) { - Verbose("llGroundSlope:" + offset); - return vector.ZERO_VECTOR; + vector vSlope = vector.ZERO_VECTOR; + Verbose("llGroundSlope({0})={1}" + vOffset, vSlope); + return vSlope; } - public key llHTTPRequest(String url, list parameters, String body) + public key llHTTPRequest(String sURL, list lParameters, String sBody) { - key result = host.Http(url, parameters, body); - Verbose(@"HTTPRequest(""{0}"",{1},""{2}"")=""{3}""", url, parameters.ToVerboseString(), body, result); - return result; + key kRequestID = host.Http(sURL, lParameters, sBody); + Verbose(@"llHTTPRequest(""{0}"", {1}, ""{2}"")=""{3}""", sURL, lParameters.ToVerboseString(), sBody, kRequestID); + return kRequestID; } - //348 - public void llHTTPResponse(key request_id, integer status, String body) + public void llHTTPResponse(key kRequestID, integer iStatus, String sBody) { - } + Verbose(@"llHTTPResponse({0}, {1}, ""{2}"")", kRequestID, iStatus, sBody); + } - public String llInsertString(String _dst, integer _position, String _src) + public String llInsertString(String sDestination, integer iIndex, String sSource) { - string dst = _dst; - string src = _src; - int position = _position; - string result; + string dst = sDestination; + string src = sSource; + int position = iIndex; + string sResult; - if (position < 0) - position = 0; - - if (position < dst.Length) - result = dst.Substring(0, position) + src + dst.Substring(position); - else - result = dst + src; - Verbose(@"InsertString(""{0}"",{1},""{2}"")=""{3}""", dst, position, src, result); - return result; + if (position < dst.Length) { + sResult = dst.Substring(0, position) + src + dst.Substring(position); + } + else if (position >= 0) { + sResult = dst + src; + } + else { + sResult = "**ERROR**"; + } + Verbose(@"llInsertString(""{0}"", {1}, ""{2}"")=""{3}""", sDestination, iIndex, sSource, sResult); + return sResult; } - public void llInstantMessage(key user, String message) + public void llInstantMessage(key kAvatarID, String sMessage) { - Verbose("llInstantMessage(" + user + "," + message + ")"); + Verbose(@"llInstantMessage({0}, ""{1}"")", kAvatarID, sMessage); } - public String llIntegerToBase64(integer number) + public String llIntegerToBase64(integer iNumber) { byte[] data = new byte[4]; - data[3] = (byte)(number & 0xff); - data[2] = (byte)((number >> 8) & 0xff); - data[1] = (byte)((number >> 16) & 0xff); - data[0] = (byte)((number >> 24) & 0xff); - string result = Convert.ToBase64String(data); - Verbose(@"IntegerToBase64({0})=""{1}""", number, result); - return result; + data[3] = (byte)(iNumber & 0xff); + data[2] = (byte)((iNumber >> 8) & 0xff); + data[1] = (byte)((iNumber >> 16) & 0xff); + data[0] = (byte)((iNumber >> 24) & 0xff); + string sResult = Convert.ToBase64String(data); + Verbose(@"llIntegerToBase64({0})=""{1}""", iNumber, sResult); + return sResult; } - static readonly int[] FastLookupBase64 = - {// 0 1 2 3 4 5 6 7 8 9 A B C D E F - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 00 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 10 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,62, 0, 0, 0,63, // 20 - 52,53,54,55,56,57,58,59,60,61, 0, 0, 0, 0, 0, 0, // 30 - 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14, // 40 - 15,16,17,18,19,20,21,22,23,24,25, 0, 0, 0, 0, 0, // 50 - 0,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40, // 60 - 41,42,43,44,45,46,47,48,49,50,51, 0, 0, 0, 0, 0, // 70 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 80 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 90 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // A0 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // B0 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // C0 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // D0 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // E0 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; // F0 - public list llJson2List(string sJSON) { //TODO implement conversion to list @@ -2823,18 +2895,19 @@ namespace LSLEditor return sReturn; } - public String llKey2Name(key id) + public String llKey2Name(key kID) { - string strName = "*unknown*"; - if (Properties.Settings.Default.AvatarKey == id) - strName = Properties.Settings.Default.AvatarName; - Verbose("llKey2Name(" + id + ")=" + strName); - return strName; + string sAvatarName = ""; + if (Properties.Settings.Default.AvatarKey == kID) { + sAvatarName = Properties.Settings.Default.AvatarName; + } + Verbose(@"llKey2Name({0})=""{1}""", kID, sAvatarName); + return sAvatarName; } - public void llLinkParticleSystem(integer link, list parameters) + public void llLinkParticleSystem(integer iLink, list lParameters) { - Verbose("llLinkParticleSystem(" + link + "," + parameters.ToString() + ")"); + Verbose("llLinkParticleSystem({0}, {1})", iLink, lParameters.ToVerboseString()); } public void llLinkSitTarget(integer iLinkNumber, vector vOffset, rotation rRotation) @@ -2842,208 +2915,184 @@ namespace LSLEditor Verbose("llLinkSitTarget({0}, {1}, {2})", iLinkNumber, vOffset, rRotation); } - public String llList2CSV(list src) + public String llList2CSV(list lSource) { - StringBuilder result = new StringBuilder(); - for (int intI = 0; intI < src.Count; intI++) + StringBuilder sCSV = new StringBuilder(); + for (int intI = 0; intI < lSource.Count; intI++) { - if (intI > 0) - result.Append(", "); - result.Append(src[intI].ToString()); + if (intI > 0) sCSV.Append(", "); + sCSV.Append(lSource[intI].ToString()); } - Verbose(@"List2CSV({0})=""{1}""", src.ToVerboseString(), result.ToString()); - return result.ToString(); + Verbose(@"llList2CSV({0})=""{1}""", lSource.ToVerboseString(), sCSV.ToString()); + return sCSV.ToString(); + } + + public Float llList2Float(list lSource, integer iIndex) + { + Float fResult; + if (iIndex < 0) iIndex = lSource.Count + iIndex; + if (iIndex >= lSource.Count || iIndex < 0) { + fResult = 0.0; + } else { + fResult = (Float)lSource[iIndex].ToString(); + } + Verbose("llList2Float({0}, {1})={2}", lSource.ToVerboseString(), iIndex, fResult); + return fResult; } - public Float llList2Float(list src, integer index) + public integer llList2Integer(list lSrc, integer iIndex) { - Float result; - if (index < 0) - index = src.Count + index; - if (index >= src.Count || index < 0) - result = 0.0; - else - result = (Float)src[index].ToString(); - Verbose("llList2Float({0},{1})={2}", src.ToVerboseString(), index, result); - return result; - } - - public integer llList2Integer(list src, integer index) - { - integer result; - if (index < 0) - index = src.Count + index; - if (index >= src.Count || index < 0) - result = 0; - else - result = (integer)src[index].ToString(); - Verbose("llList2Integer({0},{1})={2}", src.ToVerboseString(), index, result); - return result; + integer iResult; + if (iIndex < 0) iIndex = lSrc.Count + iIndex; + if (iIndex >= lSrc.Count || iIndex < 0) { + iResult = 0; + } else { + iResult = (integer)lSrc[iIndex].ToString(); + } + Verbose("llList2Integer({0}, {1})={2}", lSrc.ToVerboseString(), iIndex, iResult); + return iResult; } public string llList2Json(string sType, list lValues) { //TODO determine return value string sReturn = JSON_INVALID; - Verbose("llList2Json({0}, {1})= {2}", sType, lValues, sReturn); + Verbose(@"llList2Json({0}, {1})=""{2}""", sType, lValues.ToVerboseString(), sReturn); return sReturn; } - public key llList2Key(list src, integer index) + public key llList2Key(list lSource, integer iIndex) { - key result; - if (index < 0) - index = src.Count + index; - if (index >= src.Count || index < 0) - result = NULL_KEY; - else - result = (key)src[index].ToString(); - Verbose("llList2Key({0},{1})={2}", src.ToVerboseString(), index, result); - return result; + key kResult; + if (iIndex < 0) iIndex = lSource.Count + iIndex; + if (iIndex >= lSource.Count || iIndex < 0) { + kResult = key.NULL_KEY; + } else { + kResult = (key)lSource[iIndex].ToString(); + } + Verbose("llList2Key({0}, {1})={2}", lSource.ToVerboseString(), iIndex, kResult); + return kResult; } - // ok - public list llList2List(list src, integer _start, integer _end) + public list llList2List(list lSource, integer iStart, integer iEnd) { - int intLength = src.Count; + int iLength = lSource.Count; - int start = _start; - int end = _end; + int start = iStart; + int end = iEnd; - list result = new list(); + list lResult = new list(); - if (CorrectIt(intLength, ref start, ref end)) + if (CorrectIt(iLength, ref start, ref end)) { - if (start <= end) + if (start <= end) { + for (int intI = start; intI <= end; intI++) lResult.Add(lSource[intI]); + } else { // excluding + for (int intI = 0; intI <= end; intI++) lResult.Add(lSource[intI]); + for (int intI = start; intI < iLength; intI++) lResult.Add(lSource[intI]); + } + } + + Verbose(string.Format("List2List({0}, {1}, {2})={3}", lSource.ToVerboseString(), iStart, iEnd, lResult.ToVerboseString())); + return lResult; + } + + public list llList2ListStrided(list lSource, integer iStart, integer iEnd, integer iStride) + { + int iLength = lSource.Count; + + int start = iStart; + int end = iEnd; + + list lTemp = new list(); + + if (CorrectIt(iLength, ref start, ref end)) + { + if (start <= end) { + for (int intI = start; intI <= end; intI++) lTemp.Add(lSource[intI]); + } else // excluding { - for (int intI = start; intI <= end; intI++) - result.Add(src[intI]); - } - else // excluding - { - for (int intI = 0; intI <= end; intI++) - result.Add(src[intI]); - for (int intI = start; intI < intLength; intI++) - result.Add(src[intI]); - } + for (int intI = 0; intI <= end; intI++) lTemp.Add(lSource[intI]); + for (int intI = start; intI < iLength; intI++) lTemp.Add(lSource[intI]); + } } - - Verbose(string.Format(@"List2List(""{0}"",{1},{2})=""{3}""", src, _start, _end, result)); - return result; + list lResult = new list(); + string sRemark = ""; + if (iStride <= 0) { + sRemark = " ** stride must be > 0 **"; + } else { + if (start == 0) { + for (int intI = 0; intI < lTemp.Count; intI += iStride) lResult.Add(lTemp[intI]); + } else { + for (int intI = iStride - 1; intI < lTemp.Count; intI += iStride) lResult.Add(lTemp[intI]); + } + } + Verbose(@"llList2ListStrided({0}, {1}, {2}, {3})={4}{5}", lSource.ToVerboseString(), start, end, iStride, lResult.ToVerboseString(), sRemark); + return lResult; } - // ok - public list llList2ListStrided(list src, integer _start, integer _end, integer stride) + public rotation llList2Rot(list lSource, integer iIndex) { - int intLength = src.Count; - - int start = _start; - int end = _end; - - list temp = new list(); - - if (CorrectIt(intLength, ref start, ref end)) - { - if (start <= end) - { - for (int intI = start; intI <= end; intI++) - temp.Add(src[intI]); - } - else // excluding - { - for (int intI = 0; intI <= end; intI++) - temp.Add(src[intI]); - for (int intI = start; intI < intLength; intI++) - temp.Add(src[intI]); - } - } - list result = new list(); - string remark = ""; - if (stride <= 0) - { - remark = " ** stride must be > 0 **"; - } - else - { - if (start == 0) - for (int intI = 0; intI < temp.Count; intI += stride) - result.Add(temp[intI]); - else - for (int intI = stride - 1; intI < temp.Count; intI += stride) - result.Add(temp[intI]); - } - Verbose(@"List2ListStrided({0},{1},{2},{3})={4}{5}", src.ToVerboseString(), start, end, stride, result.ToVerboseString(), remark); - return result; + rotation rResult; + if (iIndex < 0) iIndex = lSource.Count + iIndex; + if (iIndex >= lSource.Count || iIndex < 0) { + rResult = ZERO_ROTATION; + } else { + if (lSource[iIndex] is rotation) { + rResult = (rotation)lSource[iIndex]; + } else { + rResult = rotation.ZERO_ROTATION; + } + } + Verbose("llList2Rot({0}, {1})={2}", lSource.ToVerboseString(), iIndex, rResult); + return rResult; } - public rotation llList2Rot(list src, integer index) + public String llList2String(list lSource, integer iIndex) { - rotation result; - if (index < 0) - index = src.Count + index; - if (index >= src.Count || index < 0) - result = ZERO_ROTATION; - else - { - if (src[index] is rotation) - result = (rotation)src[index]; - else - result = ZERO_ROTATION; - } - Verbose("llList2Rot({0},{1})={2}", src.ToVerboseString(), index, result); - return result; + String sResult; + if (iIndex < 0) iIndex = lSource.Count + iIndex; + if (iIndex >= lSource.Count || iIndex < 0) { + sResult = ""; + } else { + sResult = (String)lSource[iIndex].ToString(); + } + Verbose(@"llList2String({0}, {1})=""{2}""", lSource.ToVerboseString(), iIndex, sResult); + return sResult; } - public String llList2String(list src, integer index) + public vector llList2Vector(list lSource, integer iIndex) { - String result; - if (index < 0) - index = src.Count + index; - if (index >= src.Count || index < 0) - result = ""; - else - result = (String)src[index].ToString(); - Verbose("llList2String({0},{1})={2}", src.ToVerboseString(), index, result); - return result; + vector vResult; + if (iIndex < 0) iIndex = lSource.Count + iIndex; + if (iIndex >= lSource.Count || iIndex < 0) { + vResult = ZERO_VECTOR; + } else { + if (lSource[iIndex] is vector) { + vResult = (vector)lSource[iIndex]; + } else { + vResult = vector.ZERO_VECTOR; + } + } + Verbose("llList2Vector({0}, {1})={2}", lSource.ToVerboseString(), iIndex, vResult); + return vResult; } - public vector llList2Vector(list src, integer index) + public integer llListFindList(list lSource, list lMatch) { - vector result; - if (index < 0) - index = src.Count + index; - if (index >= src.Count || index < 0) - result = ZERO_VECTOR; - else - { - if (src[index] is vector) - result = (vector)src[index]; - else - result = ZERO_VECTOR; - } - Verbose("llList2Vector({0},{1})={2}", src.ToVerboseString(), index, result); - return result; - } + if (lSource.Count == 0) return -1; + if (lMatch.Count == 0) return 0; + if (lMatch.Count > lSource.Count) return -1; - // ok, 27 mei 2007 - public integer llListFindList(list src, list test) - { - if (src.Count == 0) - return -1; - if (test.Count == 0) - return 0; - if (test.Count > src.Count) - return -1; - - int intReturn = -1; - for (int intI = 0; intI <= (src.Count - test.Count); intI++) + int iReturn = -1; + for (int intI = 0; intI <= (lSource.Count - lMatch.Count); intI++) { - if (test[0].Equals(src[intI])) + if (lMatch[0].Equals(lSource[intI])) { bool blnOkay = true; - for (int intJ = 1; intJ < test.Count; intJ++) + for (int intJ = 1; intJ < lMatch.Count; intJ++) { - if (!test[intJ].Equals(src[intI + intJ])) + if (!lMatch[intJ].Equals(lSource[intI + intJ])) { blnOkay = false; break; @@ -3051,88 +3100,81 @@ namespace LSLEditor } if (blnOkay) { - intReturn = intI; + iReturn = intI; break; } } } - Verbose("llListFindList({0},{1}={2}", src.ToVerboseString(), test.ToVerboseString(), intReturn); - return intReturn; + Verbose("llListFindList({0}, {1}={2}", lSource.ToVerboseString(), lMatch.ToVerboseString(), iReturn); + return iReturn; } - // ok - public list llListInsertList(list dest, list src, int pos) + public list llListInsertList(list lDestination, list lSource, integer iIndex) { - int intLength = dest.Count; - list result = new list(); - if (pos < 0) - pos = dest.Count + pos; + int intLength = lDestination.Count; + list lResult = new list(); + if (iIndex < 0) + iIndex = lDestination.Count + iIndex; - for (int intI = 0; intI < Math.Min(pos, intLength); intI++) - result.Add(dest[intI]); + for (int intI = 0; intI < Math.Min(iIndex, intLength); intI++) lResult.Add(lDestination[intI]); - result.AddRange(src); + lResult.AddRange(lSource); - for (int intI = Math.Max(0, pos); intI < intLength; intI++) - result.Add(dest[intI]); + for (int intI = Math.Max(0, iIndex); intI < intLength; intI++) lResult.Add(lDestination[intI]); - Verbose("llListInsertList({0},{1},{2})={3}", dest.ToVerboseString(), src.ToVerboseString(), pos, result.ToVerboseString()); - return result; + Verbose("llListInsertList({0}, {1}, {2})={3}", lDestination.ToVerboseString(), lSource.ToVerboseString(), iIndex, lResult.ToVerboseString()); + return lResult; } - // ok - public list llListRandomize(list src, int stride) + public list llListRandomize(list lSource, integer iStride) { - list l; - ArrayList buckets = List2Buckets(src, stride); - if (buckets == null) - l = new list(src); - else - l = Buckets2List(RandomShuffle(buckets), stride); - Verbose("llListRandomize({0},{1})={2}", src.ToVerboseString(), stride, l.ToVerboseString()); - return l; + list lResult; + ArrayList buckets = List2Buckets(lSource, iStride); + if (buckets == null) { + lResult = new list(lSource); + } else { + lResult = Buckets2List(RandomShuffle(buckets), iStride); + } + Verbose("llListRandomize({0}, {1})={2}", lSource.ToVerboseString(), iStride, lResult.ToVerboseString()); + return lResult; } // TODO check this!!! - public list llListReplaceList(list dest, list src, int start, int end) + public list llListReplaceList(list lDestination, list lSource, integer iStart, integer iEnd) { - int intLength = dest.Count; + int intLength = lDestination.Count; - CorrectIt(intLength, ref start, ref end); + int intStart = iStart; + int intEnd = iEnd; + CorrectIt(intLength, ref intStart, ref intEnd); - list result = new list(); - if (start <= end) - { - for (int intI = 0; intI < start; intI++) - result.Add(dest[intI]); - result.AddRange(src); - for (int intI = end + 1; intI < intLength; intI++) - result.Add(dest[intI]); - } - else - { - // where to add src????? - for (int intI = end; intI <= start; intI++) - result.Add(dest[intI]); - } - Verbose("llListReplaceList({0},{1},{2},{3}={4}", dest.ToVerboseString(), src.ToVerboseString(), start, end, result.ToVerboseString()); - return result; + list lResult = new list(); + if (intStart <= intEnd) { + for (int intI = 0; intI < intStart; intI++) lResult.Add(lDestination[intI]); + lResult.AddRange(lSource); + for (int intI = intEnd + 1; intI < intLength; intI++) lResult.Add(lDestination[intI]); + } else { + // where to add src????? + for (int intI = intEnd; intI <= intStart; intI++) lResult.Add(lDestination[intI]); + } + Verbose("llListReplaceList({0}, {1}, {2}, {3}={4}", lDestination.ToVerboseString(), lSource.ToVerboseString(), intStart, intEnd, lResult.ToVerboseString()); + return lResult; } - // ok - public list llListSort(list src, int stride, int ascending) + public list llListSort(list lSource, integer iStride, integer iAscending) { - list result; - ArrayList buckets = List2Buckets(src, stride); - if (buckets == null) - result = new list(src); - else - { - buckets.Sort(new BucketComparer(ascending)); - result = Buckets2List(buckets, stride); - } - Verbose("llListSort({0},{1},{2})={3}", src.ToVerboseString(), stride, ascending, result.ToVerboseString()); - return result; + int intAscending = iAscending; + int intStride = iStride; + list lResult; + ArrayList buckets = List2Buckets(lSource, intStride); + if (buckets == null) { + lResult = new list(lSource); + } else { + buckets.Sort(new BucketComparer(intAscending)); + lResult = Buckets2List(buckets, intStride); + } + Verbose("llListSort({0}, {1}, {2})={3}", lSource.ToVerboseString(), iStride, iAscending, lResult.ToVerboseString()); + return lResult; } /* @@ -3147,201 +3189,197 @@ namespace LSLEditor 8 LIST_STAT_NUM_COUNT Retrieves the amount of float and integer elements. Theoretically similar to llGetListLength, except LL states that this function ignores all non-integer and non-float elements. Therefore, this is a useful tool for mixed lists of numbers and non-numbers. 9 LIST_STAT_GEOMETRIC_MEAN Calculates the geometric mean. All numbers must be greater than zero for this to work, according to LL. */ - public Float llListStatistics(integer _operation, list _input) + public Float llListStatistics(integer iOperation, list lInput) { - double result = 0.0; + double dResult = 0.0; double rmin, rmax; - int operation = _operation; - List input = GetListOfNumbers(_input); + int operation = iOperation; + List input = GetListOfNumbers(lInput); if (input.Count > 0) { switch (operation) { - case 0: // LIST_STAT_RANGE: + case LIST_STAT_RANGE: rmin = double.MaxValue; rmax = double.MinValue; - for (int intI = 0; intI < input.Count; intI++) - { - if (input[intI] < rmin) - rmin = input[intI]; - if (input[intI] > rmax) - rmax = input[intI]; + for (int intI = 0; intI < input.Count; intI++) { + if (input[intI] < rmin) rmin = input[intI]; + if (input[intI] > rmax) rmax = input[intI]; } - result = rmax - rmin; + dResult = rmax - rmin; break; - case 1: //LIST_STAT_MIN: - result = double.MaxValue; - for (int intI = 0; intI < input.Count; intI++) - if (input[intI] < result) - result = input[intI]; + case LIST_STAT_MIN: + dResult = double.MaxValue; + for (int intI = 0; intI < input.Count; intI++) { + if (input[intI] < dResult) dResult = input[intI]; + } break; - case 2: //LIST_STAT_MAX: - result = double.MinValue; - for (int intI = 0; intI < input.Count; intI++) - if (input[intI] > result) - result = input[intI]; + case LIST_STAT_MAX: + dResult = double.MinValue; + for (int intI = 0; intI < input.Count; intI++) { + if (input[intI] > dResult) dResult = input[intI]; + } break; - case 3: //LIST_STAT_MEAN: - for (int intI = 0; intI < input.Count; intI++) - result += input[intI]; - result = result / input.Count; + case LIST_STAT_MEAN: + for (int intI = 0; intI < input.Count; intI++) { + dResult += input[intI]; + } + dResult = dResult / input.Count; break; - case 4: //LIST_STAT_MEDIAN: + case LIST_STAT_MEDIAN: input.Sort(); - if (Math.Ceiling(input.Count * 0.5) == input.Count * 0.5) - result = (input[(int)(input.Count * 0.5 - 1)] + input[(int)(input.Count * 0.5)]) / 2; - else - result = input[((int)(Math.Ceiling(input.Count * 0.5))) - 1]; + if (Math.Ceiling(input.Count * 0.5) == input.Count * 0.5) { + dResult = (input[(int)(input.Count * 0.5 - 1)] + input[(int)(input.Count * 0.5)]) / 2; + } else { + dResult = input[((int)(Math.Ceiling(input.Count * 0.5))) - 1]; + } break; - case 5: //LIST_STAT_STD_DEV: - result = GetStandardDeviation(input.ToArray()); + case LIST_STAT_STD_DEV: + dResult = GetStandardDeviation(input.ToArray()); break; - case 6: //LIST_STAT_SUM: - for (int intI = 0; intI < input.Count; intI++) - result += input[intI]; + case LIST_STAT_SUM: + for (int intI = 0; intI < input.Count; intI++) { + dResult += input[intI]; + } break; - case 7: //LIST_STAT_SUM_SQUARES: - for (int intI = 0; intI < input.Count; intI++) - result += input[intI] * input[intI]; + case LIST_STAT_SUM_SQUARES: + for (int intI = 0; intI < input.Count; intI++) { + dResult += input[intI] * input[intI]; + } //double av = GetAverage(input.ToArray()); //for (int intI = 0; intI < input.Count; intI++) // result += (av - input[intI]) * (av - input[intI]); break; - case 8: //LIST_STAT_NUM_COUNT: - result = input.Count; + case LIST_STAT_NUM_COUNT: + dResult = input.Count; break; - case 9: //LIST_STAT_GEOMETRIC_MEAN: - for (int intI = 0; intI < input.Count; intI++) - input[intI] = Math.Log(input[intI]); - result = Math.Exp(GetAverage(input.ToArray())); + case LIST_STAT_GEOMETRIC_MEAN: + for (int intI = 0; intI < input.Count; intI++) { + input[intI] = Math.Log(input[intI]); + } + dResult = Math.Exp(GetAverage(input.ToArray())); break; default: break; } } - Verbose("llListStatistics({0},{1})={2}", _operation, _input.ToString(), result); - return result; + Verbose("llListStatistics({0}, {1})={2}", iOperation, lInput.ToVerboseString(), dResult); + return dResult; } - public integer llListen(integer channel, String name, key id, String msg) + public integer llListen(integer iChannel, String sName, key kID, String sText) { - int intHandle = host.llListen(channel, name, id, msg); - Verbose(@"Listen(" + channel + @",""" + name + @"""," + id + @",""" + msg + @""")=" + intHandle); + int intHandle = host.llListen(iChannel, sName, kID, sText); + Verbose(@"llListen({0}, ""{1}"", {2}, {3})={4}", iChannel, sName, kID, sText, intHandle); return intHandle; } - public void llListenControl(integer number, integer active) + public void llListenControl(integer iHandle, integer iActive) { - Verbose("llListenControl(" + number + "," + active + ")"); - host.llListenControl(number, active); + Verbose("llListenControl({0}, {1})", iHandle, iActive); + host.llListenControl(iHandle, iActive); } - public void llListenRemove(integer number) + public void llListenRemove(integer iHandle) { - Verbose("llListenRemove(" + number + ")"); - host.llListenRemove(number); + Verbose("llListenRemove({0})", iHandle); + host.llListenRemove(iHandle); } - public void llLoadURL(key avatar_id, String message, String url) + public void llLoadURL(key kAvatarID, String sText, String sURL) { - Verbose("llLoadURL(" + avatar_id + "," + message + "," + url + ")"); - string strUrl = url.ToString(); - if (strUrl.StartsWith("http://")) - System.Diagnostics.Process.Start(strUrl); + Verbose(@"llLoadURL({0}, ""{1}"", ""{2}"")", kAvatarID, sText, sURL); + string strUrl = sURL.ToString(); + if (strUrl.StartsWith("http://")) { + System.Diagnostics.Process.Start(strUrl); + } } - public Float llLog(Float val) + public Float llLog(Float fValue) { double dblA = 0.0; - if (val > 0.0) - dblA = Math.Log(val); - Verbose("llLog({0})={1}", val, dblA); + if (fValue > 0.0) { + dblA = Math.Log(fValue); + } + Verbose("llLog({0})={1}", fValue, dblA); return dblA; } - public Float llLog10(Float val) + public Float llLog10(Float fValue) { double dblA = 0.0; - if (val > 0.0) - dblA = Math.Log10(val); - Verbose("llLog10({0})={1}", val, dblA); + if (fValue > 0.0) { + dblA = Math.Log10(fValue); + } + Verbose("llLog10({0})={1}", fValue, dblA); return dblA; } - public void llLookAt(vector target, Float strength, Float damping) + public void llLookAt(vector vTarget, Float fStrength, Float fDamping) { - Verbose("llLookAt(" + target + "," + strength + "," + damping + ")"); + Verbose("llLookAt(" + vTarget + "," + fStrength + "," + fDamping + ")"); } - public void llLoopSound(String sound, Float volume) + public void llLoopSound(String sSound, Float sVolume) { - try - { - System.Media.SoundPlayer sp = host.GetSoundPlayer(sound); - sp.PlayLooping(); - } - catch - { - } - Verbose("llLoopSound(" + sound + "," + volume + ")"); + try { + System.Media.SoundPlayer sp = host.GetSoundPlayer(sSound); + sp.PlayLooping(); + } catch { + } + Verbose("llLoopSound({0}, {1})", sSound, sVolume); } - public void llLoopSoundMaster(String sound, Float volume) + public void llLoopSoundMaster(String sSound, Float fVolume) { - try - { - System.Media.SoundPlayer sp = host.GetSoundPlayer(sound); - sp.PlayLooping(); - } - catch - { - } - Verbose("llLoopSoundMaster(" + sound + "," + volume + ")"); + try { + System.Media.SoundPlayer sp = host.GetSoundPlayer(sSound); + sp.PlayLooping(); + } catch { + } + Verbose("llLoopSoundMaster({0}, {1})", sSound, fVolume); } - public void llLoopSoundSlave(String sound, Float volume) + public void llLoopSoundSlave(String sSound, Float fVolume) { - try - { - System.Media.SoundPlayer sp = host.GetSoundPlayer(sound); - sp.PlayLooping(); - } - catch - { - } - Verbose("llLoopSoundSlave(" + sound + "," + volume + ")"); + try { + System.Media.SoundPlayer sp = host.GetSoundPlayer(sSound); + sp.PlayLooping(); + } catch { + } + Verbose("llLoopSoundSlave({0}, {1})", sSound, fVolume); } // ok - public String llMD5String(String src, integer nonce) + public String llMD5String(String sSource, integer iNonce) { System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider(); - byte[] hash = md5.ComputeHash(Encoding.ASCII.GetBytes(src + ":" + nonce.ToString())); - StringBuilder sb = new StringBuilder(); + byte[] hash = md5.ComputeHash(Encoding.ASCII.GetBytes(sSource + ":" + iNonce.ToString())); + StringBuilder sbResult = new StringBuilder(); foreach (byte hex in hash) - sb.Append(hex.ToString("x2")); //convert to standard MD5 form - Verbose("llMD5String({0},{1})={2}", src, nonce, sb); - return sb.ToString(); + sbResult.Append(hex.ToString("x2")); //convert to standard MD5 form + Verbose("llMD5String({0}, {1})={2}", sSource, iNonce, sbResult); + return sbResult.ToString(); } - public void llMakeExplosion(integer particles, Float scale, Float velocity, Float lifetime, Float arc, String texture, vector offset) + public void llMakeExplosion(integer iParticles, Float fScale, Float fVelocity, Float fLifetime, Float fArc, String sTexture, vector vOffset) { - Verbose("llMakeExplosion(" + particles + "," + scale + "," + velocity + "," + lifetime + "," + arc + "," + texture + "," + offset + ")"); + Verbose(@"llMakeExplosion({0}, {1}, {2}, {3}, {4}, ""{5}"", {6})", iParticles, fScale, fVelocity, fLifetime, fArc, sTexture, vOffset); } - public void llMakeFire(integer particles, Float scale, Float velocity, Float lifetime, Float arc, String texture, vector offset) + public void llMakeFire(integer iParticles, Float fScale, Float fVelocity, Float fLifetime, Float fArc, String sTexture, vector vOffset) { - Verbose("llMakeFire(" + particles + "," + scale + "," + velocity + "," + lifetime + "," + arc + "," + texture + "," + offset + ")"); + Verbose(@"llMakeFire({0}, {1}, {2}, {3}, {4}, ""{5}"", {6})", iParticles, fScale, fVelocity, fLifetime, fArc, sTexture, vOffset); } - public void llMakeFountain(integer particles, Float scale, Float velocity, Float lifetime, Float arc, String texture, vector offset) + public void llMakeFountain(integer iParticles, Float fScale, Float fVelocity, Float fLifetime, Float fArc, String sTexture, vector vOffset) { - Verbose("llMakeFountain(" + particles + "," + scale + "," + velocity + "," + lifetime + "," + arc + "," + texture + "," + offset + ")"); + Verbose(@"llMakeFountain({0}, {1}, {2}, {3}, {4}, ""{5}"", {6})", iParticles, fScale, fVelocity, fLifetime, fArc, sTexture, vOffset); } - public void llMakeSmoke(integer particles, Float scale, Float velocity, Float lifetime, Float arc, String texture, vector offset) + public void llMakeSmoke(integer iParticles, Float fScale, Float fVelocity, Float fLifetime, Float fArc, String sTexture, vector vOffset) { - Verbose("llMakeSmoke(" + particles + "," + scale + "," + velocity + "," + lifetime + "," + arc + "," + texture + "," + offset + ")"); + Verbose(@"llMakeSmoke({0}, {1}, {2}, {3}, {4}, ""{5}"", {6})", iParticles, fScale, fVelocity, fLifetime, fArc, sTexture, vOffset); } public void llManageEstateAccess(integer iAction, key kID) @@ -3349,26 +3387,26 @@ namespace LSLEditor Verbose("llManageEstateAccess({0}, {1}", iAction, kID); } - public void llMapDestination(String simname, vector position, vector lookat) + public void llMapDestination(String sLandmark, vector vPosition, vector vLookat) { - Verbose("llMapDestination(" + simname + "," + position + "," + lookat + ")"); + Verbose(@"llMapDestination({0}, {1}, {2})", sLandmark, vPosition, vLookat); } - public void llMessageLinked(integer linknum, integer num, String str, key id) + public void llMessageLinked(integer iLink, integer iValue, String sText, key kID) { - Verbose("llMessageLinked(" + linknum + "," + num + "," + str + "," + id + ")"); - host.MessageLinked(linknum, num, str, id); + Verbose(@"llMessageLinked({0}, {1}, ""{2}"", {3})", iLink, iValue, sText, kID); + host.MessageLinked(iLink, iValue, sText, kID); } - public void llMinEventDelay(Float delay) + public void llMinEventDelay(Float fDelay) { - Verbose("llMinEventDelay(" + delay + ")"); + Verbose("llMinEventDelay({0}", fDelay); } public integer llModPow(integer x, integer y, integer m) { integer result = ModPow2(x, y, m); - Verbose("llModPow({0},{1},{2})={3}", x, y, m, result); + Verbose("llModPow({0}, {1}, {2})={3}", x, y, m, result); return result; } @@ -3424,7 +3462,7 @@ namespace LSLEditor public list llParseString2List(String src, list separators, list spacers) { list result = ParseString(src, separators, spacers, false); - Verbose("llParseString2List({0},{1},{2})={3}", src, separators.ToVerboseString(), spacers.ToVerboseString(), result.ToVerboseString()); + Verbose("llParseString2List({0}, {1}, {2})={3}", src, separators.ToVerboseString(), spacers.ToVerboseString(), result.ToVerboseString()); return result; } @@ -3432,7 +3470,7 @@ namespace LSLEditor public list llParseStringKeepNulls(String src, list separators, list spacers) { list result = ParseString(src, separators, spacers, true); - Verbose("llParseStringKeepNulls({0},{1},{2})={3}", src, separators.ToVerboseString(), spacers.ToVerboseString(), result.ToVerboseString()); + Verbose("llParseStringKeepNulls({0}, {1}, {2})={3}", src, separators.ToVerboseString(), spacers.ToVerboseString(), result.ToVerboseString()); return result; } @@ -3545,7 +3583,7 @@ namespace LSLEditor public void llRemoteDataReply(key channel, key message_id, String sdata, integer idata) { host.llRemoteDataReply(channel, message_id, sdata, idata); - Verbose("llRemoteDataReply({0},{1},{2},{3})", channel, message_id, sdata, idata); + Verbose("llRemoteDataReply({0}, {1}, {2}, {3})", channel, message_id, sdata, idata); } public void llRemoteDataSetRegion() @@ -3846,7 +3884,7 @@ namespace LSLEditor public key llSendRemoteData(key channel, String dest, integer idata, String sdata) { key k = host.llSendRemoteData(channel, dest, idata, sdata); - Verbose("llSendRemoteData({0},{1},{2},{3})={4}", channel, dest, idata, sdata, k); + Verbose("llSendRemoteData({0}, {1}, {2}, {3})={4}", channel, dest, idata, sdata, k); return k; } @@ -4253,14 +4291,14 @@ namespace LSLEditor public integer llStringLength(String src) { int intLength = ((string)src).Length; - Verbose(@"StringLength(""{0}"")={1}", src, intLength); + Verbose(@"llStringLength(""{0}"")={1}", src, intLength); return intLength; } public String llStringToBase64(String str) { string result = StringToBase64(str.ToString()); - Verbose(@"StringToBase64(""{0}"")=""{1}""", str, result); + Verbose(@"llStringToBase64(""{0}"")=""{1}""", str, result); return result; } @@ -4281,7 +4319,7 @@ namespace LSLEditor public integer llSubStringIndex(String source, String pattern) { int intIndexOf = ((string)source).IndexOf((string)pattern); - Verbose("llSubStringIndex({0},{1})={2}", source, pattern, intIndexOf); + Verbose("llSubStringIndex({0}, {1})={2}", source, pattern, intIndexOf); return intIndexOf; } @@ -4463,10 +4501,24 @@ namespace LSLEditor return vector.ZERO_VECTOR; } - public String llXorBase64StringsCorrect(String s1, String s2) + public String llXorBase64(String sText1, String sText2) + { + string sResult = ""; + Verbose(@"llXorBase64(""{0}"",""{1}"")=""{2}""", sText1, sText2, sResult); + return sResult; + } + + public String llXorBase64Strings(String sText1, String sText2) + { + string sResult = ""; + Verbose(@"llXorBase64Strings(""{0}"",""{1}"")=""{2}""", sText1, sText2, sResult); + return sResult; + } + + public String llXorBase64StringsCorrect(String sText1, String sText2) { - string S1 = Base64ToString(s1.ToString()); - string S2 = Base64ToString(s2.ToString()); + string S1 = Base64ToString(sText1.ToString()); + string S2 = Base64ToString(sText2.ToString()); int intLength = S1.Length; if (S2.Length == 0) S2 = " "; @@ -4476,9 +4528,9 @@ namespace LSLEditor StringBuilder sb = new StringBuilder(); for (int intI = 0; intI < intLength; intI++) sb.Append((char)(S1[intI] ^ S2[intI])); - string result = StringToBase64(sb.ToString()); - Verbose(@"XorBase64StringsCorrect(""{0}"",""{1}"")=""{2}""", s1, s2, result); - return result; + string sResult = StringToBase64(sb.ToString()); + Verbose(@"llXorBase64StringsCorrect(""{0}"",""{1}"")=""{2}""", sText1, sText2, sResult); + return sResult; } #endregion } diff --git a/trunk/lsleditor.csproj b/trunk/lsleditor.csproj index f1b15d1..8200ef0 100644 --- a/trunk/lsleditor.csproj +++ b/trunk/lsleditor.csproj @@ -1,4 +1,4 @@ - + Local @@ -251,7 +251,6 @@ - Form