Merge branch 'dev-next'

This commit is contained in:
Ima Mechanique 2013-06-22 09:35:56 +01:00
commit 0273bbb9d6
3 changed files with 128 additions and 72 deletions

View file

@ -1,51 +1,3 @@
<!--
/**
********
*
* ORIGINAL CODE BASE IS Copyright (C) 2006-2010 by Alphons van der Heijden
* The code was donated on 4/28/2010 by Alphons van der Heijden
* To Brandon'Dimentox Travanti' Husbands & Malcolm J. Kudra who in turn Liscense under the GPLv2.
* In agreement with Alphons van der Heijden wishes.
*
* The community would like to thank Alphons for all of his hard work, blood sweat and tears.
* Without his work the community would be stuck with crappy editors.
*
* The source code in this file ("Source Code") is provided by The LSLEditor Group
* to you under the terms of the GNU General Public License, version 2.0
* ("GPL"), unless you have obtained a separate licensing agreement
* ("Other License"), formally executed by you and LSLEditor Group. Terms of
* the GPL can be found in the gplv2.txt document.
*
********
* GPLv2 Header
********
* LSLEditor, a External editor for the LSL Language.
* Copyright (C) 2010 The LSLEditor Group.
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
********
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
********
*/
ZERO_VECTOR "#663366"
-->
<Conf color="#FFFFFF" slcolor="#C8D1CC"> <Conf color="#FFFFFF" slcolor="#C8D1CC">
<Words name="Comments" color="#FF7700" slcolor="#CC4D26"> <Words name="Comments" color="#FF7700" slcolor="#CC4D26">
<Word name="regex">//.*</Word> <Word name="regex">//.*</Word>
@ -85,12 +37,8 @@
<Words icon="States" name="States" color="#0000ff" slcolor="#801A4D"> <Words icon="States" name="States" color="#0000ff" slcolor="#801A4D">
<Word name="default"> <Word name="default">
All scripts must have a All scripts must have a <font color="blue">default</font> state, which is the first state entered when the script starts.
<font color="blue">default</font> If another state is defined before the default state, the compiler will report a syntax error.
state,
which also must be the first state entered when the script starts.
If another state is defined before the default state,
the compiler will report a syntax error.
</Word> </Word>
<Word name="state" /> <Word name="state" />
@ -303,8 +251,7 @@
<Word name="llClearCameraParams"> <Word name="llClearCameraParams">
llClearCameraParams(); llClearCameraParams();
Resets all camera parameters to default values and turns Resets all camera parameters to default values and turns off scripted camera control.
off scripted camera control.
</Word> </Word>
<Word name="llClearLinkMedia"> <Word name="llClearLinkMedia">
@ -946,9 +893,7 @@
If this is used to determine whether or not an inventory item If this is used to determine whether or not an inventory item
exists within the object, it will have the side effect of spamming chat. exists within the object, it will have the side effect of spamming chat.
<Argument name="item">inventory item</Argument> <Argument name="item">inventory item</Argument>
<Argument name="mask" wild="MASK_.*"> <Argument name="mask" wild="MASK_*">MASK_BASE, MASK_OWNER, MASK_GROUP, MASK_EVERYONE or MASK_NEXT</Argument>
MASK_BASE, MASK_OWNER,MASK_GROUP, MASK_EVERYONE or MASK_NEXT
</Argument>
</Word> </Word>
<Word name="llGetInventoryType"> <Word name="llGetInventoryType">
@ -1612,6 +1557,34 @@
Encodes number as an 8-character Base64 string. Encodes number as an 8-character Base64 string.
</Word> </Word>
<Word name="llJson2List">
list llJson2List( string sJSON );
This function takes a string representing JSON, and returns a list of the top level.
Returns a list made by parsing src, a string representing json.
</Word>
<Word name="llJsonGetValue">
string llJsonGetValue( string sJSON, list lSpecifiers );
Gets the value indicated by specifiers from the json string.
Returns a string made by parsing json, a string representing json and traversing as specified by specifiers.
</Word>
<Word name="llJsonSetValue">
string llJsonSetValue( string sJSON, list lSpecifiers, string sValue );
Returns a new JSON string which is string with the value indicated by specifiers set to value.
Returns a string
</Word>
<Word name="llJsonValueType">
string llJsonValueType( string sJSON, list lSpecifiers );
Gets the JSON type for the value in json at the location specifiers.
Returns the string specifying the type of the value at specifiers in json.
</Word>
<Word name="llKey2Name"> <Word name="llKey2Name">
string llKey2Name(key id); string llKey2Name(key id);
@ -1656,6 +1629,13 @@
Returns the integer at index in the list src. Returns the integer at index in the list src.
</Word> </Word>
<Word name="llList2Json">
string llList2Json( string sType, list lValues );
This function takes a list and returns a JSON string of that list as either a json object or json array.
Returns a string that is either values serialized as a JSON type, or if an error was encountered JSON_INVALID.
</Word>
<Word name="llList2Key"> <Word name="llList2Key">
key llList2Key(list src, integer index); key llList2Key(list src, integer index);
@ -1665,8 +1645,8 @@
<Word name="llList2List"> <Word name="llList2List">
list llList2List(list src, integer start, integer end); list llList2List(list src, integer start, integer end);
Returns the slice of the list from startto end from the list Returns the slice of the list from start to end of the list
srcas a new list. The startand end parameters src as a new list. The start and end parameters
are inclusive, so 0,length-1 would copy the entire list and 0,0 are inclusive, so 0,length-1 would copy the entire list and 0,0
would capture the first list entry. Using negative would capture the first list entry. Using negative
numbers for startand/or end causes the index to count backwards numbers for startand/or end causes the index to count backwards
@ -2159,17 +2139,6 @@
• string msg message to be transmitted • string msg message to be transmitted
</Word> </Word>
<!--
<Word name="llReleaseCamera">
llReleaseCamera(key agent);
A FollowCam function that returns the camera to the
key agent after permission to change it with
llSetCameraParams has been granted via
llRequestPermissions(agent_key, PERMISSION_CONTROL_CAMERA).
</Word>
-->
<Word name="llReleaseControls"> <Word name="llReleaseControls">
llReleaseControls(); llReleaseControls();
@ -4745,6 +4714,17 @@
</WordsSubsection> </WordsSubsection>
<WordsSubsection name="C.26 JSON constants">
<Word name="JSON_ARRAY" type="string" value="">U+FDD2</Word>
<Word name="JSON_FALSE" type="string" value="">U+FDD7</Word>
<Word name="JSON_INVALID" type="string" value="">U+FDD0</Word>
<Word name="JSON_NULL" type="string" value="">U+FDD5</Word>
<Word name="JSON_NUMBER" type="string" value="">U+FDD3</Word>
<Word name="JSON_OBJECT" type="string" value="">U+FDD1</Word>
<Word name="JSON_STRING" type="string" value="">U+FDD4</Word>
<Word name="JSON_TRUE" type="string" value="">>U+FDD6</Word>
</WordsSubsection>
<WordsSubsection name="C.99. Miscellaneous constants."> <WordsSubsection name="C.99. Miscellaneous constants.">
Constants that do not fit into any of the previously defined categories. Constants that do not fit into any of the previously defined categories.
<Word name="AGENT_LIST_PARCEL" /> <Word name="AGENT_LIST_PARCEL" />

