Added new LSL constants (keywords). OBJECT_SCRIPT_TIME, PARCEL_DETAILS_ID, etc
This commit is contained in:
@@ -48,6 +48,7 @@ const U32 AGENT_TYPING = 0x0200;
|
|||||||
const U32 AGENT_CROUCHING = 0x0400;
|
const U32 AGENT_CROUCHING = 0x0400;
|
||||||
const U32 AGENT_BUSY = 0x0800;
|
const U32 AGENT_BUSY = 0x0800;
|
||||||
const U32 AGENT_ALWAYS_RUN = 0x1000;
|
const U32 AGENT_ALWAYS_RUN = 0x1000;
|
||||||
|
const U32 AGENT_AUTOPILOT = 0x2000;
|
||||||
|
|
||||||
const S32 LSL_REMOTE_DATA_CHANNEL = 1;
|
const S32 LSL_REMOTE_DATA_CHANNEL = 1;
|
||||||
const S32 LSL_REMOTE_DATA_REQUEST = 2;
|
const S32 LSL_REMOTE_DATA_REQUEST = 2;
|
||||||
@@ -184,6 +185,10 @@ const S32 OBJECT_VELOCITY = 5;
|
|||||||
const S32 OBJECT_OWNER = 6;
|
const S32 OBJECT_OWNER = 6;
|
||||||
const S32 OBJECT_GROUP = 7;
|
const S32 OBJECT_GROUP = 7;
|
||||||
const S32 OBJECT_CREATOR = 8;
|
const S32 OBJECT_CREATOR = 8;
|
||||||
|
const S32 OBJECT_RUNNING_SCRIPT_COUNT = 9;
|
||||||
|
const S32 OBJECT_TOTAL_SCRIPT_COUNT = 10;
|
||||||
|
const S32 OBJECT_SCRIPT_MEMORY = 11;
|
||||||
|
const S32 OBJECT_SCRIPT_TIME = 12;
|
||||||
|
|
||||||
// changed() event flags
|
// changed() event flags
|
||||||
const U32 CHANGED_NONE = 0x0;
|
const U32 CHANGED_NONE = 0x0;
|
||||||
@@ -198,5 +203,17 @@ const U32 CHANGED_OWNER = 0x80;
|
|||||||
const U32 CHANGED_REGION = 0x100;
|
const U32 CHANGED_REGION = 0x100;
|
||||||
const U32 CHANGED_TELEPORT = 0x200;
|
const U32 CHANGED_TELEPORT = 0x200;
|
||||||
const U32 CHANGED_REGION_START = 0x400;
|
const U32 CHANGED_REGION_START = 0x400;
|
||||||
|
const U32 CHANGED_MEDIA = 0x800;
|
||||||
|
|
||||||
|
// Possible error results
|
||||||
|
const U32 LSL_STATUS_OK = 0;
|
||||||
|
const U32 LSL_STATUS_MALFORMED_PARAMS = 1000;
|
||||||
|
const U32 LSL_STATUS_TYPE_MISMATCH = 1001;
|
||||||
|
const U32 LSL_STATUS_BOUNDS_ERROR = 1002;
|
||||||
|
const U32 LSL_STATUS_NOT_FOUND = 1003;
|
||||||
|
const U32 LSL_STATUS_NOT_SUPPORTED = 1004;
|
||||||
|
const U32 LSL_STATUS_INTERNAL_ERROR = 1999;
|
||||||
|
|
||||||
|
// Start per-function errors below, starting at 2000:
|
||||||
|
const U32 LSL_STATUS_WHITELIST_FAILED = 2001;
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ set(llprimitive_HEADER_FILES
|
|||||||
|
|
||||||
legacy_object_types.h
|
legacy_object_types.h
|
||||||
llmaterialtable.h
|
llmaterialtable.h
|
||||||
|
llmediaentry.h
|
||||||
llmodel.h
|
llmodel.h
|
||||||
llprimitive.h
|
llprimitive.h
|
||||||
llprimtexturelist.h
|
llprimtexturelist.h
|
||||||
|
|||||||
222
indra/llprimitive/llmediaentry.h
Normal file
222
indra/llprimitive/llmediaentry.h
Normal file
@@ -0,0 +1,222 @@
|
|||||||
|
/**
|
||||||
|
* @file llmediaentry.h
|
||||||
|
* @brief This is a single instance of media data related to the face of a prim
|
||||||
|
*
|
||||||
|
* $LicenseInfo:firstyear=2001&license=viewerlgpl$
|
||||||
|
* Second Life Viewer Source Code
|
||||||
|
* Copyright (C) 2010, Linden Research, Inc.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation;
|
||||||
|
* version 2.1 of the License only.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*
|
||||||
|
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
|
||||||
|
* $/LicenseInfo$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef LL_LLMEDIAENTRY_H
|
||||||
|
#define LL_LLMEDIAENTRY_H
|
||||||
|
|
||||||
|
#include "llsd.h"
|
||||||
|
#include "llstring.h"
|
||||||
|
|
||||||
|
// For return values of set*
|
||||||
|
#include "lllslconstants.h"
|
||||||
|
|
||||||
|
class LLMediaEntry
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
enum MediaControls {
|
||||||
|
STANDARD = 0,
|
||||||
|
MINI
|
||||||
|
};
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
LLMediaEntry();
|
||||||
|
LLMediaEntry(const LLMediaEntry &rhs);
|
||||||
|
|
||||||
|
LLMediaEntry &operator=(const LLMediaEntry &rhs);
|
||||||
|
virtual ~LLMediaEntry();
|
||||||
|
|
||||||
|
bool operator==(const LLMediaEntry &rhs) const;
|
||||||
|
bool operator!=(const LLMediaEntry &rhs) const;
|
||||||
|
|
||||||
|
// Render as LLSD
|
||||||
|
LLSD asLLSD() const;
|
||||||
|
void asLLSD(LLSD& sd) const;
|
||||||
|
operator LLSD() const { return asLLSD(); }
|
||||||
|
// Returns false iff the given LLSD contains fields that violate any bounds
|
||||||
|
// limits.
|
||||||
|
static bool checkLLSD(const LLSD& sd);
|
||||||
|
// This doesn't merge, it overwrites the data, so will use
|
||||||
|
// LLSD defaults if need be. Note: does not check limits!
|
||||||
|
// Use checkLLSD() above first to ensure the LLSD is valid.
|
||||||
|
void fromLLSD(const LLSD& sd);
|
||||||
|
// This merges data from the incoming LLSD into our fields.
|
||||||
|
// Note that it also does NOT check limits! Use checkLLSD() above first.
|
||||||
|
void mergeFromLLSD(const LLSD& sd);
|
||||||
|
|
||||||
|
// "general" fields
|
||||||
|
bool getAltImageEnable() const { return mAltImageEnable; }
|
||||||
|
MediaControls getControls() const { return mControls; }
|
||||||
|
std::string getCurrentURL() const { return mCurrentURL; }
|
||||||
|
std::string getHomeURL() const { return mHomeURL; }
|
||||||
|
bool getAutoLoop() const { return mAutoLoop; }
|
||||||
|
bool getAutoPlay() const { return mAutoPlay; }
|
||||||
|
bool getAutoScale() const { return mAutoScale; }
|
||||||
|
bool getAutoZoom() const { return mAutoZoom; }
|
||||||
|
bool getFirstClickInteract() const { return mFirstClickInteract; }
|
||||||
|
U16 getWidthPixels() const { return mWidthPixels; }
|
||||||
|
U16 getHeightPixels() const { return mHeightPixels; }
|
||||||
|
|
||||||
|
// "security" fields
|
||||||
|
bool getWhiteListEnable() const { return mWhiteListEnable; }
|
||||||
|
const std::vector<std::string> &getWhiteList() const { return mWhiteList; }
|
||||||
|
|
||||||
|
// "permissions" fields
|
||||||
|
U8 getPermsInteract() const { return mPermsInteract; }
|
||||||
|
U8 getPermsControl() const { return mPermsControl; }
|
||||||
|
|
||||||
|
// Setters. Those that return a U32 return a status error code
|
||||||
|
// See lllslconstants.h
|
||||||
|
|
||||||
|
// "general" fields
|
||||||
|
U32 setAltImageEnable(bool alt_image_enable) { mAltImageEnable = alt_image_enable; return LSL_STATUS_OK; }
|
||||||
|
U32 setControls(MediaControls controls);
|
||||||
|
U32 setCurrentURL(const std::string& current_url);
|
||||||
|
U32 setHomeURL(const std::string& home_url);
|
||||||
|
U32 setAutoLoop(bool auto_loop) { mAutoLoop = auto_loop; return LSL_STATUS_OK; }
|
||||||
|
U32 setAutoPlay(bool auto_play) { mAutoPlay = auto_play; return LSL_STATUS_OK; }
|
||||||
|
U32 setAutoScale(bool auto_scale) { mAutoScale = auto_scale; return LSL_STATUS_OK; }
|
||||||
|
U32 setAutoZoom(bool auto_zoom) { mAutoZoom = auto_zoom; return LSL_STATUS_OK; }
|
||||||
|
U32 setFirstClickInteract(bool first_click) { mFirstClickInteract = first_click; return LSL_STATUS_OK; }
|
||||||
|
U32 setWidthPixels(U16 width);
|
||||||
|
U32 setHeightPixels(U16 height);
|
||||||
|
|
||||||
|
// "security" fields
|
||||||
|
U32 setWhiteListEnable( bool whitelist_enable ) { mWhiteListEnable = whitelist_enable; return LSL_STATUS_OK; }
|
||||||
|
U32 setWhiteList( const std::vector<std::string> &whitelist );
|
||||||
|
U32 setWhiteList( const LLSD &whitelist ); // takes an LLSD array
|
||||||
|
|
||||||
|
// "permissions" fields
|
||||||
|
U32 setPermsInteract( U8 val );
|
||||||
|
U32 setPermsControl( U8 val );
|
||||||
|
|
||||||
|
const LLUUID& getMediaID() const;
|
||||||
|
|
||||||
|
// Helper function to check a candidate URL against the whitelist
|
||||||
|
// Returns true iff candidate URL passes (or if there is no whitelist), false otherwise
|
||||||
|
bool checkCandidateUrl(const std::string& url) const;
|
||||||
|
|
||||||
|
public:
|
||||||
|
// Static function to check a URL against a whitelist
|
||||||
|
// Returns true iff url passes the given whitelist
|
||||||
|
static bool checkUrlAgainstWhitelist(const std::string &url,
|
||||||
|
const std::vector<std::string> &whitelist);
|
||||||
|
|
||||||
|
public:
|
||||||
|
// LLSD key defines
|
||||||
|
// "general" fields
|
||||||
|
static const char* ALT_IMAGE_ENABLE_KEY;
|
||||||
|
static const char* CONTROLS_KEY;
|
||||||
|
static const char* CURRENT_URL_KEY;
|
||||||
|
static const char* HOME_URL_KEY;
|
||||||
|
static const char* AUTO_LOOP_KEY;
|
||||||
|
static const char* AUTO_PLAY_KEY;
|
||||||
|
static const char* AUTO_SCALE_KEY;
|
||||||
|
static const char* AUTO_ZOOM_KEY;
|
||||||
|
static const char* FIRST_CLICK_INTERACT_KEY;
|
||||||
|
static const char* WIDTH_PIXELS_KEY;
|
||||||
|
static const char* HEIGHT_PIXELS_KEY;
|
||||||
|
|
||||||
|
// "security" fields
|
||||||
|
static const char* WHITELIST_ENABLE_KEY;
|
||||||
|
static const char* WHITELIST_KEY;
|
||||||
|
|
||||||
|
// "permissions" fields
|
||||||
|
static const char* PERMS_INTERACT_KEY;
|
||||||
|
static const char* PERMS_CONTROL_KEY;
|
||||||
|
|
||||||
|
// Field enumerations & constants
|
||||||
|
|
||||||
|
// *NOTE: DO NOT change the order of these, and do not insert values
|
||||||
|
// in the middle!
|
||||||
|
// Add values to the end, and make sure to change PARAM_MAX_ID!
|
||||||
|
enum Fields {
|
||||||
|
ALT_IMAGE_ENABLE_ID = 0,
|
||||||
|
CONTROLS_ID = 1,
|
||||||
|
CURRENT_URL_ID = 2,
|
||||||
|
HOME_URL_ID = 3,
|
||||||
|
AUTO_LOOP_ID = 4,
|
||||||
|
AUTO_PLAY_ID = 5,
|
||||||
|
AUTO_SCALE_ID = 6,
|
||||||
|
AUTO_ZOOM_ID = 7,
|
||||||
|
FIRST_CLICK_INTERACT_ID = 8,
|
||||||
|
WIDTH_PIXELS_ID = 9,
|
||||||
|
HEIGHT_PIXELS_ID = 10,
|
||||||
|
WHITELIST_ENABLE_ID = 11,
|
||||||
|
WHITELIST_ID = 12,
|
||||||
|
PERMS_INTERACT_ID = 13,
|
||||||
|
PERMS_CONTROL_ID = 14,
|
||||||
|
PARAM_MAX_ID = PERMS_CONTROL_ID
|
||||||
|
};
|
||||||
|
|
||||||
|
// "permissions" values
|
||||||
|
// (e.g. (PERM_OWNER | PERM_GROUP) sets permissions on for OWNER and GROUP
|
||||||
|
static const U8 PERM_NONE = 0x0;
|
||||||
|
static const U8 PERM_OWNER = 0x1;
|
||||||
|
static const U8 PERM_GROUP = 0x2;
|
||||||
|
static const U8 PERM_ANYONE = 0x4;
|
||||||
|
static const U8 PERM_ALL = PERM_OWNER|PERM_GROUP|PERM_ANYONE;
|
||||||
|
static const U8 PERM_MASK = PERM_OWNER|PERM_GROUP|PERM_ANYONE;
|
||||||
|
|
||||||
|
// Limits (in bytes)
|
||||||
|
static const U32 MAX_URL_LENGTH = 1024;
|
||||||
|
static const U32 MAX_WHITELIST_SIZE = 1024;
|
||||||
|
static const U32 MAX_WHITELIST_COUNT = 64;
|
||||||
|
static const U16 MAX_WIDTH_PIXELS = 2048;
|
||||||
|
static const U16 MAX_HEIGHT_PIXELS = 2048;
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
U32 setStringFieldWithLimit( std::string &field, const std::string &value, U32 limit );
|
||||||
|
U32 setCurrentURLInternal( const std::string &url, bool check_whitelist);
|
||||||
|
bool fromLLSDInternal(const LLSD &sd, bool overwrite);
|
||||||
|
|
||||||
|
private:
|
||||||
|
// "general" fields
|
||||||
|
bool mAltImageEnable;
|
||||||
|
MediaControls mControls;
|
||||||
|
std::string mCurrentURL;
|
||||||
|
std::string mHomeURL;
|
||||||
|
bool mAutoLoop;
|
||||||
|
bool mAutoPlay;
|
||||||
|
bool mAutoScale;
|
||||||
|
bool mAutoZoom;
|
||||||
|
bool mFirstClickInteract;
|
||||||
|
U16 mWidthPixels;
|
||||||
|
U16 mHeightPixels;
|
||||||
|
|
||||||
|
// "security" fields
|
||||||
|
bool mWhiteListEnable;
|
||||||
|
std::vector<std::string> mWhiteList;
|
||||||
|
|
||||||
|
// "permissions" fields
|
||||||
|
U8 mPermsInteract;
|
||||||
|
U8 mPermsControl;
|
||||||
|
|
||||||
|
mutable LLUUID *mMediaIDp; // temporary id assigned to media on the viewer
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
@@ -5,6 +5,7 @@ include(LLCommon)
|
|||||||
include(LLMath)
|
include(LLMath)
|
||||||
include(LLMessage)
|
include(LLMessage)
|
||||||
include(LLInventory)
|
include(LLInventory)
|
||||||
|
include(LLPrimitive)
|
||||||
include(LScript)
|
include(LScript)
|
||||||
|
|
||||||
include(FindCygwin)
|
include(FindCygwin)
|
||||||
@@ -41,6 +42,7 @@ include_directories(
|
|||||||
${LLMATH_INCLUDE_DIRS}
|
${LLMATH_INCLUDE_DIRS}
|
||||||
${LLMESSAGE_INCLUDE_DIRS}
|
${LLMESSAGE_INCLUDE_DIRS}
|
||||||
${LLINVENTORY_INCLUDE_DIRS}
|
${LLINVENTORY_INCLUDE_DIRS}
|
||||||
|
${LLPRIMITIVE_INCLUDE_DIRS}
|
||||||
${LSCRIPT_INCLUDE_DIRS}
|
${LSCRIPT_INCLUDE_DIRS}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -7,14 +7,11 @@ FS (f|F)
|
|||||||
%n 4000
|
%n 4000
|
||||||
%p 5000
|
%p 5000
|
||||||
|
|
||||||
|
%top {
|
||||||
|
#include "linden_common.h"
|
||||||
|
}
|
||||||
|
|
||||||
%{
|
%{
|
||||||
// We maintain a pre-generated lexer source file to simplify user builds.
|
|
||||||
// Before committing changes to this file, manually run
|
|
||||||
//
|
|
||||||
// flex -o indra_generated.l.cpp indra.l
|
|
||||||
//
|
|
||||||
// to update the pre-generated lexer. Then commit all files simultaneously.
|
|
||||||
#include "linden_common.h"
|
|
||||||
// Deal with the fact that lex/yacc generates unreachable code
|
// Deal with the fact that lex/yacc generates unreachable code
|
||||||
#ifdef LL_WINDOWS
|
#ifdef LL_WINDOWS
|
||||||
#pragma warning (disable : 4018) // warning C4018: signed/unsigned mismatch
|
#pragma warning (disable : 4018) // warning C4018: signed/unsigned mismatch
|
||||||
@@ -39,6 +36,7 @@ FS (f|F)
|
|||||||
#include "llregionflags.h"
|
#include "llregionflags.h"
|
||||||
#include "lscript_http.h"
|
#include "lscript_http.h"
|
||||||
#include "llclickaction.h"
|
#include "llclickaction.h"
|
||||||
|
#include "llmediaentry.h"
|
||||||
|
|
||||||
void count();
|
void count();
|
||||||
void line_comment();
|
void line_comment();
|
||||||
@@ -155,6 +153,7 @@ extern "C" { int yyerror(const char *fmt, ...); }
|
|||||||
"AGENT_CROUCHING" { count(); yylval.ival = AGENT_CROUCHING; return(INTEGER_CONSTANT); }
|
"AGENT_CROUCHING" { count(); yylval.ival = AGENT_CROUCHING; return(INTEGER_CONSTANT); }
|
||||||
"AGENT_BUSY" { count(); yylval.ival = AGENT_BUSY; return(INTEGER_CONSTANT); }
|
"AGENT_BUSY" { count(); yylval.ival = AGENT_BUSY; return(INTEGER_CONSTANT); }
|
||||||
"AGENT_ALWAYS_RUN" { count(); yylval.ival = AGENT_ALWAYS_RUN; return(INTEGER_CONSTANT); }
|
"AGENT_ALWAYS_RUN" { count(); yylval.ival = AGENT_ALWAYS_RUN; return(INTEGER_CONSTANT); }
|
||||||
|
"AGENT_AUTOPILOT" { count(); yylval.ival = AGENT_AUTOPILOT; return(INTEGER_CONSTANT); }
|
||||||
|
|
||||||
"CAMERA_PITCH" { count(); yylval.ival = FOLLOWCAM_PITCH; return(INTEGER_CONSTANT); }
|
"CAMERA_PITCH" { count(); yylval.ival = FOLLOWCAM_PITCH; return(INTEGER_CONSTANT); }
|
||||||
"CAMERA_FOCUS_OFFSET" { count(); yylval.ival = FOLLOWCAM_FOCUS_OFFSET; return (INTEGER_CONSTANT); }
|
"CAMERA_FOCUS_OFFSET" { count(); yylval.ival = FOLLOWCAM_FOCUS_OFFSET; return (INTEGER_CONSTANT); }
|
||||||
@@ -237,7 +236,8 @@ extern "C" { int yyerror(const char *fmt, ...); }
|
|||||||
"CHANGED_OWNER" { count(); yylval.ival = CHANGED_OWNER; return(INTEGER_CONSTANT); }
|
"CHANGED_OWNER" { count(); yylval.ival = CHANGED_OWNER; return(INTEGER_CONSTANT); }
|
||||||
"CHANGED_REGION" { count(); yylval.ival = CHANGED_REGION; return(INTEGER_CONSTANT); }
|
"CHANGED_REGION" { count(); yylval.ival = CHANGED_REGION; return(INTEGER_CONSTANT); }
|
||||||
"CHANGED_TELEPORT" { count(); yylval.ival = CHANGED_TELEPORT; return(INTEGER_CONSTANT); }
|
"CHANGED_TELEPORT" { count(); yylval.ival = CHANGED_TELEPORT; return(INTEGER_CONSTANT); }
|
||||||
"CHANGED_REGION_START" { count(); yylval.ival = CHANGED_REGION_START; return(INTEGER_CONSTANT); }
|
"CHANGED_REGION_START" { count(); yylval.ival = CHANGED_REGION_START; return(INTEGER_CONSTANT); }
|
||||||
|
"CHANGED_MEDIA" { count(); yylval.ival = CHANGED_MEDIA; return(INTEGER_CONSTANT); }
|
||||||
|
|
||||||
"OBJECT_UNKNOWN_DETAIL" { count(); yylval.ival = OBJECT_UNKNOWN_DETAIL; return(INTEGER_CONSTANT); }
|
"OBJECT_UNKNOWN_DETAIL" { count(); yylval.ival = OBJECT_UNKNOWN_DETAIL; return(INTEGER_CONSTANT); }
|
||||||
"OBJECT_NAME" { count(); yylval.ival = OBJECT_NAME; return(INTEGER_CONSTANT); }
|
"OBJECT_NAME" { count(); yylval.ival = OBJECT_NAME; return(INTEGER_CONSTANT); }
|
||||||
@@ -248,6 +248,10 @@ extern "C" { int yyerror(const char *fmt, ...); }
|
|||||||
"OBJECT_OWNER" { count(); yylval.ival = OBJECT_OWNER; return(INTEGER_CONSTANT); }
|
"OBJECT_OWNER" { count(); yylval.ival = OBJECT_OWNER; return(INTEGER_CONSTANT); }
|
||||||
"OBJECT_GROUP" { count(); yylval.ival = OBJECT_GROUP; return(INTEGER_CONSTANT); }
|
"OBJECT_GROUP" { count(); yylval.ival = OBJECT_GROUP; return(INTEGER_CONSTANT); }
|
||||||
"OBJECT_CREATOR" { count(); yylval.ival = OBJECT_CREATOR; return(INTEGER_CONSTANT); }
|
"OBJECT_CREATOR" { count(); yylval.ival = OBJECT_CREATOR; return(INTEGER_CONSTANT); }
|
||||||
|
"OBJECT_RUNNING_SCRIPT_COUNT" { count(); yylval.ival = OBJECT_RUNNING_SCRIPT_COUNT; return(INTEGER_CONSTANT); }
|
||||||
|
"OBJECT_TOTAL_SCRIPT_COUNT" { count(); yylval.ival = OBJECT_TOTAL_SCRIPT_COUNT; return(INTEGER_CONSTANT); }
|
||||||
|
"OBJECT_SCRIPT_MEMORY" { count(); yylval.ival = OBJECT_SCRIPT_MEMORY; return(INTEGER_CONSTANT); }
|
||||||
|
"OBJECT_SCRIPT_TIME" { count(); yylval.ival = OBJECT_SCRIPT_TIME; return(INTEGER_CONSTANT); }
|
||||||
|
|
||||||
"TYPE_INTEGER" { count(); yylval.ival = LST_INTEGER; return(INTEGER_CONSTANT); }
|
"TYPE_INTEGER" { count(); yylval.ival = LST_INTEGER; return(INTEGER_CONSTANT); }
|
||||||
"TYPE_FLOAT" { count(); yylval.ival = LST_FLOATINGPOINT; return(INTEGER_CONSTANT); }
|
"TYPE_FLOAT" { count(); yylval.ival = LST_FLOATINGPOINT; return(INTEGER_CONSTANT); }
|
||||||
@@ -602,6 +606,8 @@ extern "C" { int yyerror(const char *fmt, ...); }
|
|||||||
"PARCEL_DETAILS_OWNER" { count(); yylval.ival = PARCEL_DETAILS_OWNER; return(INTEGER_CONSTANT); }
|
"PARCEL_DETAILS_OWNER" { count(); yylval.ival = PARCEL_DETAILS_OWNER; return(INTEGER_CONSTANT); }
|
||||||
"PARCEL_DETAILS_GROUP" { count(); yylval.ival = PARCEL_DETAILS_GROUP; return(INTEGER_CONSTANT); }
|
"PARCEL_DETAILS_GROUP" { count(); yylval.ival = PARCEL_DETAILS_GROUP; return(INTEGER_CONSTANT); }
|
||||||
"PARCEL_DETAILS_AREA" { count(); yylval.ival = PARCEL_DETAILS_AREA; return(INTEGER_CONSTANT); }
|
"PARCEL_DETAILS_AREA" { count(); yylval.ival = PARCEL_DETAILS_AREA; return(INTEGER_CONSTANT); }
|
||||||
|
"PARCEL_DETAILS_ID" { count(); yylval.ival = PARCEL_DETAILS_ID; return(INTEGER_CONSTANT); }
|
||||||
|
"PARCEL_DETAILS_SEE_AVATARS" { count(); yylval.ival = PARCEL_DETAILS_SEE_AVATARS; return(INTEGER_CONSTANT); }
|
||||||
|
|
||||||
"STRING_TRIM_HEAD" { count(); yylval.ival = STRING_TRIM_HEAD; return(INTEGER_CONSTANT); }
|
"STRING_TRIM_HEAD" { count(); yylval.ival = STRING_TRIM_HEAD; return(INTEGER_CONSTANT); }
|
||||||
"STRING_TRIM_TAIL" { count(); yylval.ival = STRING_TRIM_TAIL; return(INTEGER_CONSTANT); }
|
"STRING_TRIM_TAIL" { count(); yylval.ival = STRING_TRIM_TAIL; return(INTEGER_CONSTANT); }
|
||||||
@@ -615,6 +621,7 @@ extern "C" { int yyerror(const char *fmt, ...); }
|
|||||||
"CLICK_ACTION_OPEN" { count(); yylval.ival = CLICK_ACTION_OPEN; return(INTEGER_CONSTANT); }
|
"CLICK_ACTION_OPEN" { count(); yylval.ival = CLICK_ACTION_OPEN; return(INTEGER_CONSTANT); }
|
||||||
"CLICK_ACTION_PLAY" { count(); yylval.ival = CLICK_ACTION_PLAY; return(INTEGER_CONSTANT); }
|
"CLICK_ACTION_PLAY" { count(); yylval.ival = CLICK_ACTION_PLAY; return(INTEGER_CONSTANT); }
|
||||||
"CLICK_ACTION_OPEN_MEDIA" { count(); yylval.ival = CLICK_ACTION_OPEN_MEDIA; return(INTEGER_CONSTANT); }
|
"CLICK_ACTION_OPEN_MEDIA" { count(); yylval.ival = CLICK_ACTION_OPEN_MEDIA; return(INTEGER_CONSTANT); }
|
||||||
|
"CLICK_ACTION_ZOOM" { count(); yylval.ival = CLICK_ACTION_ZOOM; return(INTEGER_CONSTANT); }
|
||||||
|
|
||||||
"TEXTURE_BLANK" { yylval.sval = new char[UUID_STR_LENGTH]; strcpy(yylval.sval, "5748decc-f629-461c-9a36-a35a221fe21f"); return(STRING_CONSTANT); }
|
"TEXTURE_BLANK" { yylval.sval = new char[UUID_STR_LENGTH]; strcpy(yylval.sval, "5748decc-f629-461c-9a36-a35a221fe21f"); return(STRING_CONSTANT); }
|
||||||
"TEXTURE_DEFAULT" { yylval.sval = new char[UUID_STR_LENGTH]; strcpy(yylval.sval, "89556747-24cb-43ed-920b-47caed15465f"); return(STRING_CONSTANT); }
|
"TEXTURE_DEFAULT" { yylval.sval = new char[UUID_STR_LENGTH]; strcpy(yylval.sval, "89556747-24cb-43ed-920b-47caed15465f"); return(STRING_CONSTANT); }
|
||||||
@@ -626,6 +633,45 @@ extern "C" { int yyerror(const char *fmt, ...); }
|
|||||||
"TOUCH_INVALID_VECTOR" { count(); return(TOUCH_INVALID_VECTOR); }
|
"TOUCH_INVALID_VECTOR" { count(); return(TOUCH_INVALID_VECTOR); }
|
||||||
"TOUCH_INVALID_TEXCOORD" { count(); return(TOUCH_INVALID_TEXCOORD); }
|
"TOUCH_INVALID_TEXCOORD" { count(); return(TOUCH_INVALID_TEXCOORD); }
|
||||||
|
|
||||||
|
"PRIM_MEDIA_ALT_IMAGE_ENABLE" { count(); yylval.ival = LLMediaEntry::ALT_IMAGE_ENABLE_ID; return(INTEGER_CONSTANT); }
|
||||||
|
"PRIM_MEDIA_CONTROLS" { count(); yylval.ival = LLMediaEntry::CONTROLS_ID; return(INTEGER_CONSTANT); }
|
||||||
|
"PRIM_MEDIA_CURRENT_URL" { count(); yylval.ival = LLMediaEntry::CURRENT_URL_ID; return(INTEGER_CONSTANT); }
|
||||||
|
"PRIM_MEDIA_HOME_URL" { count(); yylval.ival = LLMediaEntry::HOME_URL_ID; return(INTEGER_CONSTANT); }
|
||||||
|
"PRIM_MEDIA_AUTO_LOOP" { count(); yylval.ival = LLMediaEntry::AUTO_LOOP_ID; return(INTEGER_CONSTANT); }
|
||||||
|
"PRIM_MEDIA_AUTO_PLAY" { count(); yylval.ival = LLMediaEntry::AUTO_PLAY_ID; return(INTEGER_CONSTANT); }
|
||||||
|
"PRIM_MEDIA_AUTO_SCALE" { count(); yylval.ival = LLMediaEntry::AUTO_SCALE_ID; return(INTEGER_CONSTANT); }
|
||||||
|
"PRIM_MEDIA_AUTO_ZOOM" { count(); yylval.ival = LLMediaEntry::AUTO_ZOOM_ID; return(INTEGER_CONSTANT); }
|
||||||
|
"PRIM_MEDIA_FIRST_CLICK_INTERACT" { count(); yylval.ival = LLMediaEntry::FIRST_CLICK_INTERACT_ID; return(INTEGER_CONSTANT); }
|
||||||
|
"PRIM_MEDIA_WIDTH_PIXELS" { count(); yylval.ival = LLMediaEntry::WIDTH_PIXELS_ID; return(INTEGER_CONSTANT); }
|
||||||
|
"PRIM_MEDIA_HEIGHT_PIXELS" { count(); yylval.ival = LLMediaEntry::HEIGHT_PIXELS_ID; return(INTEGER_CONSTANT); }
|
||||||
|
"PRIM_MEDIA_WHITELIST_ENABLE" { count(); yylval.ival = LLMediaEntry::WHITELIST_ENABLE_ID; return(INTEGER_CONSTANT); }
|
||||||
|
"PRIM_MEDIA_WHITELIST" { count(); yylval.ival = LLMediaEntry::WHITELIST_ID; return(INTEGER_CONSTANT); }
|
||||||
|
"PRIM_MEDIA_PERMS_INTERACT" { count(); yylval.ival = LLMediaEntry::PERMS_INTERACT_ID; return(INTEGER_CONSTANT); }
|
||||||
|
"PRIM_MEDIA_PERMS_CONTROL" { count(); yylval.ival = LLMediaEntry::PERMS_CONTROL_ID; return(INTEGER_CONSTANT); }
|
||||||
|
"PRIM_MEDIA_PARAM_MAX" { count(); yylval.ival = LLMediaEntry::PARAM_MAX_ID; return(INTEGER_CONSTANT); }
|
||||||
|
|
||||||
|
"PRIM_MEDIA_CONTROLS_STANDARD" { count(); yylval.ival = LLMediaEntry::STANDARD; return(INTEGER_CONSTANT); }
|
||||||
|
"PRIM_MEDIA_CONTROLS_MINI" { count(); yylval.ival = LLMediaEntry::MINI; return(INTEGER_CONSTANT); }
|
||||||
|
|
||||||
|
"PRIM_MEDIA_PERM_NONE" { count(); yylval.ival = LLMediaEntry::PERM_NONE; return(INTEGER_CONSTANT); }
|
||||||
|
"PRIM_MEDIA_PERM_OWNER" { count(); yylval.ival = LLMediaEntry::PERM_OWNER; return(INTEGER_CONSTANT); }
|
||||||
|
"PRIM_MEDIA_PERM_GROUP" { count(); yylval.ival = LLMediaEntry::PERM_GROUP; return(INTEGER_CONSTANT); }
|
||||||
|
"PRIM_MEDIA_PERM_ANYONE" { count(); yylval.ival = LLMediaEntry::PERM_ANYONE; return(INTEGER_CONSTANT); }
|
||||||
|
|
||||||
|
"PRIM_MEDIA_MAX_URL_LENGTH" { count(); yylval.ival = LLMediaEntry::MAX_URL_LENGTH; return(INTEGER_CONSTANT); }
|
||||||
|
"PRIM_MEDIA_MAX_WHITELIST_SIZE" { count(); yylval.ival = LLMediaEntry::MAX_WHITELIST_SIZE; return(INTEGER_CONSTANT); }
|
||||||
|
"PRIM_MEDIA_MAX_WHITELIST_COUNT" { count(); yylval.ival = LLMediaEntry::MAX_WHITELIST_COUNT; return(INTEGER_CONSTANT); }
|
||||||
|
"PRIM_MEDIA_MAX_WIDTH_PIXELS" { count(); yylval.ival = LLMediaEntry::MAX_WIDTH_PIXELS; return(INTEGER_CONSTANT); }
|
||||||
|
"PRIM_MEDIA_MAX_HEIGHT_PIXELS" { count(); yylval.ival = LLMediaEntry::MAX_HEIGHT_PIXELS; return(INTEGER_CONSTANT); }
|
||||||
|
|
||||||
|
"STATUS_OK" { count(); yylval.ival = LSL_STATUS_OK; return(INTEGER_CONSTANT); }
|
||||||
|
"STATUS_MALFORMED_PARAMS" { count(); yylval.ival = LSL_STATUS_MALFORMED_PARAMS; return(INTEGER_CONSTANT); }
|
||||||
|
"STATUS_TYPE_MISMATCH" { count(); yylval.ival = LSL_STATUS_TYPE_MISMATCH; return(INTEGER_CONSTANT); }
|
||||||
|
"STATUS_BOUNDS_ERROR" { count(); yylval.ival = LSL_STATUS_BOUNDS_ERROR; return(INTEGER_CONSTANT); }
|
||||||
|
"STATUS_NOT_FOUND" { count(); yylval.ival = LSL_STATUS_NOT_FOUND; return(INTEGER_CONSTANT); }
|
||||||
|
"STATUS_NOT_SUPPORTED" { count(); yylval.ival = LSL_STATUS_NOT_SUPPORTED; return(INTEGER_CONSTANT); }
|
||||||
|
"STATUS_INTERNAL_ERROR" { count(); yylval.ival = LSL_STATUS_INTERNAL_ERROR; return(INTEGER_CONSTANT); }
|
||||||
|
"STATUS_WHITELIST_FAILED" { count(); yylval.ival = LSL_STATUS_WHITELIST_FAILED; return(INTEGER_CONSTANT); }
|
||||||
|
|
||||||
{L}({L}|{N})* { count(); yylval.sval = new char[strlen(yytext) + 1]; strcpy(yylval.sval, yytext); return(IDENTIFIER); }
|
{L}({L}|{N})* { count(); yylval.sval = new char[strlen(yytext) + 1]; strcpy(yylval.sval, yytext); return(IDENTIFIER); }
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,4 @@
|
|||||||
%{
|
%{
|
||||||
// We maintain a pre-generated parser source file to simplify user builds.
|
|
||||||
// Before committing changes to this file, manually run
|
|
||||||
//
|
|
||||||
// bison -d -o indra_generated.y.cpp indra.y
|
|
||||||
//
|
|
||||||
// to update the pre-generated parser. Note that some versions of
|
|
||||||
// bison use a different default file name for the parser token
|
|
||||||
// header. Make sure the file is called 'indra_generated.y.hpp'.
|
|
||||||
// Then commit all files simultaneously.
|
|
||||||
#include "linden_common.h"
|
#include "linden_common.h"
|
||||||
#include "lscript_tree.h"
|
#include "lscript_tree.h"
|
||||||
|
|
||||||
|
|||||||
@@ -1182,6 +1182,10 @@ OBJECT_VELOCITY
|
|||||||
OBJECT_OWNER
|
OBJECT_OWNER
|
||||||
OBJECT_GROUP
|
OBJECT_GROUP
|
||||||
OBJECT_CREATOR
|
OBJECT_CREATOR
|
||||||
|
OBJECT_RUNNING_SCRIPT_COUNT
|
||||||
|
OBJECT_TOTAL_SCRIPT_COUNT
|
||||||
|
OBJECT_SCRIPT_MEMORY
|
||||||
|
OBJECT_SCRIPT_TIME
|
||||||
VEHICLE_TYPE_NONE
|
VEHICLE_TYPE_NONE
|
||||||
VEHICLE_TYPE_SLED
|
VEHICLE_TYPE_SLED
|
||||||
VEHICLE_TYPE_CAR
|
VEHICLE_TYPE_CAR
|
||||||
@@ -1478,6 +1482,8 @@ PARCEL_DETAILS_DESC
|
|||||||
PARCEL_DETAILS_OWNER
|
PARCEL_DETAILS_OWNER
|
||||||
PARCEL_DETAILS_GROUP
|
PARCEL_DETAILS_GROUP
|
||||||
PARCEL_DETAILS_AREA
|
PARCEL_DETAILS_AREA
|
||||||
|
PARCEL_DETAILS_ID
|
||||||
|
PARCEL_DETAILS_SEE_AVATARS
|
||||||
STRING_TRIM_HEAD
|
STRING_TRIM_HEAD
|
||||||
STRING_TRIM_TAIL
|
STRING_TRIM_TAIL
|
||||||
STRING_TRIM
|
STRING_TRIM
|
||||||
|
|||||||
@@ -162,6 +162,10 @@ OBJECT_VELOCITY Used with llGetObjectDetails to get an object's velocity.
|
|||||||
OBJECT_OWNER Used with llGetObjectDetails to get an object's owner's key. Will be NULL_KEY if group owned.
|
OBJECT_OWNER Used with llGetObjectDetails to get an object's owner's key. Will be NULL_KEY if group owned.
|
||||||
OBJECT_GROUP Used with llGetObjectDetails to get an object's group's key.
|
OBJECT_GROUP Used with llGetObjectDetails to get an object's group's key.
|
||||||
OBJECT_CREATOR Used with llGetObjectDetails to get an object's creator's key.
|
OBJECT_CREATOR Used with llGetObjectDetails to get an object's creator's key.
|
||||||
|
OBJECT_RUNNING_SCRIPT_COUNT Used with llGetObjectDetails to get an object's velocity.
|
||||||
|
OBJECT_TOTAL_SCRIPT_COUNT Used with llGetObjectDetails to get an object's owner's key. Will be NULL_KEY if group owned.
|
||||||
|
OBJECT_SCRIPT_MEMORY Used with llGetObjectDetails to get an object's group's key.
|
||||||
|
OBJECT_SCRIPT_TIME Used with llGetObjectDetails to get an object's creator's key.
|
||||||
|
|
||||||
# some vehicle params
|
# some vehicle params
|
||||||
VEHICLE_TYPE_NONE
|
VEHICLE_TYPE_NONE
|
||||||
@@ -502,6 +506,8 @@ PARCEL_DETAILS_DESC Used with llGetParcelDetails to get the parcel description.
|
|||||||
PARCEL_DETAILS_OWNER Used with llGetParcelDetails to get the parcel owner id.
|
PARCEL_DETAILS_OWNER Used with llGetParcelDetails to get the parcel owner id.
|
||||||
PARCEL_DETAILS_GROUP Used with llGetParcelDetails to get the parcel group id.
|
PARCEL_DETAILS_GROUP Used with llGetParcelDetails to get the parcel group id.
|
||||||
PARCEL_DETAILS_AREA Used with llGetParcelDetails to get the parcel area in square meters.
|
PARCEL_DETAILS_AREA Used with llGetParcelDetails to get the parcel area in square meters.
|
||||||
|
PARCEL_DETAILS_ID Used with llGetParcelDetails to get the parcel id.
|
||||||
|
PARCEL_DETAILS_SEE_AVATARS Used with llGetParcelDetails to get the avatars visibility setting.
|
||||||
|
|
||||||
STRING_TRIM_HEAD Used with llStringTrim to trim leading spaces from a string.
|
STRING_TRIM_HEAD Used with llStringTrim to trim leading spaces from a string.
|
||||||
STRING_TRIM_TAIL Used with llStringTrim to trim trailing spaces from a string.
|
STRING_TRIM_TAIL Used with llStringTrim to trim trailing spaces from a string.
|
||||||
|
|||||||
Reference in New Issue
Block a user