module Language.Lsl.Internal.Constants where import Data.Bits((.|.),shiftL) import Language.Lsl.Internal.Type(LSLValue(..),typeOfLSLValue) import Language.Lsl.Internal.Util(findM) data Constant = Constant { constName :: String, constVal :: LSLValue } deriving (Show) llcInventoryAll = IVal (-1) llcInventoryAnimation = IVal 20 llcInventoryBodyPart = IVal 13 llcInventoryClothing = IVal 5 llcInventoryGesture = IVal 21 llcInventoryLandmark = IVal 3 llcInventoryNotecard = IVal 7 llcInventoryNone = IVal (-1) llcInventoryObject = IVal 6 llcInventoryScript = IVal 10 llcInventorySound = IVal 1 llcInventoryTexture = IVal 0 cPermissionChangeLinks = 0x80 :: Int llcPermissionChangeLinks = IVal cPermissionChangeLinks cChangedLink = 0x20 :: Int llcChangedLink = IVal cChangedLink (cChangedInventory,llcChangedInventory) = mkIConst 0x1 (cChnagedAllowedDrop,llcChangedAllowedDrop) = mkIConst 0x40 (cMaskBase,llcMaskBase) = mkIConst 0 (cMaskOwner,llcMaskOwner) = mkIConst 1 (cMaskGroup,llcMaskGroup) = mkIConst 2 (cMaskEveryone,llcMaskEveryone) = mkIConst 3 (cMaskNext,llcMaskNext) = mkIConst 4 (cPermModify,llcPermModify) = mkIConst 0x00004000 (cPermCopy,llcPermCopy) = mkIConst 0x00008000 (cPermTransfer,llcPermTransfer) = mkIConst 0x00002000 (cPermMove,llcPermMove) = mkIConst 0x00080000 cFullPerm = cPermModify .|. cPermMove .|. cPermTransfer .|. cPermCopy (cPrimTypeBox,llcPrimTypeBox) = mkIConst 0 (cPrimTypeCylinder,llcPrimTypeCylinder) = mkIConst 1 (cPrimTypePrism,llcPrimTypePrism) = mkIConst 2 (cPrimTypeRing,llcPrimTypeRing) = mkIConst 6 (cPrimTypeSphere,llcPrimTypeSphere) = mkIConst 3 (cPrimTypeSculpt,llcPrimTypeSculpt) = mkIConst 7 (cPrimTypeTorus,llcPrimTypeTorus) = mkIConst 4 (cPrimTypeTube,llcPrimTypeTube) = mkIConst 5 validAttachmentPoints = [0..36]::[Int] cDebugChannel = 2147483647 :: Int llcDebugChannel = IVal cDebugChannel cEOF = "\n\n\n" llcEOF = (SVal cEOF) cPermissionControlCamera = 0x800 :: Int llcPermissionControlCamera = IVal cPermissionControlCamera (cPermissionTrackCamera,llcPermissionTrackCamera) = mkIConst 0x400 (cPermissionTriggerAnimation,llcPermissionTriggerAnimation) = mkIConst 0x10 (cPermissionDebit,llcPermissionDebit) = mkIConst 0x2 (cPermissionAttach,llcPermissionAttach) = mkIConst 0x20 (cPermissionTakeControls,llcPermissionTakeControls) = mkIConst 0x4 (cActive,llcActive) = mkIConst 0x2 (cAgent,llcAgent) = mkIConst 0x1 (cPassive,llcPassive) = mkIConst 0x4 (cScripted,llcScripted) = mkIConst 0x8 (cStatusPhysics,llcStatusPhysics) = mkIConst 1 (cStatusRotateX,llcStatusRotateX) = mkIConst 2 (cStatusRotateY,llcStatusRotateY) = mkIConst 4 (cStatusRotateZ,llcStatusRotateZ) = mkIConst 8 (cStatusPhantom,llcStatusPhantom) = mkIConst 16 (cStatusSandbox,llcStatusSandbox) = mkIConst 32 (cStatusBlockGrab,llcStatusBlockGrab) = mkIConst 64 (cStatusDieAtEdge,llcStatusDieAtEdge) = mkIConst 128 (cStatusReturnAtEdge,llcStatusReturnAtEdge) = mkIConst 256 (cStatusCastShadows,llcStatusCastShadows) = mkIConst 512 (cPrimBumpShiny,llcPrimBumpShiny) = mkIConst 19 (cPrimColor,llcPrimColor) = mkIConst 18 (cPrimTexture,llcPrimTexture) = mkIConst 17 (cPrimTexgen,llcPrimTexgen) = mkIConst 22 (cPrimFullbright,llcPrimFullbright) = mkIConst 20 (cPrimMaterial,llcPrimMaterial) = mkIConst 2 (cPrimPhantom,llcPrimPhantom) = mkIConst 5 (cPrimPhysics,llcPrimPhysics) = mkIConst 3 (cPrimFlexible,llcPrimFlexible) = mkIConst 21 (cPrimPointLight,llcPrimPointLight) = mkIConst 23 (cPrimPosition,llcPrimPosition) = mkIConst 6 (cPrimRotation,llcPrimRotation) = mkIConst 8 (cPrimSize,llcPrimSize) = mkIConst 7 (cPrimTempOnRez,llcPrimTempOnRez) = mkIConst 4 (cPrimType,llcPrimType) = mkIConst 9 (cParcelDetailsName,llcParcelDetailsName) = mkIConst 0 (cParcelDetailsDesc,llcParcelDetailsDesc) = mkIConst 1 (cParcelDetailsOwner,llcParcelDetailsOwner) = mkIConst 2 (cParcelDetailsGroup,llcParcelDetailsGroup) = mkIConst 3 (cParcelDetailsArea,llcParcelDetailsArea) = mkIConst 4 (cClickActionNone,llcClickActionNone) = mkIConst 0 (cClickActionTouch,llcClickActionTouch) = mkIConst 0 (cClickActionSit,llcClickActionSit) = mkIConst 1 (cClickActionBuy,llcClickActionBuy) = mkIConst 2 (cClickActionPay,llcClickActionPay) = mkIConst 3 (cClickActionOpen,llcClickActionOpen) = mkIConst 4 (cClickActionPlay,llcClickActionPlay) = mkIConst 5 (cClickActionOpenMedia,llcClickActionOpenMedia) = mkIConst 6 cClickActions = [cClickActionTouch,cClickActionSit,cClickActionBuy,cClickActionPay,cClickActionOpen,cClickActionPlay,cClickActionOpenMedia] (cDataBorn,llcDataBorn) = mkIConst 3 (cDataName,llcDataName) = mkIConst 2 (cDataOnline,llcDataOnline) = mkIConst 1 (cDataPayinfo,llcDataPayinfo) = mkIConst 8 (cDataRating,llcDataRating) = mkIConst 4 (cDataSimPos,llcDataSimPos) = mkIConst 5 (cDataSimRating,llcDataSimRating) = mkIConst 7 (cDataSimStatus,llcDataSimStatus) = mkIConst 6 (cHTTPBodyMaxlength,llcHTTPBodyMaxlength) = mkIConst 2 (cHTTPBodyTruncated,llcHTTPBodyTruncated) = mkIConst 0 (cHTTPMethod,llcHTTPMethod) = mkIConst 0 (cHTTPMimetype,llcHTTPMimetype) = mkIConst 1 (cHTTPVerifyCert,llcHTTPVerifyCert) = mkIConst 3 (cRemoteDataChannel,llcRemoteDataChannel) = mkIConst 1 (cRemoteDataRequest,llcRemoteDataRequest) = mkIConst 2 (cRemoteDataReply,llcRemoteDataReply) = mkIConst 3 llcZeroVector = VVal 0 0 0 llcZeroRotation = RVal 0 0 0 1 mkIConst :: Int -> (Int,LSLValue) mkIConst i = (i,IVal i) allConstants :: [Constant] allConstants = [ Constant "ACTIVE" llcActive, Constant "AGENT" llcAgent, Constant "AGENT_ALWAYS_RUN" (IVal 0x1000), Constant "AGENT_ATTACHMENTS" (IVal 0x2), Constant "AGENT_AWAY" (IVal 0x40), Constant "AGENT_BUSY" (IVal 0x800), Constant "AGENT_CROUCHING" (IVal 0x400), Constant "AGENT_FLYING" (IVal 0x1), Constant "AGENT_IN_AIR" (IVal 0x100), Constant "AGENT_MOUSELOOK" (IVal 0x8), Constant "AGENT_ON_OBJECT" (IVal 0x20), Constant "AGENT_SCRIPTED" (IVal 0x4), Constant "AGENT_SITTING" (IVal 0x10), Constant "AGENT_TYPING" (IVal 0x200), Constant "AGENT_WALKING" (IVal 0x80), Constant "ALL_SIDES" (IVal (-1)), Constant "ANIM_ON" (IVal 0x1), Constant "ATTACH_BACK" (IVal 9), Constant "ATTACH_BELLY" (IVal 28), Constant "ATTACH_CHEST" (IVal 1), Constant "ATTACH_CHIN" (IVal 12), Constant "ATTACH_HEAD" (IVal 2), Constant "ATTACH_HUD_BOTTOM" (IVal 37), Constant "ATTACH_HUD_BOTTOM_LEFT" (IVal 36), Constant "ATTACH_HUD_BOTTOM_RIGHT" (IVal 38), Constant "ATTACH_HUD_CENTER_1" (IVal 35), Constant "ATTACH_HUD_CENTER_2" (IVal 31), Constant "ATTACH_HUD_TOP_CENTER" (IVal 33), Constant "ATTACH_HUD_TOP_LEFT" (IVal 34), Constant "ATTACH_HUD_TOP_RIGHT" (IVal 32), Constant "ATTACH_LEAR" (IVal 13), Constant "ATTACH_LEYE" (IVal 15), Constant "ATTACH_LFOOT" (IVal 7), Constant "ATTACH_LHAND" (IVal 5), Constant "ATTACH_LHIP" (IVal 25), Constant "ATTACH_LLARM" (IVal 21), Constant "ATTACH_LLLEG" (IVal 27), Constant "ATTACH_LPEC" (IVal 30), Constant "ATTACH_LSHOULDER" (IVal 3), Constant "ATTACH_LUARM" (IVal 20), Constant "ATTACH_LULEG" (IVal 26), Constant "ATTACH_MOUTH" (IVal 11), Constant "ATTACH_NOSE" (IVal 17), Constant "ATTACH_PELVIS" (IVal 10), Constant "ATTACH_REAR" (IVal 14), Constant "ATTACH_REYE" (IVal 16), Constant "ATTACH_RFOOT" (IVal 8), Constant "ATTACH_RHAND" (IVal 6), Constant "ATTACH_RHIP" (IVal 22), Constant "ATTACH_RLARM" (IVal 19), Constant "ATTACH_RLLEG" (IVal 24), Constant "ATTACH_RPEC" (IVal 29), Constant "ATTACH_RSHOULDER" (IVal 4), Constant "ATTACH_RUARM" (IVal 18), Constant "ATTACH_RULEG" (IVal 23), Constant "CAMERA_ACTIVE" (IVal 12), Constant "CAMERA_BEHINDNESS_ANGLE" (IVal 8), Constant "CAMERA_BEHINDNESS_LAG" (IVal 9), Constant "CAMERA_DISTANCE" (IVal 7), Constant "CAMERA_FOCUS" (IVal 17), Constant "CAMERA_FOCUS_LAG" (IVal 6), Constant "CAMERA_FOCUS_LOCKED" (IVal 22), Constant "CAMERA_FOCUS_OFFSET" (IVal 1), Constant "CAMERA_FOCUS_THRESHOLD" (IVal 11), Constant "CAMERA_PITCH" (IVal 0), Constant "CAMERA_POSITION" (IVal 13), Constant "CAMERA_POSITION_LAG" (IVal 5), Constant "CAMERA_POSITION_LOCKED" (IVal 21), Constant "CAMERA_POSITION_THRESHOLD" (IVal 10), Constant "CHANGED_ALLOWED_DROP" llcChangedAllowedDrop, Constant "CHANGED_COLOR" (IVal 0x2), Constant "CHANGED_INVENTORY" llcChangedInventory, Constant "CHANGED_LINK" llcChangedLink, Constant "CHANGED_OWNER" (IVal 0x80), Constant "CHANGED_REGION" (IVal 0x100), Constant "CHANGED_SCALE" (IVal 0x8), Constant "CHANGED_SHAPE" (IVal 0x4), Constant "CHANGED_TELEPORT" (IVal 0x200), Constant "CHANGED_TEXTURE" (IVal 0x10), Constant "CLICK_ACTION_NONE" llcClickActionNone, Constant "CLICK_ACTION_TOUCH" llcClickActionTouch, Constant "CLICK_ACTION_SIT" llcClickActionSit, Constant "CLICK_ACTION_BUY" llcClickActionBuy, Constant "CLICK_ACTION_PAY" llcClickActionPay, Constant "CLICK_ACTION_OPEN" llcClickActionOpen, Constant "CLICK_ACTION_PLAY" llcClickActionPlay, Constant "CLICK_ACTION_OPEN_MEDIA" llcClickActionOpenMedia, Constant "CONTROL_BACK" (IVal 0x2), Constant "CONTROL_DOWN" (IVal 0x20), Constant "CONTROL_FWD" (IVal 0x1), Constant "CONTROL_LBUTTON" (IVal 0x10000000), Constant "CONTROL_LEFT" (IVal 0x4), Constant "CONTROL_ML_LBUTTON" (IVal 0x40000000), Constant "CONTROL_RIGHT" (IVal 0x8), Constant "CONTROL_ROT_LEFT" (IVal 0x100), Constant "CONTROL_ROT_RIGHT" (IVal 0x200), Constant "CONTROL_UP" (IVal 0x10), Constant "DATA_BORN" llcDataBorn, Constant "DATA_NAME" llcDataName, Constant "DATA_ONLINE" llcDataOnline, Constant "DATA_PAYINFO" llcDataPayinfo, Constant "DATA_RATING" llcDataRating, Constant "DATA_SIM_POS" llcDataSimPos, Constant "DATA_SIM_RATING" llcDataSimRating, Constant "DATA_SIM_STATUS" llcDataSimStatus, Constant "DEBUG_CHANNEL" llcDebugChannel, Constant "DEG_TO_RAD" (FVal 0.01745329238), Constant "EOF" llcEOF, Constant "FALSE" (IVal 0), Constant "HTTP_BODY_MAXLENGTH" llcHTTPBodyMaxlength, Constant "HTTP_BODY_TRUNCATED" llcHTTPBodyTruncated, Constant "HTTP_METHOD" llcHTTPMethod, Constant "HTTP_MIMETYPE" llcHTTPMimetype, Constant "HTTP_VERIFY_CERT" llcHTTPVerifyCert, Constant "INVENTORY_ALL" llcInventoryAll, Constant "INVENTORY_ANIMATION" llcInventoryAnimation, Constant "INVENTORY_BODYPART" llcInventoryBodyPart, Constant "INVENTORY_CLOTHING" llcInventoryClothing, Constant "INVENTORY_GESTURE" llcInventoryGesture, Constant "INVENTORY_LANDMARK" llcInventoryLandmark, Constant "INVENTORY_NONE" llcInventoryNone, Constant "INVENTORY_NOTECARD" llcInventoryNotecard, Constant "INVENTORY_OBJECT" llcInventoryObject, Constant "INVENTORY_SCRIPT" llcInventoryScript, Constant "INVENTORY_SOUND" llcInventorySound, Constant "INVENTORY_TEXTURE" llcInventoryTexture, Constant "LAND_LARGE_BRUSH" (IVal 3), Constant "LAND_LEVEL" (IVal 0), Constant "LAND_LOWER" (IVal 2), Constant "LAND_MEDIUM_BRUSH" (IVal 2), Constant "LAND_NOISE" (IVal 4), Constant "LAND_RAISE" (IVal 1), Constant "LAND_REVERT" (IVal 5), Constant "LAND_SMALL_BRUSH" (IVal 1), Constant "LAND_SMOOTH" (IVal 3), Constant "LINK_ALL_CHILDREN" (IVal (-3)), Constant "LINK_ALL_OTHERS" (IVal (-2)), Constant "LINK_ROOT" (IVal 1), Constant "LINK_SET" (IVal (-1)), Constant "LINK_THIS" (IVal (-4)), Constant "LIST_STAT_GEOMETRIC_MEAN" (IVal 9), Constant "LIST_STAT_MAX" (IVal 2), Constant "LIST_STAT_MEAN" (IVal 3), Constant "LIST_STAT_MEDIAN" (IVal 4), Constant "LIST_STAT_MIN" (IVal 1), Constant "LIST_STAT_NUM_COUNT" (IVal 8), Constant "LIST_STAT_RANGE" (IVal 0), Constant "LIST_STAT_STD_DEV" (IVal 5), Constant "LIST_STAT_SUM" (IVal 6), Constant "LIST_STAT_SUM_SQUARES" (IVal 7), Constant "LOOP" (IVal 0x2), Constant "MASK_BASE" llcMaskBase, Constant "MASK_EVERYONE" llcMaskEveryone, Constant "MASK_GROUP" llcMaskGroup, Constant "MASK_NEXT" llcMaskNext, Constant "MASK_OWNER" llcMaskOwner, Constant "NULL_KEY" (SVal "00000000-0000-0000-0000-000000000000"), Constant "OBJECT_CREATOR" (IVal 8), Constant "OBJECT_DESC" (IVal 2), Constant "OBJECT_NAME" (IVal 1), Constant "OBJECT_OWNER" (IVal 6), Constant "OBJECT_POS" (IVal 3), Constant "OBJECT_ROT" (IVal 4), Constant "OBJECT_VELOCITY" (IVal 5), Constant "OBJECT_GROUP" (IVal 7), Constant "OBJECT_UNKNOWN_DETAIL" (IVal (-1)), Constant "PARCEL_COUNT_GROUP" (IVal 2), Constant "PARCEL_COUNT_OTHER" (IVal 3), Constant "PARCEL_COUNT_OWNER" (IVal 1), Constant "PARCEL_COUNT_SELECTED" (IVal 4), Constant "PARCEL_COUNT_TEMP" (IVal 5), Constant "PARCEL_COUNT_TOTAL" (IVal 0), Constant "PARCEL_DETAILS_AREA" llcParcelDetailsArea, Constant "PARCEL_DETAILS_DESC" llcParcelDetailsDesc, Constant "PARCEL_DETAILS_GROUP" llcParcelDetailsGroup, Constant "PARCEL_DETAILS_NAME" llcParcelDetailsName, Constant "PARCEL_DETAILS_OWNER" llcParcelDetailsOwner, Constant "PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY" (IVal (1 `shiftL` 27)), Constant "PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS" (IVal (1 `shiftL` 26)), Constant "PARCEL_FLAG_ALLOW_CREATE_OBJECTS" (IVal (1 `shiftL` 6)), Constant "PARCEL_FLAG_ALLOW_DAMAGE" (IVal (1 `shiftL` 5)), Constant "PARCEL_FLAG_ALLOW_FLY" (IVal 0), Constant "PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY" (IVal (1 `shiftL` 28)), Constant "PARCEL_FLAG_ALLOW_GROUP_SCRIPTS" (IVal (1 `shiftL` 25)), Constant "PARCEL_FLAG_ALLOW_LANDMARK" (IVal (1 `shiftL` 3)), Constant "PARCEL_FLAG_ALLOW_SCRIPTS" (IVal (1 `shiftL` 1)), Constant "PARCEL_FLAG_ALLOW_TERRAFORM" (IVal (1 `shiftL` 4)), Constant "PARCEL_FLAG_LOCAL_SOUND_ONLY" (IVal (1 `shiftL` 15)), Constant "PARCEL_FLAG_RESTRICT_PUSHOBJECT" (IVal (1 `shiftL` 21)), Constant "PARCEL_FLAG_USE_ACCESS_GROUP" (IVal (1 `shiftL` 8)), Constant "PARCEL_FLAG_USE_ACCESS_LIST" (IVal (1 `shiftL` 9)), Constant "PARCEL_FLAG_USE_BAN_LIST" (IVal (1 `shiftL` 10)), Constant "PARCEL_FLAG_USE_LAND_PASS_LIST" (IVal (1 `shiftL` 11)), Constant "PARCEL_MEDIA_COMMAND_AGENT" (IVal 7), Constant "PARCEL_MEDIA_COMMAND_AUTO_ALIGN" (IVal 9), Constant "PARCEL_MEDIA_COMMAND_DESC" (IVal 12), Constant "PARCEL_MEDIA_COMMAND_LOOP" (IVal 3), Constant "PARCEL_MEDIA_COMMAND_LOOP_SET" (IVal 13), Constant "PARCEL_MEDIA_COMMAND_PAUSE" (IVal 1), Constant "PARCEL_MEDIA_COMMAND_PLAY" (IVal 2), Constant "PARCEL_MEDIA_COMMAND_SIZE" (IVal 11), Constant "PARCEL_MEDIA_COMMAND_STOP" (IVal 0), Constant "PARCEL_MEDIA_COMMAND_TEXTURE" (IVal 4), Constant "PARCEL_MEDIA_COMMAND_TIME" (IVal 6), Constant "PARCEL_MEDIA_COMMAND_TYPE" (IVal 10), Constant "PARCEL_MEDIA_COMMAND_UNLOAD" (IVal 8), Constant "PARCEL_MEDIA_COMMAND_URL" (IVal 5), Constant "PASSIVE" llcPassive, Constant "PAYMENT_INFO_ON_FILE" (IVal 1), Constant "PAYMENT_INFO_USED" (IVal 2), Constant "PAY_DEFAULT" (IVal (-2)), Constant "PAY_HIDE" (IVal (-1)), Constant "PERMISSION_ATTACH" llcPermissionAttach, Constant "PERMISSION_CHANGE_JOINTS" (IVal 0x100), Constant "PERMISSION_CHANGE_LINKS" llcPermissionChangeLinks, Constant "PERMISSION_CHANGE_PERMISSIONS" (IVal 0x200), Constant "PERMISSION_CONTROL_CAMERA" llcPermissionControlCamera, Constant "PERMISSION_DEBIT" llcPermissionDebit, Constant "PERMISSION_RELEASE_OWNERSHIP" (IVal 0x40), Constant "PERMISSION_REMAP_CONTROLS" (IVal 0x8), Constant "PERMISSION_TAKE_CONTROLS" llcPermissionTakeControls, Constant "PERMISSION_TRACK_CAMERA" (IVal 0x400), Constant "PERMISSION_TRIGGER_ANIMATION" llcPermissionTriggerAnimation, Constant "PERM_ALL" (IVal 0x7FFFFFFF), Constant "PERM_COPY" llcPermCopy, Constant "PERM_MODIFY" llcPermModify, Constant "PERM_MOVE" llcPermMove, Constant "PERM_TRANSFER" llcPermTransfer, Constant "PI" (FVal 3.14159274), Constant "PING_PONG" (IVal 0x8), Constant "PI_BY_TWO" (FVal 1.57079637), Constant "PRIM_BUMP_BARK" (IVal 4), Constant "PRIM_BUMP_BLOBS" (IVal 12), Constant "PRIM_BUMP_BRICKS" (IVal 5), Constant "PRIM_BUMP_BRIGHT" (IVal 1), Constant "PRIM_BUMP_CHECKER" (IVal 6), Constant "PRIM_BUMP_CONCRETE" (IVal 7), Constant "PRIM_BUMP_DARK" (IVal 2), Constant "PRIM_BUMP_DISKS" (IVal 10), Constant "PRIM_BUMP_GRAVEL" (IVal 11), Constant "PRIM_BUMP_LARGETILE" (IVal 14), Constant "PRIM_BUMP_NONE" (IVal 0), Constant "PRIM_BUMP_SHINY" llcPrimBumpShiny, Constant "PRIM_BUMP_SIDING" (IVal 13), Constant "PRIM_BUMP_STONE" (IVal 9), Constant "PRIM_BUMP_STUCCO" (IVal 15), Constant "PRIM_BUMP_SUCTION" (IVal 16), Constant "PRIM_BUMP_TILE" (IVal 8), Constant "PRIM_BUMP_WEAVE" (IVal 17), Constant "PRIM_BUMP_WOOD" (IVal 3), Constant "PRIM_CAST_SHADOWS" (IVal 24), Constant "PRIM_COLOR" llcPrimColor, Constant "PRIM_FLEXIBLE" llcPrimFlexible, Constant "PRIM_FULLBRIGHT" llcPrimFullbright, Constant "PRIM_GLOW" (IVal 25), Constant "PRIM_HOLE_CIRCLE" (IVal 0x10), Constant "PRIM_HOLE_DEFAULT" (IVal 0x0), Constant "PRIM_HOLE_SQUARE" (IVal 0x20), Constant "PRIM_HOLE_TRIANGLE" (IVal 0x30), Constant "PRIM_MATERIAL" llcPrimMaterial, Constant "PRIM_MATERIAL_FLESH" (IVal 4), Constant "PRIM_MATERIAL_GLASS" (IVal 2), Constant "PRIM_MATERIAL_LIGHT" (IVal 7), Constant "PRIM_MATERIAL_METAL" (IVal 1), Constant "PRIM_MATERIAL_PLASTIC" (IVal 5), Constant "PRIM_MATERIAL_RUBBER" (IVal 6), Constant "PRIM_MATERIAL_STONE" (IVal 0), Constant "PRIM_MATERIAL_WOOD" (IVal 3), Constant "PRIM_PHANTOM" llcPrimPhantom, Constant "PRIM_PHYSICS" llcPrimPhysics, Constant "PRIM_POINT_LIGHT" llcPrimPointLight, Constant "PRIM_POSITION" llcPrimPosition, Constant "PRIM_ROTATION" llcPrimRotation, Constant "PRIM_SCULPT_TYPE_CYLINDER" (IVal 4), Constant "PRIM_SCULPT_TYPE_PLANE" (IVal 3), Constant "PRIM_SCULPT_TYPE_SPHERE" (IVal 1), Constant "PRIM_SCULPT_TYPE_TORUS" (IVal 2), Constant "PRIM_SHINY_HIGH" (IVal 3), Constant "PRIM_SHINY_LOW" (IVal 1), Constant "PRIM_SHINY_MEDIUM" (IVal 2), Constant "PRIM_SHINY_NONE" (IVal 0), Constant "PRIM_SIZE" llcPrimSize, Constant "PRIM_TEMP_ON_REZ" llcPrimTempOnRez, Constant "PRIM_TEXGEN" llcPrimTexgen, Constant "PRIM_TEXGEN_DEFAULT" (IVal 0), Constant "PRIM_TEXGEN_PLANAR" (IVal 1), Constant "PRIM_TEXTURE" llcPrimTexture, --Constant "PRIM_TYPE" (IVal 1), Constant "PRIM_TYPE" llcPrimType, Constant "PRIM_TYPE_BOX" llcPrimTypeBox, Constant "PRIM_TYPE_CYLINDER" llcPrimTypeCylinder, Constant "PRIM_TYPE_PRISM" llcPrimTypePrism, Constant "PRIM_TYPE_RING" llcPrimTypeRing, Constant "PRIM_TYPE_SPHERE" llcPrimTypeSphere, Constant "PRIM_TYPE_SCULPT" llcPrimTypeSculpt, Constant "PRIM_TYPE_TORUS" llcPrimTypeTorus, Constant "PRIM_TYPE_TUBE" llcPrimTypeTube, Constant "PSYS_PART_BOUNCE_MASK" (IVal 0x4), Constant "PSYS_PART_EMISSIVE_MASK" (IVal 0x100), Constant "PSYS_PART_END_ALPHA" (IVal 4), Constant "PSYS_PART_END_COLOR" (IVal 3), Constant "PSYS_PART_END_SCALE" (IVal 6), Constant "PSYS_PART_FLAGS" (IVal 0), Constant "PSYS_PART_FOLLOW_SRC_MASK" (IVal 0x10), Constant "PSYS_PART_FOLLOW_VELOCITY_MASK" (IVal 0x20), Constant "PSYS_PART_INTERP_COLOR_MASK" (IVal 0x1), Constant "PSYS_PART_INTERP_SCALE_MASK" (IVal 0x2), Constant "PSYS_PART_MAX_AGE" (IVal 7), Constant "PSYS_PART_START_ALPHA" (IVal 2), Constant "PSYS_PART_START_COLOR" (IVal 1), Constant "PSYS_PART_START_SCALE" (IVal 5), Constant "PSYS_PART_TARGET_LINEAR_MASK" (IVal 0x80), Constant "PSYS_PART_TARGET_POS_MASK" (IVal 0x40), Constant "PSYS_PART_WIND_MASK" (IVal 0x8), Constant "PSYS_SRC_ACCEL" (IVal 8), Constant "PSYS_SRC_ANGLE_BEGIN" (IVal 22), Constant "PSYS_SRC_ANGLE_END" (IVal 23), Constant "PSYS_SRC_BURST_PART_COUNT" (IVal 15), Constant "PSYS_SRC_BURST_RADIUS" (IVal 16), Constant "PSYS_SRC_BURST_RATE" (IVal 13), Constant "PSYS_SRC_BURST_SPEED_MAX" (IVal 18), Constant "PSYS_SRC_BURST_SPEED_MIN" (IVal 17), Constant "PSYS_SRC_INNERANGLE" (IVal 10), Constant "PSYS_SRC_MAX_AGE" (IVal 19), Constant "PSYS_SRC_OBJ_REL_MASK" (IVal 1), Constant "PSYS_SRC_OMEGA" (IVal 21), Constant "PSYS_SRC_OUTERANGLE" (IVal 11), Constant "PSYS_SRC_PATTERN" (IVal 9), Constant "PSYS_SRC_PATTERN_ANGLE" (IVal 0x4), Constant "PSYS_SRC_PATTERN_ANGLE_CONE" (IVal 0x8), Constant "PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY" (IVal 0x10), Constant "PSYS_SRC_PATTERN_DROP" (IVal 0x1), Constant "PSYS_SRC_PATTERN_EXPLODE" (IVal 0x2), Constant "PSYS_SRC_TARGET_KEY" (IVal 20), Constant "PSYS_SRC_TEXTURE" (IVal 12), Constant "PUBLIC_CHANNEL" (IVal 0), Constant "RAD_TO_DEG" (FVal 57.29578), Constant "REGION_FLAG_ALLOW_DAMAGE" (IVal 0), Constant "REGION_FLAG_ALLOW_DIRECT_TELEPORT" (IVal (1 `shiftL` 20)), Constant "REGION_FLAG_BLOCK_FLY" (IVal (1 `shiftL` 19)), Constant "REGION_FLAG_BLOCK_TERRAFORM" (IVal (1 `shiftL` 6)), Constant "REGION_FLAG_DISABLE_COLLISIONS" (IVal (1 `shiftL` 12)), Constant "REGION_FLAG_DISABLE_PHYSICS" (IVal (1 `shiftL` 14)), Constant "REGION_FLAG_FIXED_SUN" (IVal (1 `shiftL` 4)), Constant "REGION_FLAG_RESTRICT_PUSHOBJECT" (IVal (1 `shiftL` 22)), Constant "REGION_FLAG_SANDBOX" (IVal (1 `shiftL` 8)), Constant "REMOTE_DATA_CHANNEL" llcRemoteDataChannel, Constant "REMOTE_DATA_REPLY" llcRemoteDataReply, Constant "REMOTE_DATA_REQUEST" llcRemoteDataRequest, Constant "REVERSE" (IVal 0x4), Constant "ROTATE" (IVal 0x20), Constant "SCALE" (IVal 0x40), Constant "SCRIPTED" llcScripted, Constant "SMOOTH" (IVal 0x10), Constant "SQRT2" (FVal 1.414213538), Constant "STATUS_BLOCK_GRAB" (IVal 0x40), Constant "STATUS_CAST_SHADOWS" (IVal 0x200), Constant "STATUS_DIE_AT_EDGE" (IVal 0x80), Constant "STATUS_PHANTOM" (IVal 0x10), Constant "STATUS_PHYSICS" (IVal 0x1), Constant "STATUS_RETURN_AT_EDGE" (IVal 0x100), Constant "STATUS_ROTATE_X" (IVal 0x2), Constant "STATUS_ROTATE_Y" (IVal 0x4), Constant "STATUS_ROTATE_Z" (IVal 0x8), Constant "STATUS_SANDBOX" (IVal 0x20), Constant "STRING_TRIM" (IVal 0x03), Constant "STRING_TRIM_HEAD" (IVal 0x01), Constant "STRING_TRIM_TAIL" (IVal 0x02), Constant "TEXTURE_BLANK" (KVal "5748decc-f629-461c-9a36-a35a221fe21f"), Constant "TEXTURE_DEFAULT" (KVal "8b5fec65-8d8d-9dc5-cda8-8fdf2716e361"), Constant "TEXTURE_PLYWOOD" (KVal "89556747-24cb-43ed-920b-47caed15465f"), Constant "TEXTURE_TRANSPARENT" (KVal "59facb66-4a72-40a2-815c-7d9b42c56f60"), Constant "TRUE" (IVal 1), Constant "TWO_PI" (FVal 6.28318548), Constant "TYPE_FLOAT" (IVal 2), Constant "TYPE_INTEGER" (IVal 1), Constant "TYPE_INVALID" (IVal 0), Constant "TYPE_KEY" (IVal 4), Constant "TYPE_ROTATION" (IVal 6), Constant "TYPE_STRING" (IVal 3), Constant "TYPE_VECTOR" (IVal 5), Constant "VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY" (IVal 32), Constant "VEHICLE_ANGULAR_DEFLECTION_TIMESCALE" (IVal 33), Constant "VEHICLE_ANGULAR_FRICTION_TIMESCALE" (IVal 17), Constant "VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE" (IVal 35), Constant "VEHICLE_ANGULAR_MOTOR_DIRECTION" (IVal 19), Constant "VEHICLE_ANGULAR_MOTOR_TIMESCALE" (IVal 34), Constant "VEHICLE_BANKING_EFFICIENCY" (IVal 38), Constant "VEHICLE_BANKING_MIX" (IVal 39), Constant "VEHICLE_BANKING_TIMESCALE" (IVal 40), Constant "VEHICLE_BUOYANCY" (IVal 27), Constant "VEHICLE_FLAG_CAMERA_DECOUPLED" (IVal 0x200), Constant "VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT" (IVal 0x10), Constant "VEHICLE_FLAG_HOVER_TERRAIN_ONLY" (IVal 0x8), Constant "VEHICLE_FLAG_HOVER_UP_ONLY" (IVal 0x20), Constant "VEHICLE_FLAG_HOVER_WATER_ONLY" (IVal 0x4), Constant "VEHICLE_FLAG_LIMIT_MOTOR_UP" (IVal 0x40), Constant "VEHICLE_FLAG_LIMIT_ROLL_ONLY" (IVal 0x2), Constant "VEHICLE_FLAG_MOUSELOOK_BANK" (IVal 0x100), Constant "VEHICLE_FLAG_MOUSELOOK_STEER" (IVal 0x80), Constant "VEHICLE_FLAG_NO_DEFLECTION_UP" (IVal 0x1), Constant "VEHICLE_FLAG_NO_FLY_UP" (IVal 0x1), Constant "VEHICLE_HOVER_EFFICIENCY" (IVal 25), Constant "VEHICLE_HOVER_HEIGHT" (IVal 24), Constant "VEHICLE_HOVER_TIMESCALE" (IVal 26), Constant "VEHICLE_LINEAR_DEFLECTION_EFFICIENCY" (IVal 28), Constant "VEHICLE_LINEAR_DEFLECTION_TIMESCALE" (IVal 29), Constant "VEHICLE_LINEAR_FRICTION_TIMESCALE" (IVal 16), Constant "VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE" (IVal 31), Constant "VEHICLE_LINEAR_MOTOR_DIRECTION" (IVal 18), Constant "VEHICLE_LINEAR_MOTOR_OFFSET" (IVal 20), Constant "VEHICLE_LINEAR_MOTOR_TIMESCALE" (IVal 30), Constant "VEHICLE_REFERENCE_FRAME" (IVal 44), Constant "VEHICLE_TYPE_AIRPLANE" (IVal 4), Constant "VEHICLE_TYPE_BALLOON" (IVal 5), Constant "VEHICLE_TYPE_BOAT" (IVal 3), Constant "VEHICLE_TYPE_CAR" (IVal 2), Constant "VEHICLE_TYPE_NONE" (IVal 0), Constant "VEHICLE_TYPE_SLED" (IVal 1), Constant "VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY" (IVal 36), Constant "VEHICLE_VERTICAL_ATTRACTION_TIMESCALE" (IVal 37), Constant "ZERO_ROTATION" llcZeroRotation, Constant "ZERO_VECTOR" llcZeroVector ] findConstant s = findM (\ c -> s == constName c) allConstants findConstVal s = fmap constVal $ findConstant s findConstType s = fmap typeOfLSLValue $ findConstVal s isConstant s = case findConstant s of Nothing -> False _ -> True