View file

@ -6,6 +6,33 @@
<body style="background-color: white; font-family: Verdana, sans-serif;font-size: 13px;line-height: 1.3"> <body style="background-color: white; font-family: Verdana, sans-serif;font-size: 13px;line-height: 1.3">
<div> <div>
<div> <div>
<h3><span class="date">2013-06-22</span> - Release 2.52.0</h3>
<p>Added the JSON related constants and functions.</p>
<div>
* Constants Added:
<ul>
<li>JSON_ARRAY</li>
<li>JSON_FALSE</li>
<li>JSON_INVALID</li>
<li>JSON_NULL</li>
<li>JSON_NUMBER</li>
<li>JSON_OBJECT</li>
<li>JSON_STRING</li>
<li>JSON_TRUE</li>
<li></li>
</ul>
</div>
<div>
* Functions added:
<ul>
<li>llList2Json</li>
<li>llJson2List</li>
<li>llJsonGetValue</li>
<li>llJsonSetValue</li>
<li>llJsonValueType</li>
</ul>
</div>
<h3><span class="date">2013-05-16</span> - Release 2.51.0</h3> <h3><span class="date">2013-05-16</span> - Release 2.51.0</h3>
<div> <div>
* Constants Added: * Constants Added:

View file

@ -401,6 +401,15 @@ namespace LSLEditor
public static readonly integer INVENTORY_ANIMATION = 20; public static readonly integer INVENTORY_ANIMATION = 20;
public static readonly integer INVENTORY_GESTURE = 21; public static readonly integer INVENTORY_GESTURE = 21;
public static readonly string JSON_ARRAY = "\uFDD2";
public static readonly string JSON_FALSE = "\uFDD7";
public static readonly string JSON_INVALID = "\uFDD0";
public static readonly string JSON_NULL = "\uFDD5";
public static readonly string JSON_NUMBER = "\uFDD3";
public static readonly string JSON_OBJECT = "\uFDD1";
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_PAUSE = 2;
public static readonly integer KFM_CMD_PLAY = 0; public static readonly integer KFM_CMD_PLAY = 0;
public static readonly integer KFM_CMD_STOP = 1; public static readonly integer KFM_CMD_STOP = 1;
@ -2743,6 +2752,38 @@ namespace LSLEditor
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, // E0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; // F0 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
list lJSON = new list();
Verbose("llJson2List({0})={1}", sJSON, lJSON);
return lJSON;
}
public string llJsonGetValue(string sJSON, list lSpecifiers)
{
//TODO determine return value from list
string sReturn = JSON_INVALID;
Verbose("llJsonGetValue({0}, {1})= {2}", sJSON, lSpecifiers, sReturn);
return sReturn;
}
public string llJsonSetValue(string sJSON, list lSpecifiers, string sValue)
{
//TODO determine return value
string sReturn = JSON_INVALID;
Verbose("llJsonGetValue({0}, {1}, {2})= {3}", sJSON, lSpecifiers, sValue, sReturn);
return sReturn;
}
public string llJsonValueType(string sJSON, list lSpecifiers)
{
//TODO determine return value
string sReturn = JSON_INVALID;
Verbose("llJsonGetValue({0}, {1})= {2}", sJSON, lSpecifiers, sReturn);
return sReturn;
}
public String llKey2Name(key id) public String llKey2Name(key id)
{ {
string strName = "*unknown*"; string strName = "*unknown*";
@ -2801,6 +2842,14 @@ namespace LSLEditor
return result; return result;
} }
public string llList2Json(string sType, list lValues)
{
//TODO determine return value
string sReturn = JSON_INVALID;
Verbose("llList2Json({0}, {1})= {2}", sType, lValues, sReturn);
return sReturn;
}
public key llList2Key(list src, integer index) public key llList2Key(list src, integer index)
{ {
key result; key result;