SignpostMarv
e041f09750
refactoring to allow Scene.GetLandData to accept Vector3 as an argument. Note that the prior work on LSL_Vector implicit operators means one does not need to explicitly cast a LSL_Vector to Vector3
2012-09-08 00:44:27 +01:00
SignpostMarv
874bde366a
4096 is used in various places as the maximum height of a region, refactoring to be a constant
2012-09-08 00:14:39 +01:00
Mic Bowman
641b08aa78
Enables cast from int to float for MOD* functions;
...
Thanks SignpostMarv!
2012-09-05 09:13:16 -07:00
SignpostMarv
07dbe46ba3
wrapping attachment functions in a region
2012-09-04 00:03:44 +01:00
SignpostMarv
ff867b59cf
Implementing functing to send messages directly to attachments
2012-09-04 00:03:44 +01:00
SignpostMarv
d4b8a13a1d
refactoring the grunt work of MessageObject into a private method with a UUID argument
2012-09-04 00:03:44 +01:00
SignpostMarv
a858c5daee
implementing a function to get the number of attachments worn
2012-09-04 00:03:43 +01:00
Melanie
d297eb39e5
Revert "made setting rotation match Second Life"
...
Second Life seems to have introduced a bug, as we have confirmation that SL
behavior changed recently and changed in contradiction to their stated intention
This appears to be another of the bugs SL is notorious for. Signpost and I have
decided to back this out until SL's intention becomes clear.
This reverts commit f7b88d1c40
.
2012-09-03 21:52:12 +01:00
Melanie
29218cdb31
Revert "no need to assign rotation to a variable now"
...
This reverts commit a3d140b57c
.
2012-09-03 21:52:03 +01:00
Melanie
359f9efc76
Revert "formatting"
...
This reverts commit fb211c64fd
.
2012-09-03 21:51:54 +01:00
SignpostMarv
fb211c64fd
formatting
2012-09-03 13:55:41 +01:00
SignpostMarv
a3d140b57c
no need to assign rotation to a variable now
2012-09-03 13:55:40 +01:00
SignpostMarv
f7b88d1c40
made setting rotation match Second Life
2012-09-03 13:55:40 +01:00
SignpostMarv
3c019bea8c
Implementing a vastly simpler means of allowing region modules to access GetLinkParts than mantis 6236
2012-08-31 01:19:17 +01:00
SignpostMarv
c76c63725b
fixing bug where last element in list is ignored
2012-08-30 00:10:28 +01:00
SignpostMarv
6b277394c0
refactoring as the list funcs either skip invalid values or recall ToDoubleList
2012-08-30 00:10:28 +01:00
Mic Bowman
3d736d575f
This partially implements the LSL function to set the response
...
type for an HTTP request. Since the "official" LSL function limits
the use of the response type, it is implemented as osSetContentType
with a string for the content mime type and a threat level of high.
With this function you should be able to implement rather functional
media-on-a-prim application with much less difficulty.
2012-08-29 14:56:51 -07:00
SignpostMarv
0c3061f973
implementing rule tracking
2012-08-29 02:10:04 +01:00
SignpostMarv
3bf7bd6359
track originating IScriptApi method for SL-like error messages. Will add rule number tracking in next commit.
2012-08-29 02:10:04 +01:00
SignpostMarv
1e18f0f26a
copying documentation from http://opensimulator.org/wiki/Threat_level
2012-08-28 00:12:35 +01:00
SignpostMarv
6e86b23012
implementing PRIM_LINK_TARGET on GetPrimParams ala SetPrimParams
2012-08-25 02:30:23 +01:00
SignpostMarv
58714b0aca
minor formatting
2012-08-25 02:30:23 +01:00
SignpostMarv
5203665bb2
refactoring to local variable for cleaner code
2012-08-25 02:30:23 +01:00
SignpostMarv
2a2e120470
since we will be making the Get return type the remaining ruleset as with the Set return type, we need to move the original return type to a ref param
2012-08-25 02:30:23 +01:00
SignpostMarv
a8044999fb
use SceneObjectPart instead of var
2012-08-25 02:30:23 +01:00
SignpostMarv
3d504261b0
renaming to be similar to equivalent Set command
2012-08-25 02:30:23 +01:00
Justin Clark-Casey (justincc)
f3a5e3a02b
Log initial script startup info notice when xengine actually starts to do this for debugging purposes, rather than before it actually starts to do this.
2012-08-25 00:42:32 +01:00
SignpostMarv
67477290ad
stripping superfluous whitespace
...
Signed-off-by: Melanie <melanie@t-data.com>
2012-08-24 17:44:35 +01:00
SignpostMarv
582a256646
immediately returning the string.Join operation instead of checking if the list has members
2012-08-24 17:44:14 +01:00
SignpostMarv
d188272462
refactoring using List.ConvertAll<string>
2012-08-24 17:44:14 +01:00
Justin Clark-Casey (justincc)
a08687aef3
Revert "implementing function to allow scripts to self-replicate as if the owner duplicated them, using the same script delay as llRezObject()"
...
This reverts commit 2ad9d656b3
.
Reverted pending consideration of associated issues.
2012-08-24 01:18:35 +01:00
SignpostMarv
2ad9d656b3
implementing function to allow scripts to self-replicate as if the owner duplicated them, using the same script delay as llRezObject()
2012-08-24 00:21:42 +01:00
TBG Renfold
a3cbda0d74
Removed land checking as suggested by SignpostMarv.
...
Now whatever remaining health the avatar has is displayed (float).
This will be 100% (100.000000) if no damage has occurred (as what the viewer should really be seeing anyway).
Returns -1.000000 if the avatar is not found.
2012-08-24 00:13:27 +01:00
TBG Renfold
4f3fabae5b
Adds osGetHealth.
...
Returns the amount of health (in an integer) that an avatar has left in the scene.
If an avatar is not found or safe is enabled on a region, -1 is returned.
Example usage:
default
{
touch_end(integer _t)
{
key agentID = llDetectedKey(0);
osCauseDamage(agentID, 50);
llSay(0, llKey2Name(agentID) + " has " + (string)osGetHealth(agentID) + "% health left.");
}
}
2012-08-24 00:13:14 +01:00
Justin Clark-Casey (justincc)
aede42b875
If a script state save fails for some reason on shutdown/region removal, get xengine to spit out some useful information and continue to save other script states
2012-08-23 23:13:53 +01:00
SignpostMarv
4820dfd733
this should be an if-else block in case the non-phys min/max are smaller than the physical min/max
2012-08-22 23:55:01 +01:00
SignpostMarv
481c00f50a
refactoring out SetFaceColor
2012-08-20 23:10:25 +01:00
SignpostMarv
ede3b9ab07
making use of implicit operators and Util.Clip handling of Vector3
2012-08-20 23:10:25 +01:00
SignpostMarv
b863a15a82
single operation for PRIM_COLOR
2012-08-20 23:10:25 +01:00
Justin Clark-Casey (justincc)
bcbd450fe4
Add --force flag to "kick user" console command to allow bypassing of recent race condition checks.
...
This is to allow a second attempt to remove an avatar even if "show connections" shows them as already inactive (i.e. close has already been attempted once).
You should only attempt --force if a normal kick fails.
This is partly for diagnostics as we have seen some connections occasionally remain on lbsa plaza even if they are registered as inactive.
This is not a permanent solution and may not work anyway - the ultimate solution is to stop this problem from happening in the first place.
2012-08-20 20:24:54 +01:00
Melanie
8769e4ee73
Add a reference to OpenMetaverseType.dll to compiled script assemblies.
2012-08-18 19:08:38 +01:00
SignpostMarv
d72d599056
integrating redundant code into operator
2012-08-18 18:30:00 +01:00
SignpostMarv
ca33619e11
Rot2Quaternion is now redundant
2012-08-18 18:30:00 +01:00
SignpostMarv
ffdde05bb7
constructor means not having to manually refer to individual properties
2012-08-18 18:29:59 +01:00
SignpostMarv
fb84ff96a9
implicit operators mean one does not need to instantiate new objects manually
2012-08-18 18:29:59 +01:00
SignpostMarv
52d7af05bc
adding missing refactor for LSL_Vector
2012-08-18 18:29:59 +01:00
SignpostMarv
2b0c8bc480
Implementing operators & constructors for Quaternion
2012-08-18 18:29:59 +01:00
Melanie
2a70afeca2
Fix the whitespace formatting error introduced by the last patch
2012-08-18 14:00:10 +01:00
SignpostMarv
5d7751da89
refactoring for Vector3 operator & constructor tweaks
2012-08-18 13:21:55 +01:00
Melanie
9d6fe1224a
Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim
2012-08-18 12:57:49 +01:00
SignpostMarv
28d0aff2e3
adding null return to fix building
2012-08-17 23:23:03 +01:00
SignpostMarv
7068fddd2f
fixing bug that get/set the wrong property for prim types other than sphere & box
2012-08-17 23:23:03 +01:00
SignpostMarv
466d684fbe
implemented
2012-08-17 23:23:03 +01:00
SignpostMarv
74f5253a36
attempt to handle InvalidCastException in a manner similar to Second Life
2012-08-17 23:08:24 +01:00
Justin Clark-Casey (justincc)
0860a0d856
minor: Make xengine debug message on script load a scripting loading message instead.
...
This is more useful if compilation fails due to an uncatchable exception since we know what was being compiled.
2012-08-17 22:30:01 +01:00
SignpostMarv
e9ea911563
adding a clip method to handle Vector3 objects to enable a minor amount of refactoring
2012-08-17 18:40:49 +01:00
Melanie
9995421df1
Do a proper null check to avoid the overloaded operator == trap
2012-08-16 02:35:03 +01:00
SignpostMarv
ef4122213c
enables configurable minimum sizes for physical & non-physical prims
2012-08-15 23:35:23 +01:00
Melanie
e286a95d76
Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim
2012-08-15 22:59:31 +01:00
SignpostMarv
0aa1f1cc3f
Implementing PRIM_LINK_TARGET in a non-recursive fashion
2012-08-15 22:58:33 +01:00
SignpostMarv
7679384829
adding ATTACH_*_PEC constants
2012-08-15 22:06:20 +01:00
Melanie
ebbf349c6a
Let the temp attachment module add a command to allow attaching without permissions and add support for this (incomplete!) to LSL
2012-08-15 19:37:16 +01:00
Justin Clark-Casey (justincc)
c42fe6c159
Prevent race conditions when one thread removes an NPC SP before another thread has retreived it after checking whether the NPC exists.
2012-08-14 21:44:06 +01:00
Melanie
fe4c3a37c0
Lay some groundwork for temp attachments. Decouple attachments from inventory.
2012-08-14 00:12:15 +01:00
SignpostMarv
58c630c18e
attempt at replicating behaviour of llList2thing functions in SL
...
Committed with changes. Please don't sign comments with your name. Please
don't use your own coding style, use the OpenSim project style. Please
don't modify unrelated whitespace.
Signed-off-by: Melanie <melanie@t-data.com>
2012-08-13 19:17:19 +01:00
Melanie
926c0b90a1
Release http-in URLs when llResetScript is called
2012-08-07 20:48:22 +01:00
Justin Clark-Casey (justincc)
513b77b78d
refactor: rename SOG.RezzingObjectID to SOG.FromPartID to match FromFolderID, FromItemID and to reflect that it's a SOP ID rather than a SOG ID.
2012-08-03 02:26:54 +01:00
SignpostMarv
cd2c5843a8
reduced-complexity implementation of function to get rezzing object key
...
Signed-off-by: Melanie <melanie@t-data.com>
2012-08-02 22:12:36 +01:00
Justin Clark-Casey (justincc)
794363421d
Look up the NPC module when the SensorRepeat class is created, rather than on every single sensor sweep.
2012-08-01 00:39:37 +01:00
Justin Clark-Casey (justincc)
7609daca38
Resolve a deadlock between INPCModule and SensorRepeat by replacing the SensorRepeat list with a new list on add/removes rather than locking it for the duration of the sensor sweep.
...
A deadlock was observed today where NPC removal on a script thread would lock the NPC list and then try to lock the sensor list via scripted attachment removal.
Concurrently, the sensor sweep thread would lock the sensor list and then try to lock the NPC list to check NPC status.
This commit resolves the deadlock by replacing the sensor list on update rather than locking it for the duration of the sweep.
2012-07-31 23:57:57 +01:00
Mic Bowman
a76a289d11
Adds support to ScriptModuleComms for region modules to export
...
constants to the script engine.
2012-07-31 10:45:37 -07:00
Melanie
3f6dfa92ab
Return world rotation on llGetObjectDetails()'s OBJECT_ROT
2012-07-29 16:05:35 +01:00
SignpostMarv
72d29bdb40
LSL/OSSL lacks Math.Min & Math.Max implementations.
2012-07-28 00:09:11 +01:00
Justin Clark-Casey (justincc)
1133f81dce
Remove a couple of compiler warnings pointed out by SignpostMarv
2012-07-27 20:40:25 +01:00
Justin Clark-Casey (justincc)
5aec0ff207
Move Watchdog and MemoryWatchdog classes into OpenSim.Framework.Monitoring with other monitoring code from OpenSim.Framework
2012-07-25 23:27:00 +01:00
Justin Clark-Casey (justincc)
31304c222d
Make SceneManager.OnRegionsReadyStatusChange event available.
...
This is fired when all regions are ready or when at least one region becomes not ready.
Recently added EventManager.OnRegionReady becomes OnRegionReadyStatusChange to match OnLoginsEnabledStatusChange
2012-07-25 21:00:59 +01:00
Justin Clark-Casey (justincc)
ecf7bb268c
As per opensim-dev mailing list discussion, extend llGetDetectedType() to return OS_NPC if an OS npc is detected.
...
The detection will also return agent is the NPC has been created with the OS_NPC_SENSE_AS_AGENT option.
2012-07-20 21:36:33 +01:00
Justin Clark-Casey (justincc)
bcfc392edf
As per opensim-dev mailing list conversation, introduce OS_NPC constant for use with llSensor()
...
This same constant will later be used with llGetDetectedType().
This constant has a different name from NPC to avoid possible conflict with future LSL changes.
This constant has a different value to try and avoid unnecessary conflict with future constants that may use the same value.
Using the 'NPC' constant with llSensor() will remain valid but is deprecated.
2012-07-20 21:08:04 +01:00
Mic Bowman
a4281ca014
Enables support for UUIDs to be returned in lists from
...
modInvoke commands.
Thanks SignpostMarv!!!
2012-07-20 10:48:51 -07:00
Mic Bowman
644fb6b013
Implements a very useful OSSL function to test a string to see
...
if it is a UUID. The function is osIsUUID().
Thanks SignpostMarv!
2012-07-20 10:25:50 -07:00
Justin Clark-Casey (justincc)
1971b6bb4f
Stop the 15 second initial script compile wait if a script is being rezzed on a previously empty region.
2012-07-18 22:24:52 +01:00
Justin Clark-Casey (justincc)
b9749d5aaf
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-07-17 23:48:53 +01:00
Justin Clark-Casey (justincc)
48a5f10be1
Revert "Revert "refactor: make llGiveInventory() use existing GetInventoryItem() method rather than iterate through TaskInventory itself.""
...
This reverts commit 59a29f5f22
.
The original revert was committed by mistake - it turns out this was not the cause of Mantis 6089
Conflicts:
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2012-07-17 23:48:09 +01:00
Justin Clark-Casey (justincc)
56870d9609
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-07-17 23:34:50 +01:00
Justin Clark-Casey (justincc)
ecb759c1e5
Fix regression where llGiveInventory() had stopped asking non-owner receivers to accept/decline.
...
This appears to be a regression from back in commit db91044
(Mon Aug 22 2011) where we started to send TaskInventoryOffered msg dialog rather than InventoryOffered dialog.
This is probably correct, but failed because the bucket was too large and because we wouldn't have handled the TaskInventoryDeclined option anyway.
This patch handles both of these and make llGiveInventoryList() use TaskInventoryOffered as well
Fixes http://opensimulator.org/mantis/view.php?id=6089
2012-07-17 23:31:38 +01:00
Justin Clark-Casey (justincc)
59a29f5f22
Revert "refactor: make llGiveInventory() use existing GetInventoryItem() method rather than iterate through TaskInventory itself."
...
This reverts commit 58b13d51a7
.
2012-07-17 22:56:21 +01:00
Melanie
c489bc1cd2
Make the scrpt running flag work properly
2012-07-17 15:00:42 +02:00
Melanie
1c3b0da74a
Revert "Fix script "Running" behavior"
...
A better solution using the already present flags must be found.
This reverts commit 6d3ee8bb39
.
2012-07-16 23:31:55 +01:00
SignpostMarv
ee7478fa16
sending more user-friendly messages to the script error window rather than the thrown exceptions.
...
Signed-off-by: Melanie <melanie@t-data.com>
2012-07-16 21:32:38 +01:00
SignpostMarv
84b7ae2573
acting on feedback from justincc
2012-07-14 01:45:34 +01:00
SignpostMarv
423101b425
acting on feedback from justincc
2012-07-14 01:45:34 +01:00
SignpostMarv
e3453dd9ca
added in some extra variables, it sometimes thinks it is on the same parcel :(
...
Signed-off-by: SignpostMarv <github@signpostmarv.name>
2012-07-14 01:45:34 +01:00
SignpostMarv
b6cd3b625e
adding workaround for silent failure if position is outside the bounds of a region, implementing parcel prim count check.
...
Signed-off-by: SignpostMarv <github@signpostmarv.name>
2012-07-14 01:45:34 +01:00
SignpostMarv
8d59385eea
Implementation of llSetRegionPos(). Does not implement failure on object entry/prim limit/access restrictions.
...
Signed-off-by: SignpostMarv <github@signpostmarv.name>
2012-07-14 01:45:34 +01:00
Justin Clark-Casey (justincc)
884d603cac
Rather than instantiating a UTF8 encoding everywhere when we want to supress the BOM, use a single Util.UTF8NoBomEncoding.
...
This class is thread-safe (as evidenced by the provision of the system-wide Encoding.UTF8 which does not suppress BOM on output).
2012-07-13 01:03:28 +01:00
Justin Clark-Casey (justincc)
3b3d9967b1
Remove IClientAPI.GetClientEP() in favour of existing identical IClientAPI.RemoteEndpoint.
2012-07-12 23:29:57 +01:00
Justin Clark-Casey (justincc)
916e3bf886
Where possible, use the system Encoding.ASCII and Encoding.UTF8 rather than constructing fresh copies.
...
The encodings are thread-safe and already used in such a manner in other places.
This isn't done where Byte Order Mark output is suppressed, since Encoding.UTF8 is constructed to output the BOM.
2012-07-11 22:54:22 +01:00
Justin Clark-Casey (justincc)
33cff9b9d7
Allow XEngine StartDelay to be configured in the [XEngine] config section.
...
This is only currently meant for use by regression tests that don't have any issues if XEngine is started up quickly, since no other operations will be occuring simultaneously.
Therefore, this is not yet documented externally.
2012-07-11 21:55:18 +01:00
Justin Clark-Casey (justincc)
0e611c47d3
Remove WorldComm module from the regression TestCompileAndStartScript() since the infrastructure no longer fails if this module isn't present, at least on the tested codepaths
2012-07-11 21:46:46 +01:00
Justin Clark-Casey (justincc)
fc24563206
Add regression TestDetachScriptedAttachmentToInventory()
...
This currently only does a relatively crude check for a ScriptState node in the serialized xml
2012-07-11 21:43:35 +01:00
Justin Clark-Casey (justincc)
9f01c3d408
Disable logging in regression test in OSSL_ApiAttachmentTests
2012-07-10 23:04:44 +01:00
Justin Clark-Casey (justincc)
eb5ec4a786
If a script is being stopped manually, then give the scriptpool thread 1 second to finish normally before forcibly aborting.
...
This is to avoid the worst of the problems in mono 2.6, 2.10 where an aborted thread does not always release all its locks.
This very short grace period is identical to the existing behaviour when a script is removed from the scene.
2012-07-10 21:42:51 +01:00
Justin Clark-Casey (justincc)
c8af20f966
This script allows an object to be attached directly from prim inventory to another avatar in the scene.
...
Very useful in serious game/environment scenarios where its only allowed for trusted creators.
Threat level Severe
2012-07-09 23:08:41 +01:00
Justin Clark-Casey (justincc)
16d5b79d57
minor: remove some recent mono compiler warnings
2012-07-07 00:36:01 +01:00
Justin Clark-Casey (justincc)
7ff4eec79c
Remove redundant SetScene() function in Scene.AddSceneObject()
...
This is always done later on in SceneGraph.AddSceneObject() if the call hasn't failed due to sanity checks.
There's no other purpose for this method to exist and it's dangerous/pointless to call in other conditions.
2012-07-07 00:02:45 +01:00
Talun
1b1f841c6a
Mantis 6063 osNpcTouch.
...
Allow NPCS to touch obects.
2012-07-06 22:37:19 +01:00
Justin Clark-Casey (justincc)
8674604ff5
regrade osFormatString, osMatchString and osReplaceString to VeryLow.
...
I can't see that these present any real hazard to sim functioning.
2012-07-05 21:10:59 +01:00
Justin Clark-Casey (justincc)
951b45b80f
Add OSSL function osForceAttachToAvatarFromInventory()
...
This works like osForceAttachToAvatar() but allows an object to be directly specified from the script object's inventory rather than forcing it to be rezzed in the scene first.
Still only attaches objects to the owner of the script.
This allows one to bypass the complicated co-ordination of first rezzing objects in the scene before attaching them.
Threat level high.
2012-07-05 00:05:06 +01:00
Justin Clark-Casey (justincc)
7b327848d0
Use GetInventoryItem() in llRezAtRoot rather than iterating through a cloned dictionary
2012-07-04 22:21:47 +01:00
Justin Clark-Casey (justincc)
2f998fce1f
refactor: In llGetNotecardLine() use existing GetInventoryItem() rather than inspecting a clone of the TaskInventory dictionary that was not cloned thread-safe
2012-07-04 22:00:39 +01:00
Justin Clark-Casey (justincc)
1816ecb747
refactor: In llGetNumberOfNotecardLines() use existing GetInventoryItem() rather than inspecting a clone of the TaskInventory dictionary that was not cloned thread-safe
2012-07-04 21:57:57 +01:00
Justin Clark-Casey (justincc)
eacba4fc0b
refactor: use existing GetInventoryItem() in GetScriptByName(), itself renamed from ScriptByName()
2012-07-04 21:54:30 +01:00
Justin Clark-Casey (justincc)
9fac7fd932
refactor: In llGetInventoryType() use existing GetInventoryItem()
2012-07-04 21:50:52 +01:00
Justin Clark-Casey (justincc)
f2b0377c28
refactor: In llGetInventoryCreator() use existing GetInventoryItem()
2012-07-04 21:49:21 +01:00
Justin Clark-Casey (justincc)
d933bdbd59
refactor: In llGetInventoryPermMask() use existing GetInventoryItem()
2012-07-04 21:47:20 +01:00
Justin Clark-Casey (justincc)
f9fa34408d
refactor: in llGetInventoryPermMask use existing GetInventoryItem()
2012-07-04 21:42:04 +01:00
Justin Clark-Casey (justincc)
857494f6bd
refactor: In llRemoteLoadScriptPin() use existing GetInventoryItem()
2012-07-04 21:36:44 +01:00
Justin Clark-Casey (justincc)
dff7cae2ee
refactor: replace use of LSL_Api.GetTaskInventoryItem() with existing GetInventoryItem()
2012-07-04 21:33:35 +01:00
Justin Clark-Casey (justincc)
0e3fce9b5c
refactor: In llGetInventoryKey() use existing GetInventoryItem()
2012-07-04 21:25:58 +01:00
Justin Clark-Casey (justincc)
4b2b14dad1
In llMessageLinked() use GetInventoryItems() rather than cloning TaskInventory directory
...
GetInventoryItems() returns a new list and so is equivalent, and creates this list under lock whereas Clone() is not thread-safe
2012-07-04 21:22:43 +01:00
Justin Clark-Casey (justincc)
3769739ca7
In llRequestInventoryData() use GetInventoryItems() rather than cloning TaskInventory directory
...
GetInventoryItems() returns a new list and so is equivalent, and creates this list under lock whereas Clone() is not thread-safe
2012-07-04 21:19:16 +01:00
Justin Clark-Casey (justincc)
3717812ce0
refactor: In llCollisionSound() use existing GetInventoryItem() method rather than have it iterate through TaskInventory itself.
2012-07-04 21:15:00 +01:00
Justin Clark-Casey (justincc)
ae64d089c6
refactor: In llRemoveInventory() use existing GetInventoryItem() method rather than have it iterate through TaskInventory itself.
2012-07-04 21:05:51 +01:00
Justin Clark-Casey (justincc)
58b13d51a7
refactor: make llGiveInventory() use existing GetInventoryItem() method rather than iterate through TaskInventory itself.
2012-07-04 20:57:48 +01:00
Melanie
d32cf21576
Add preservation of running state of scripts when drag-copying.
2012-07-01 18:30:59 +01:00
Justin Clark-Casey (justincc)
bfa6896678
Change AttachmentsModule.DetachSingleAttachmentToInv() to accept a SOG directly instead of an item ID to then shuffle through attachments, saving CPU busywork.
...
Almost all callers already had the sog to hand.
Still checking that it's really an attachment, but now by inspecting SOG.AttachedAvatar
2012-06-28 23:31:23 +01:00
Justin Clark-Casey (justincc)
972b0b52f9
If rest of first line after colon is blank then still warn about running in XEngine if engine specified does not exist.
...
This is to take account of situations where the user was intending to specify a script engine using colon using its default language.
This probably generates few false positive as scripts are less likely to end a first line colon with a comment for other purposes.
2012-06-28 21:30:36 +01:00
Justin Clark-Casey (justincc)
25baa2d894
Avoid reporting false positives when a colon is in a comment in the first line of a script where the user was not trying to select a different script engine.
...
This works by only posting the "Selected engine unavailable" message if we're falling back on XEngine and the language is one handled by XEngine.
In cases where the language is not handled or not allowed, the user will still be notified by the later compiler error.
This avoids the overwhelming majority of false positives where the first line contains a : for other reasons (e.g. source control systems, vim settings, etc.)
Ultimately, I think it would be better to detect script language/engine with a mechanism that didn't just rely on : detection (e.g like #! in unix scripts).
2012-06-28 01:01:18 +01:00
Justin Clark-Casey (justincc)
f9769a9fcb
minor: reuse colon index calculation in XEngine.OnRezScript. The index if a colon is found on the first line will always be the same as for the whole script.
2012-06-28 00:37:23 +01:00
BlueWall
988112d446
Add stub for llCastRay
2012-06-26 15:15:25 -04:00
BlueWall
6d3ee8bb39
Fix script "Running" behavior
...
Unchecking "Running" box in script editor now persists. This fixes http://opensimulator.org/mantis/view.php?id=6057
2012-06-23 04:15:14 -04:00
Justin Clark-Casey (justincc)
80a41e670d
Avoid race condition between m_PrimObjects iteration in XEngine.PostObjectEvent and places where the list is modified by extending the m_PrimObjects lock.
2012-06-22 02:23:25 +01:00
Justin Clark-Casey (justincc)
9f3feeff8d
If starting scripts on initial sim start, provide INFO level log feedback each time 50 scripts have been started.
...
This is to provide an indication of what's happening now that the default isn't to report every single script start.
Changes XEngine logging level in OpenSim.exe.config from WARN to INFO.
2012-06-22 02:10:27 +01:00
Justin Clark-Casey (justincc)
f907182ab2
Eliminate unnecessary extra call to TriggerEmptyScriptCompileQueue in XEngine.DoOnRezScriptQueue()
...
The later invocation of this function will happen on an empty compile queue.
2012-06-22 01:57:14 +01:00
Justin Clark-Casey (justincc)
d24122b706
Add item id, name, prim name and id to log message when state exists but loading fails.
...
Drop logging about memory limit exceeded to warn from error
2012-06-21 02:24:44 +01:00
Justin Clark-Casey (justincc)
afcabf5244
Retrigger build - last jenkins run was glitched
2012-06-21 02:13:03 +01:00
Justin Clark-Casey (justincc)
5709bed548
Add state file location to errors logged when there's some issue with retrieving state (e.g. exceeds memory limit)
2012-06-21 02:09:14 +01:00
Justin Clark-Casey (justincc)
625e5e913a
Comment out recently added log message detailing number of scripts started when compile queue empties for now
2012-06-20 00:25:18 +01:00
Justin Clark-Casey (justincc)
881e92a726
Raise some IO associated Exception logging in XEngine to error level, in line with other similar cases.
...
Remove more unnecessary Close() calls - these are being triggered by the Dispose() called when exiting the using statement for these sdk io objects.
2012-06-20 00:19:50 +01:00
Justin Clark-Casey (justincc)
0fa303b1cf
Log how many scripts are candidates for starting and how many are actually started.
...
Adds DebugLevel infrastructure to XEngine though currently commented out and unused.
2012-06-20 00:10:19 +01:00
Justin Clark-Casey (justincc)
ef686ead37
Like the assembly and text files, only write the c#-lsl linemap in XEngine.SetXMLState() if the trust binaries flag is set.
...
This doesn't affect other locations where the map is written, such as on script compilation.
2012-06-19 02:11:46 +01:00
Justin Clark-Casey (justincc)
8e7032ece8
minor: Add a little more detail to IOException logging in XEngine.SetXMLState()
...
Also removes superflous Close() commands for statements taking place within using() constructs
Also adds some comment out debug log messages for future use.
2012-06-19 01:53:50 +01:00
Justin Clark-Casey (justincc)
1f34c8277d
In the osGetGrid functions, if the [GridInfo] section does not exist then return "Configuration Error", as already happens if there is no GridInfoURI
2012-06-13 04:05:02 +01:00
Melanie
4e18e71089
Committing the Avination implementation of llCastRay. This is a complete rewrite
...
wich does it's thing independently of physics. Enjoy!
2012-06-13 02:32:25 +01:00
Justin Clark-Casey (justincc)
daad0a3e11
Revert "Bind ~ and ! operators in LSL tighter in order to resolve issues in LSL where these aren't evaluated propertly."
...
This reverts commit a8a9d13dc0
.
Accidentally committed, this patch might not be the correct approach.
2012-06-11 23:30:58 +01:00
Justin Clark-Casey (justincc)
cbb5ddd944
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-06-11 23:27:48 +01:00
Melanie
71ba85137f
Commitig the Avination implementation of llTeleportAgent and
...
llTeleportAgentGlobalCoords. These do NOT use PERMISSION_TELEPORT like
their SL counterparts because that permission is not yet understood by TPVs
based on v1.x.
2012-06-11 16:45:52 +01:00
Justin Clark-Casey (justincc)
a8a9d13dc0
Bind ~ and ! operators in LSL tighter in order to resolve issues in LSL where these aren't evaluated propertly.
...
Addresses http://opensimulator.org/mantis/view.php?id=3268
2012-06-09 05:11:08 +01:00
Justin Clark-Casey (justincc)
01280e9b94
Remove unused ScenePresence list structure in llGetAgentList()
2012-06-05 00:34:18 +01:00
Justin Clark-Casey (justincc)
7fd38788b4
minor: code formatting from 0b72f773
2012-05-26 02:14:32 +01:00
Talun
0b72f773c7
Mantis 6025 llRequestPermissions auto grant for NPCs.
...
If the script requesting permissions is owned by either the NPC or
the NPCs owner (if the NPC is created as owned) then grant any
permissions automatically.
2012-05-26 02:09:22 +01:00
Blake.Bourque
33b66009e4
One can now get hyoergrid region co-ordinates with llRequestSimulatorData
2012-05-26 01:32:42 +01:00
Justin Clark-Casey (justincc)
d6476b6277
Use GetInventoryItem() in LSL_Api.InventoryKey(string name, int type).
...
Also removes small bug where calling this method would add 1 to LPS, evne though all callers already did this.
2012-05-26 01:03:53 +01:00
Justin Clark-Casey (justincc)
f2a5fad18f
Use SceneObjectPartInventory.GetInventoryItem() in OSSL.AvatarStopAnimation instead of searching the task inventory manually.
2012-05-26 00:54:00 +01:00
Justin Clark-Casey (justincc)
ff53add54d
refactor: replace LSL_Api.InventoryKey(string) largely with SceneObjectPartInventory.GetInventoryItem(string)
...
Also gets llStopAnimation() to call KeyOrName rather than duplicating logic.
2012-05-26 00:36:01 +01:00
Talun
120f8145fc
Mantis 6028 osAvatarStopAnimation not stopping animations via UUID
...
Corrected to stop animations using the animation UUID similar to llStopAnimation.
See http://opensimulator.org/wiki/OsAvatarStopAnimation
2012-05-25 23:45:03 +01:00
BlueWall
682d4075e3
Fix llGetSimulatorHostname to return configured hostname
2012-05-23 15:08:39 -04:00
Melanie
e7819ce909
Port Avination's collision fixes to core.
2012-05-15 01:02:38 +01:00
Chris Koeritz
30a272ba31
Modifications for SMTP in OpenSimulator. Email size limit was fixed (was out of step with documentation at 1024, so boosted to 4096). Added configuration item for maximum email size. Redundant sleep inside email module was fixed (LSL Api was already sleeping). Added sleep time configuration item for snooze between email sending for LSL Api. Added two new configuration items (email_max_size and email_pause_time) into the example OpenSim.ini, plus fixed a spelling error (llimits) and odd tabbing.
...
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-05-13 17:34:20 -04:00
Talun
61e99bcdcb
Mantis 6015 new LSL function llGetAgentList.
...
Details in the lsl wiki
2012-05-09 00:14:24 +01:00
Justin Clark-Casey (justincc)
ef279c5a62
Add automated TestllBreakLink()
2012-05-08 23:36:23 +01:00
Justin Clark-Casey (justincc)
c0658a102e
Add automated TestllCreateLink()
2012-05-08 23:29:51 +01:00
Justin Clark-Casey (justincc)
6406d5a5b9
refactor: Eliminate local id parameter from api initialize.
...
This is always available from m_host.LocalId
2012-05-08 23:20:27 +01:00
Justin Clark-Casey (justincc)
01b78235db
Instead of constantly looking up unchanging self item in script code, pass in self item on initialization.
2012-05-08 23:05:01 +01:00
Justin Clark-Casey (justincc)
a82dc263ab
For osGetGridNick(), osGetGridName(), osGetGridLoginURI() and osGetGridCustom(), try to read from the [GridInfoService] section on standalone rather than [GridInfo]
...
[GridInfoService] is the section that's actually in bin/config-include/StandaloneCommon.ini.example
2012-05-07 19:05:21 +01:00
dahlia
4186fa10f0
remove default values from prior commit since mono cant deal with them
2012-05-07 00:08:56 -07:00
dahlia
b697d0e895
add OS_NPC_RUNNING option to osNpcMoveToTarget() to allow running speed for moving NPCs
2012-05-06 23:54:50 -07:00
Snoopy Pfeffer
100e4ca67e
Fixes Mantis #5999 . llSetLinkPrimitiveParams with PRIM_BUMP_SHINY did cause a runtime error.
2012-05-03 19:00:09 +02:00
TBG Renfold
9c2a73b61e
llGenerateKey implementation. Creates a random UUID I.E: UUID.Random().ToString();
...
Signed-off-by: TBG Renfold <tbg.renfold@g2mv.co.uk>
2012-04-30 17:36:49 +01:00
Justin Clark-Casey (justincc)
e39e4f6bfb
minor: style adjustments in SensorRepeat, mainly related to patch from stoehr
2012-04-27 19:40:19 +01:00
Stefan_Boom
b35a1d5681
Fixing wrong position of llSensor, SensePoint wasnt following the rotation of the root prim.
2012-04-27 19:31:50 +01:00
Justin Clark-Casey (justincc)
07e62df558
Add regression test for teleporting an agent between separated regions on the same simulator.
...
This involves a large amount of change in test scene setup code to allow test scenes to share shared modules
SetupScene is now an instance method that requires an instantiation of SceneHelpers, though other SceneHelpers methods are still static
May split these out into separate classes in the future.
2012-04-27 00:58:54 +01:00
Oren Hurvitz
8a65f5a70d
OSSL: Removed check for CanRunConsoleCommand() in osKickAvatar.
...
OSSL permissions are now controlled in OpenSim.ini.
2012-04-26 22:53:13 +01:00
BlueWall
fba802bb03
Merge branch 'master' of /home/opensim/var/repo/opensim
2012-04-26 16:13:47 -04:00
Talun
b8114d2b67
Add a version of osNpcSay that takes a channel number Mantis 5747
...
osNpcSay(UUID npc, string message) left untouched
New functions:-
osNpcSay(UUID npc, int channel, string message)
osNpcShout(UUID npc, int channel, string message)
osNpcWhisper(UUID npc, int channel, string message)
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-04-26 16:13:29 -04:00
Melanie
88553bb884
Port Avination link order to make OpenSim behave like SL. Make Primstar scripts work. Fixes Mantis #5990
2012-04-25 19:09:22 +01:00
Oren Hurvitz
2f398231ac
Minor improvements to logging
...
Eliminated an extra newline in the console if the log line doesn't contain a category (example of a category: "[ASSETS]").
2012-04-24 21:38:09 +01:00
Oren Hurvitz
6011bfa5e3
OSSL: fixed the threat level check for osParseJSONNew
2012-04-24 20:41:29 +01:00
Justin Clark-Casey (justincc)
40e37d8b78
Add osForceAttachToAvatar() and osForceDetachFromAvatar()
...
These behave identically to llAttachToAvatar() and llDetachFromAvatar() except that they do not enforce the PERMISSION_ATTACH check
Intended for use in completely controlled dedicated environments where these checks are more a UI hinderance than a help.
Threat level high.
2012-04-24 00:03:57 +01:00
Justin Clark-Casey (justincc)
b798b32b19
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-04-23 22:54:11 +01:00
Justin Clark-Casey (justincc)
1f8d1bcdcf
Replace common code to fetch self inventory item (as opposed to uuid) with GetSelfInventoryItem()
...
However, at some point it would be far more convenient to receive the TaskInventoryItem in the constructor rather than just the item UUID, so we don't have to constantly refetch our self item.
2012-04-23 22:52:46 +01:00
Justin Clark-Casey (justincc)
60065f06b3
refactor: Replace calls to InventorySelf() with existing m_itemID in LSL_Api
...
There's no point look up an item ID that we already have.
2012-04-23 22:23:47 +01:00
Talun
679da63da6
Mantis 5977 Corrections to llRegionSayTo
...
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-04-23 07:16:33 -04:00
Melanie
beb7b8d189
Fix a logic error in app domain creation
2012-04-18 23:23:37 +01:00
Melanie
ea73a03553
Don't re-add the assembly resolver for each script if not creating the appdomain
2012-04-18 20:01:41 +01:00
Justin Clark-Casey (justincc)
24a0cc5261
refactor: Rename EstateSettings.IsEstateManager() to EstateSettings.IsEstateManagerOrOwner() to reflect what it actually does.
...
This makes it consistent with other parts of OpenSimulator that are treating ESTATE_MANAGER and ESTATE_OWNER as different entities.
As per opensim-dev mailing list.
2012-04-17 01:25:41 +01:00
Talun
5655239f44
Null reference in llGetObjectMass on a seated avatar.
2012-04-17 00:56:46 +01:00
Melanie
4bdd9d51bc
Correct whitespace error introduced by previous commit
2012-04-14 01:04:26 +01:00
Talun
4d652c7041
Missing or unimplemented LSL memory functions.
...
Implemented to behave as if scripts were LSO.
Signed-off-by: nebadon <michael@osgrid.org>
2012-04-13 17:08:00 -07:00
Justin Clark-Casey (justincc)
eced091689
Change threat level of osNpcStopMoveToTarget from Low to High to match other NPC functions, and change OSSL permissions name to osNpcStopMoveToTarget instead of osNpcStopMoveTo
...
Thanks to Oren Hurvitz for pointing out these mistakes.
2012-04-13 22:52:24 +01:00
Justin Clark-Casey (justincc)
1ad3fdb40b
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-04-13 22:34:36 +01:00
Justin Clark-Casey (justincc)
ab7c0e7547
Remove hardcoded god requirement from osSetRegionWaterHeight, osSetRegionSunSettings and, osSetEstateSunSettings no matter the threat level.
...
Change threat level on osSetRegionSunSettings and osSetEstateSunSettings from nuisance to high to match similar functions.
If you had enabled these functions but had relied on the hardcoded god check in the code, then please adjust your OSSL permissions config.
Thanks to Oren Hurvitz for pointing this out.
2012-04-13 22:32:33 +01:00
Talun
08e509978d
Mantis 55025 Implement script time.
...
Signed-off-by: nebadon <michael@osgrid.org>
2012-04-12 18:44:00 -07:00
Snoopy Pfeffer
78fd487a70
New OS scripting functions osSetTerrainTexture and osSetTerrainHeight as originally proposed in SL Jira ( https://jira.secondlife.com/browse/SVC-244 ).
2012-04-10 21:49:43 +02:00
Talun
78c0028179
Mantis5502 implementation of some of the new constants
...
Signed-off-by: Melanie <melanie@t-data.com>
2012-04-09 21:25:22 +01:00
Justin Clark-Casey (justincc)
7d8bb33c5b
Store FromItemID for attachments once on SOG instead of on every SOP and only ever using the root part entry.
...
This eliminates some pointless memory use.
2012-04-07 00:33:02 +01:00
Justin Clark-Casey (justincc)
33e91f1088
Implement PRIM_POS_LOCAL on llSetPrimitiveParams() and other prim params LSL functions.
...
This is the same as PRIM_POSITION
2012-04-06 23:43:03 +01:00
Justin Clark-Casey (justincc)
4a58d4c5a4
refactor: Use clearer part.ParentGroup.IsAttachment in LSL_Api.GetPartLocalPos()
2012-04-06 23:36:13 +01:00
Justin Clark-Casey (justincc)
3af1cd65f9
Fix llGetLinkPrimParams for PRIM_POS_LOCAL for child prims whether in scene or attachments.
...
Return relative position to root prim rather than 0,0,0.
Should fix same issue with llGetLocalPos()
http://opensimulator.org/mantis/view.php?id=5951
2012-04-06 22:41:35 +01:00
Justin Clark-Casey (justincc)
47108bb351
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-04-06 21:15:31 +01:00
Justin Clark-Casey (justincc)
f2903db390
For llGetMass(), return the mass of the avatar is the object is attached.
...
As per http://lslwiki.net/lslwiki/wakka.php?wakka=llGetMass
This is the mass as used by the physics engine (ODE or Bullet).
2012-04-06 21:14:19 +01:00
Talun
c3a8c00ce0
Addition of missing constants for llGetObjectDetails including for Mantis 5502
...
Signed-off-by: nebadon <michael@osgrid.org>
2012-04-06 12:42:46 -07:00
Justin Clark-Casey (justincc)
627efc172b
Make llGetMass() return total mass of object when called on root prim.
...
As per http://lslwiki.net/lslwiki/wakka.php?wakka=llGetMass
Aims to resolve http://opensimulator.org/mantis/view.php?id=5954
2012-04-06 20:32:39 +01:00
Justin Clark-Casey (justincc)
e480e25d8b
Fix more SOP.PhysActor race conditions in LSL_Api
2012-04-03 06:01:05 +01:00
Justin Clark-Casey (justincc)
f0406f9fe2
Rename SOG.HasChildPrim(uint) to SOG.ContainsPart(uint) to match existing ContainsPart method and remove method duplication.
...
HasChildPrim is also misleading since the 'root' prim can also be returned.
2012-03-31 01:45:37 +01:00
Snoopy Pfeffer
19837ff4dd
Two new scripting functions osInviteToGroup(userID) and osEjectFromGroup(userID) that invite/eject users to/from groups the object containing the script is set to. These functions also work for closed groups.
2012-03-27 22:30:02 +02:00
Snoopy Pfeffer
7223b63563
User level based restrictions for HyperGrid teleports, asset uploads, group creations and getting contacted from other grids. Incoming HyperGrid teleports can also be restricted to local users.
2012-03-27 22:09:58 +02:00
Melanie
7e0936e4b6
Add a hust UUID to the script invocations
2012-03-26 14:19:55 +01:00
Mic Bowman
a14437ad5a
Add support for key, vector, rotation and list types for both
...
arguments and return values to the modInvoke family of functions.
See http://opensimulator.org/wiki/OSSL_Script_Library/ModInvoke
2012-03-24 22:43:42 -07:00
nebadon
6b87a29c86
fix yield prolog so it compiles with mono 2.11 there has been a bugzilla
...
report files with mono project in regards to this change, this simply
lets us move forward with using mono 2.11 for now :
https://bugzilla.xamarin.com/show_bug.cgi?id=4052
2012-03-23 02:22:57 -07:00
Justin Clark-Casey (justincc)
760010d6fb
Fix llGiveInventory() so that it checks the destination part for AllowInventoryDrop, not the source.
...
This allows llAllowInventoryDrop() to work.
Regression test added for this case.
2012-03-22 22:33:37 +00:00
Justin Clark-Casey (justincc)
c4b2d24f33
Add llGiveInventory() test from object to object where both objects are owned by the same user.
2012-03-22 22:17:07 +00:00
Justin Clark-Casey (justincc)
9949ac2f9f
refactor: Rename AvatarAnimations -> DefaultAvatarAnimations for code clarity since non-default animations are handled completely separately from this class
2012-03-22 00:10:41 +00:00
Justin Clark-Casey (justincc)
1a8769e6ef
Instead of loading default avatar animations in both SLUtil and AvatarAnimations, load just in AvatarAnimations instead.
...
This lets us remove the dependency of OpenSim.Framework.dll on data/avataranimations.xml, which is not necessary for ROBUST.
This commit also takes care of the odd situation where animations are stored and used internally with uppercase names (e.g. "STAND")
but scripts refer to them with lowercase names (e.g. "sit").
2012-03-21 23:57:39 +00:00
Justin Clark-Casey (justincc)
437f18bc41
Stop console command "xengine status" throwing an exception if there are no scripts in a region.
...
Addresses http://opensimulator.org/mantis/view.php?id=5940
2012-03-19 21:43:23 +00:00
Justin Clark-Casey (justincc)
4a57112f19
Add osGetInventoryDesc() as per http://opensimulator.org/mantis/view.php?id=5927
...
This allows one to get description data for a given prim inventory item.
Thanks MarcelEdward and GuduleLapointe!
2012-03-17 04:02:23 +00:00
Justin Clark-Casey (justincc)
9497a7c7bd
refactor: separate out console and status report generation parts of XEngine
2012-03-16 03:32:14 +00:00
Justin Clark-Casey (justincc)
c386b68373
Aggregate script execution times by linksets rather than individual prims.
...
This is for the top scripts report.
2012-03-16 01:31:53 +00:00
Justin Clark-Casey (justincc)
a4b01ef38a
Replace script-lines-per-second with the script execution time scaled by its measurement period and an idealised frame time.
...
The previous lines-per-second measurement used for top scripts report was inaccurate, since lines executed does not reflect time taken to execute.
Also, every fetch of the report would reset all the numbers limiting its usefulness and we weren't even guaranteed to see the top 100.
The actual measurement value should be script execution time per frame but XEngine does not work this way.
Therefore, we use actual script execution time scaled by the measurement period and an idealised frame time.
This is still not ideal but gives reasonable results and allows scripts to be compared.
This commit moves script execution time calculations from SceneGraph into IScriptModule implementations.
2012-03-16 00:34:30 +00:00
Mic Bowman
8b5298a62e
Protect the scriptmodulecomms interface.
2012-03-15 13:37:43 -07:00
Mic Bowman
402ff75d78
Adds a new script command 'modInvoke' to invoke registered functions
...
from region modules. The LSL translator is extended to generate the
modInvoke format of commands for directly inlined function calls.
A region module can register a function Test() with the name "Test".
LSL code can call that function as "Test()". The compiler will translate
that invocation into modInvoke("Test", ...)
2012-03-15 13:16:02 -07:00
Justin Clark-Casey (justincc)
acb1355ff2
Remove property/field duplication in ScriptInstance where it's unnecessary.
2012-03-15 02:02:31 +00:00
Justin Clark-Casey (justincc)
2d32401e23
Simplify some logic in the ScriptInstance constructor - running is set to false in both if/else branches
2012-03-15 01:32:16 +00:00
Justin Clark-Casey (justincc)
f0c1746063
minor: correct indentation levels
2012-03-15 01:26:38 +00:00
Justin Clark-Casey (justincc)
5ddda89238
Remove duplication of m_RunEvents and Running
2012-03-15 00:48:44 +00:00
Justin Clark-Casey (justincc)
2f81e53f63
Fix a problem where multiple near simultaneous calls to llDie() from multiple scripts in the same linkset can cause unnecessary thread aborts.
...
The first llDie() could lock Scene.m_deleting_scene_object.
The second llDie() would then wait at this lock.
The first llDie() would go on to remove the second script but always abort it since the second script's WorkItem would not go away.
Easiest solution here is to remove the m_deleting_scene_object since it's no longer justified - we no longer lock m_parts but take a copy instead.
This also requires an adjustment in XEngine.OnRemoveScript not to use instance.ObjectID instead when firing the OnObjectRemoved event.
2012-03-15 00:20:47 +00:00
Justin Clark-Casey (justincc)
12cebb12d5
Alleviate an issue where calling Thread.Abort() on script WorkItems can fail to release locks, resulting in a crippled simulator.
...
This seems to be a particular problem with ReaderWriterLockSlim, though other locks can be affected as well.
It has been seen to happen when llDie() is called in a linkset running more than one script.
Alleviation here means supplying a ScriptInstance.Stop() timeout of 1000ms rather than 0ms, to give events a chance to complete.
Also, we check the IsRunning status at the top of the ScriptInstance.EventProcessor() so that another event doesn't start in the mean time.
Ultimately, a better solution may have to be found since a long-running event would still exceed the timeout and be aborted.
2012-03-15 00:06:52 +00:00
Justin Clark-Casey (justincc)
95ec96bf86
refactor: rename ScriptInstance.m_CurrentResult to m_CurrentWorkItem to make it more understandable as to what it is and what it does (hold a thread pool work item for a waiting of in-progress event)
...
Also add other various illustrative comments
2012-03-14 00:29:36 +00:00
Justin Clark-Casey (justincc)
25592bbd85
Add max thread and min thread information to "xengine status" region console command
2012-03-12 21:16:05 +00:00
Diva Canto
824eb7ed20
Added osGetGridGatekeeperURI()
2012-03-10 19:51:28 -08:00
Justin Clark-Casey (justincc)
94e58ff6b9
Use SP.ParentPart instead of ParentID in places where it's more efficient (saving extra null checks, etc.)
...
However, it looks like we should retain SP.ParentID since it's much easier to use that in places where another thread could change ParentPart to null.
Otherwise one has to clumsily put ParentPart in a reference, etc. to avoid a race.
2012-03-09 02:38:11 +00:00
Melanie
42a7a85062
FireAndForget scripted rez - port from Avination
2012-03-09 00:57:49 +00:00
Justin Clark-Casey (justincc)
749c3fef8a
Change "help" to display categories/module list then "help <category/module>" to display commands in a category.
...
This is to deal with the hundred lines of command splurge when one previously typed "help"
Modelled somewhat on the mysql console
One can still type help <command> to get per command help at any point.
Categories capitalized to avoid conflict with the all-lowercase commands (except for commander system, as of yet).
Does not affect command parsing or any other aspects of the console apart from the help system.
Backwards compatible with existing modules.
2012-03-08 01:51:37 +00:00
Justin Clark-Casey (justincc)
98251cdab3
Add sensor, dataserver requests, timer and listener counts to "xengine status" command.
...
This is for diagnostic purposes.
2012-03-06 23:21:17 +00:00
Justin Clark-Casey (justincc)
b3449e998a
Fix TestSyntaxError() and TestSyntaxErrorDeclaringVariableInForLoop()
...
They were all failing assertions but the exceptions these threw were caught as expected Exceptions.
I don't think we can easily distinguish these from the Exceptions that we're expecting.
So for now we'll do some messy manually checking with boolean setting instead.
This patch also corrects the assertions themselves.
2012-03-06 02:30:22 +00:00
Justin Clark-Casey (justincc)
a92153ed88
Get all test methods in OpenSim.Region.ScriptEngine.Tests.dll to report that they're running
2012-03-06 02:21:19 +00:00
Justin Clark-Casey (justincc)
85198a45cb
Fix off by one error in script error reporting.
2012-03-06 02:01:47 +00:00
Justin Clark-Casey (justincc)
d8c4985527
Move SenseRepeaters.Count check inside the SenseRepeatListLock.
...
No methods in the List class are thread safe in the MS specification/documentation
2012-03-02 00:28:37 +00:00
Justin Clark-Casey (justincc)
dcfd05c8ea
lock SenseRepeatListLock when added a new sensor during script reconstitution.
...
This is already being done in the other place where a sensor is added.
Adding a sensor whilst another thread is iterating over the sensor list can cause a concurrency exception.
2012-03-02 00:22:23 +00:00
Mic Bowman
8a375f3c30
Adds an OSSL command for regular expression-based string replacement. Parameters
...
are osReplaceString(string source, string patter, string replace, integer count, integer start)
The count parameter specifies the total number of replacements to make, -1 makes
all replacements.
2012-03-01 14:49:49 -08:00
BlueWall
a2b0ed537e
Fix indexing on string trim
...
Thanks to zadark for pointing this out,
smxy for deciphering the ?: operator and
Plugh for the fix \o/ yay for IRC
2012-03-01 14:18:48 -05:00
PixelTomsen
01f454242d
PRIM_SCULPT_FLAG_INVERT, PRIM_SCULPT_FLAG_MIRROR implemented
...
http://opensimulator.org/mantis/view.php?id=5763
2012-02-25 15:33:33 +00:00
PixelTomsen
7b5e42c744
llGetLinkMedia, llSetLinkMedia, llClearLinkMedia implementation mantis: http://opensimulator.org/mantis/view.php?id=5756 http://opensimulator.org/mantis/view.php?id=5755 http://opensimulator.org/mantis/view.php?id=5754
2012-02-24 23:10:41 +00:00
Justin Clark-Casey (justincc)
f67f37074f
Stop spurious scene loop startup timeout alarms for scenes with many prims.
...
On the first frame, all startup scene objects are added to the physics scene.
This can cause a considerable delay, so we don't start raising the alarm on scene loop timeouts until the second frame.
This commit also slightly changes the behaviour of timeout reporting.
Previously, a report was made for the very first timed out thread, ignoring all others until the next watchdog check.
Instead, we now report every timed out thread, though we still only do this once no matter how long the timeout.
2012-02-24 05:02:33 +00:00
Justin Clark-Casey (justincc)
fe229f10e6
In osSetSpeed(), if no avatar for a uuid is found then don't attempt to set speed.
2012-02-24 04:08:59 +00:00
PixelTomsen
0b9f4d7e74
llLinkSitTarget implementation http://wiki.secondlife.com/wiki/LlLinkSitTarget
2012-02-24 00:58:11 +00:00
PixelTomsen
1c533eb520
Fix:LINK_ROOT flag for llGetLinkName() by SinglePrim
2012-02-21 23:15:33 +00:00
Justin Clark-Casey (justincc)
972f73ed2b
Make osNpcStopAnimation() call AvatarStopAnimation() rather than AvatarPlayAnimation()
2012-02-17 02:53:12 +00:00
Justin Clark-Casey (justincc)
c906128191
Fix some logic mistakes where firstly osNpcCreate() without options was creating npcs sensed as agents and secondly the OS_NPC_SENSE_AS_AGENT option was having the opposite effect.
...
Hopefully makes progress on addressing http://opensimulator.org/mantis/view.php?id=5872
2012-02-16 00:22:39 +00:00
Justin Clark-Casey (justincc)
b3d152f3ba
Fix an npc delete race condition with LSL sensors where an initial presence check could succeed but then the npc removed before the subequent npc check.
...
The resulting null would cause an exception. We now check for null before looking at SenseAsAgent.
Hopefully fixes http://opensimulator.org/mantis/view.php?id=5872
2012-02-10 21:26:05 +00:00
Justin Clark-Casey (justincc)
dbe32a1f6d
minor: put in commented out logging statements for future reuse
2012-02-09 00:10:45 +00:00
Justin Clark-Casey (justincc)
038d1bf742
Add a regression test to compile and start a script. Remove Path.GetDirectoryName when getting assembly loading path in Compiler.CompileFromDotNetText().
...
The Path.GetDirectoryName call in Compiler.CompileFromDotNetText is unnecessary since AppDomain.CurrentDomain.BaseDirectory is always a directory.
Later path concatenation is already done by Path.Combine() which handles any trailing slash.
Removing Path.GetDirectoryName() will not affect the runtime but allows NUnit to work since it doesn't add a trailing slash to AppDomain.CurrentDomain.BaseDirectory.
2012-02-07 17:44:37 +00:00
Justin Clark-Casey (justincc)
edc11a1d39
Add missing RCERR_UNKNOWN and RCERR_SIM_PERF_LOW LSL constants that would eventually be used by llCastRay(), though OpenSim does not use these yet.
2012-02-04 01:04:00 +00:00
Justin Clark-Casey (justincc)
09d6521361
Correct RC_* LSL constants used by llCastRay().
...
Many thanks to WhiteStar for doing the research on this.
2012-02-04 01:00:11 +00:00
Melanie
76a658324c
Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim
2012-02-03 00:07:23 +00:00
Melanie
447a66d660
Replace ParcelAccessEntry with a new struct, LandAccessEntry, which more
...
accurately reflects the data sent by the viewer. Add times bans and the
expiration of timed bans.
Warning: Contains a Migration (and nuts)
2012-02-02 23:40:56 +00:00
Justin Clark-Casey (justincc)
54d473e200
D'oh - we want to call llGetLinkNumberOfSides() in the LSL_Stub, not llGetLinkNumber().
2012-02-02 23:35:16 +00:00
Justin Clark-Casey (justincc)
264c83aec4
Add llGetLinkNumberOfSides to LSL_Stub and ILSL_Api
...
It already existed in LSL_Api but it also needs to exist in these two other places for a script to be able to see it.
Hopefully resolves http://opensimulator.org/mantis/view.php?id=5489
2012-02-02 22:48:36 +00:00
Justin Clark-Casey (justincc)
99e71222f0
Lay out script status in property per row format, since getting too long for console lines.
2012-02-01 00:27:42 +00:00
Justin Clark-Casey (justincc)
e3680f216e
Add count of events queued for a particular script in "scripts show" console command
2012-02-01 00:17:02 +00:00
Justin Clark-Casey (justincc)
8b3da1bff4
Make script console commands only show for selected region.
2012-02-01 00:10:07 +00:00
Justin Clark-Casey (justincc)
437de6743c
Implement "xengine status" console command to show various xengine stats
2012-02-01 00:07:06 +00:00
PixelTomsen
a98a146c50
Fix:llSetText - limited text to a maximum of 254 chars
...
mantis: http://opensimulator.org/mantis/view.php?id=5867
Signed-off-by: nebadon <michael@osgrid.org>
2012-01-31 10:17:38 -07:00
Garmin Kawaguichi
5e60afe5ed
Fix llEdgeOfWorld functionality - see mantis http://opensimulator.org/mantis/view.php?id=5865
...
Signed-off-by: nebadon <michael@osgrid.org>
2012-01-29 14:41:47 -07:00
Justin Clark-Casey (justincc)
7837c611fb
Add OS_NPC_SENSE_AS_AGENT option to osNpcCreate().
...
This allows NPCs to be sensed as agents by LSL sensors rather than as a specific NPC type (which is currently an OpenSimulator-only extension).
Wiki doc on this and other recent NPC functions will follow soon
2012-01-28 00:00:12 +00:00
Justin Clark-Casey (justincc)
31b87ff07b
Increment LPS script stat for OSSL functions that were not already doing this
2012-01-27 23:24:49 +00:00
Justin Clark-Casey (justincc)
7c1d075a5a
Implement osIsNpc(key npc):integer. This return TRUE if the given key belongs to an NPC in the region. FALSE if not or if the NPC module isn't present.
2012-01-27 23:17:13 +00:00
Justin Clark-Casey (justincc)
abf0dd4250
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-01-27 23:14:34 +00:00
Justin Clark-Casey (justincc)
9939f94f08
Implement osNpcGetOwner(key npc):key. This returns the owner for an 'owned' NPC, the npc's own key for an 'unowned' NPC and NULL_KEY is the input key was not an npc.
...
llGetOwnerKey() could also be extended but this does not allow one to distinguish between an unowned NPC and some other result (e.g. 'no such object' if NULL_KEY is the return.
Also, any future extensions to LSL functions by Linden Lab are unpredictable and OpenSim-specific extensions could clash.
2012-01-27 23:05:48 +00:00
PixelTomsen
616373db16
llManageEstateAccess implementation http://wiki.secondlife.com/wiki/LlManageEstateAccess
...
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-01-26 16:15:23 -05:00
Justin Clark-Casey (justincc)
13d9b64b1d
Re-enable error logging associated with assembly and script loading failure in ScriptInstance.
...
Swallowing exceptions just leads to more mysterious failures later on.
2012-01-26 00:28:51 +00:00
Justin Clark-Casey (justincc)
2de3a1b9da
refactor: decompose most of RezScript() into RezScriptFromAgentInventory(), RezNewScript() and rename one RezScript() to RezScriptFromPrim()
2012-01-25 23:22:07 +00:00
Pixel Tomsen
8f53c768f5
llGetParcelMusicURL implementation http://wiki.secondlife.com/wiki/LlGetParcelMusicURL
...
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-01-25 15:48:38 -05:00
BlueWall
8f871cca10
Add osGetGridHomeURI function
...
Add osGetHomeURI function to the family of osGetGrid* functions. Returns the SRV_HomeURI setting from the [LoginService] configuration.
2012-01-19 14:21:12 -05:00
BlueWall
ba7d8cedec
Add function osGetGridCustom
...
Add function osGetGridCustom to take an argument for the GridInfo kpv to retrieve from the GridInfoService
2012-01-17 22:38:36 -05:00
BlueWall
9ed9720861
Update osGetGrid**** functions
...
The osGetGrid**** functions will now get the grid settings from the GridInfoService. Set the GridInfoURI in your ./bin/config-include/GridCommon.ini [GridInfo] section.
2012-01-17 22:07:40 -05:00
nebadon
43173f1b0d
commented out redundant land owner checks for osTeleportAgent there is
...
no need for these checks just use Allow_osTeleportAgent = PARCEL_OWNER
also increased function to severe threat level to make it harder to
accidently enable it for everyone.
2012-01-14 18:36:46 -07:00
Justin Clark-Casey (justincc)
82f0e19349
Extend scripts show command to accept a single item UUID parameter to display one script's status
...
Usage is now scripts show [<script-item-uuid>]
2012-01-14 00:44:19 +00:00
Justin Clark-Casey (justincc)
b5bb559cc0
Register the UrlModule for script engine events OnScriptRemoved and OnObjectRemoved just once in the UrlModule itself, rather than repeatedly for every script.
...
Doing this in every script is unnecessary since the event trigger is parameterized by the item id.
All that would happen is 2000 scripts would trigger 1999 unnecessary calls, and a large number of initialized scripts may eventually trigger a StackOverflowException.
Registration moved to UrlModule so that the handler is registered for all script engine implementations.
This required moving the OnScriptRemoved and OnObjectRemoved events (only used by UrlModule in core) from IScriptEngine to IScriptModule to avoid circular references.
2012-01-14 00:23:11 +00:00
Mic Bowman
e1a2c44ebe
Cleaned up the LookAt code in SOP and SOG. Added support for incrementally
...
rotating physical objects. This does not use physics. Currently the rate
of change is determined as 1 / (PI * Strength).
2012-01-13 14:48:56 -08:00
Mic Bowman
adea92f8b7
Fix llRotLookAt and llLookAt for non-physical objects. Per conversation
...
with Melanie and Nebadon, SL behavior seems to be that non physical
objects snap to the request rotation.
2012-01-13 11:37:17 -08:00
Justin Clark-Casey (justincc)
3b59af2225
Change the default osNpcCreate() to create an 'owned' npc rather than an 'unowned' one.
...
An owned NPC is one that only the original creator can manipulate and delete.
An unowned NPC is one that anybody with access to the osNpc* methods and knowledge of the avatar id can manipulate.
This is to correct an oversight I made in the original reimplementation where I mistakenly assumed that avatar IDs could be treated as private.
I am not anticipating that many people were deliberately making use of unowned npcs due to their insecure nature.
If you do need an unowned NPC please call the new overloaded osCreateNpc() function with the option OS_NPC_NOT_OWNED.
2012-01-13 00:03:39 +00:00
Justin Clark-Casey (justincc)
6e7154d55c
Removing osNpcCreateOwned(). Please use osNpcCreate(string user, string name, vector position, string notecard, int options) instead with option OS_NPC_CREATOR_OWNED
...
Please note that correct option name is OS_NPC_CREATOR_OWNED not OS_NPC_CREATE_OWNED as mistakenly put in a previous commit.
2012-01-13 00:00:18 +00:00
Justin Clark-Casey (justincc)
47377f17c6
Add missing assert to confirm owner delete succeeded to the end of TestOsNpcRemoveOwned()
2012-01-12 23:46:43 +00:00
Justin Clark-Casey (justincc)
beab155434
Add api level test for removing an owned npc
2012-01-12 22:35:11 +00:00
Justin Clark-Casey (justincc)
caa207f59f
Add ossl level test for removing an unowned npc
2012-01-12 21:03:54 +00:00
Justin Clark-Casey (justincc)
c4972e7734
Add osNpcCreate(string firstname, string lastname, LSL_Vector position, string notecard, int options) variant.
...
This will be documented soon. Options can currently be
OS_NPC_CREATE_OWNED - creates a 'creator owned' avatar that will only respond to osNpc* functions made by scripts owned by the npc creator
OS_NPC_NOT_OWNED - creates an avatar which will respond to any osNpc* functions that a caller has permission to make (through the usual OSSL permission mechanisms).
options is being added to provide better scope for future extensibility without having to add more functions
The original non-options osNpcCreate() function will continue to exist.
2012-01-12 19:37:30 +00:00
Justin Clark-Casey (justincc)
d27dd3714f
Allow all NPCs to show up on sensors as all osNpc* script methods now check for ownership permission before executing.
...
As per #opensim-dev irc discussion.
2012-01-12 19:19:34 +00:00
Justin Clark-Casey (justincc)
ba3491c76e
Add permissions checks for owned avatars to all other osNpc* functions.
...
This is being done outside the npc module since the check is meaningless for region module callers, who can fake any id that they like.
2012-01-12 19:06:46 +00:00
Justin Clark-Casey (justincc)
b47c0d7e51
refactor: Move existing npc owner checks to NPCModule.CheckPermissions() methods and expose on interface for external calls.
2012-01-12 18:14:19 +00:00
Melanie
32eb7ddc37
Fix threat level setting on osNpcPlayAnimation
2012-01-07 18:09:53 +00:00
nebadon
58cb7cd084
fix a typo "osNpcCreated" to "osNpcCreate" in OSSL threat level check
2012-01-06 23:07:48 -07:00
Melanie
679d155a39
Fix some syntax issues
2012-01-06 23:08:18 +00:00
Melanie
9668992493
Add osNpcPlayAnimation and osNpcStopAnimation which respect ownership as well
2012-01-06 22:59:50 +00:00
Melanie
7518b075b7
Add osNpcCreateOwned to create an owned NPC. Those can be sensed only by the owner, can be destroyed only by the owner and only the owner can save their appearance. Added "NPC" as a flag to llSensor to sense NPCs and exclude them from "AGENT" results.
2012-01-06 22:35:06 +00:00
John Cochran
ff5a83d192
Fixed llAngleBetween() to allow denormal rotations
2012-01-06 21:14:42 +00:00
Justin Clark-Casey (justincc)
8c445dac67
Add script instruction count back to llRot2Euler. Other minor formatting/doc changes.
2012-01-06 21:12:22 +00:00
John Cochran
eb9bf71726
Replaced llRot2Euler function.
...
The original function suffered from unexpected results due to rounding
errors. An error of only 1 or 2 ulps would cause the code to not detect
a singularity at Y rotation +/- PI/2 and take the non-singularity code
path. The replacement code does not suffer from wildly inaccurate
results at the +/- PI/2 singularity. The check in the code for the
singularity isn't strictly needed, but gives more consistent results
At the singularity, the X and Z rotations add. The if check simply
forces the X rotation to be zero so the entirety of the X+Z rotation is
carried by Z.
Additionally, the test code has been updated to include test cases that
caused the old code to fail. The test algorithm is also updated to
perform a more meaningful test. The original code checked if the values
against expected values. This could fail at +/- PI rotations since a
rotation around an axis by PI causes the identical effect as a rotation
by -PI. The new test code checks that the returned angles can be used
to recreate a quaternion that causes the same rotation.
2012-01-06 21:08:54 +00:00
Melanie
fbb2a7e90d
Add ThreatLevel.NoAccess to OSSL. This allows to enable OSSL without enabling
...
any methods, even those without threat, automatically. It is for use with
setups wanting to allow only specific methods to specific users.
2012-01-06 17:37:22 +00:00
Melanie
5b52440e61
Introduce a LightShare kill packet ans send it when needed. Currently only
...
understood by AVN v0.3
2011-12-28 09:24:02 +00:00
Dan Lake
c34ab0ee66
Cleaned up ScenePresence parameters for Flying, WasFlying, FlyingOld and IsColliding
2011-12-12 02:43:38 -08:00
nebadon
8ae824ff09
Mantis 5816: osParseJSON Decoding Problems
...
osParseJSON uses hand-crafted decoding that has two issues
* does not seem to handle top-level JSON lists
* does not seem to handle unicode text
thanks otakup0pe!
2011-12-11 23:25:12 -07:00
Melanie
66f4ce354f
Fix CHANGED_TEXTURE and CHANGED_COLOR.
2011-12-05 19:01:14 +00:00
Justin Clark-Casey (justincc)
5bbfb082dd
Use agent.Animator.CurrentMovementAnimation in llGetAgentInfo() rather than asking for a new determination
2011-12-03 00:33:24 +00:00
Justin Clark-Casey (justincc)
5ba8ca5662
Rename ScenePresenceAnimator.GetMovementAnimation() -> DetermineMovementAnimation() for better code readability
2011-12-03 00:27:21 +00:00
BlueWall
19c10c892a
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2011-11-26 17:20:20 -05:00
BlueWall
ea0fc7b12c
Add missing property to llGetLinkPrimitiveParams
2011-11-26 17:06:28 -05:00
Justin Clark-Casey (justincc)
4efd9a3b7b
When removing an LSL sensor for a script (e.g. through llResetScript() or state change), don't also remove sensors for other scripts in the same prim.
...
Hopefully fixes http://opensimulator.org/mantis/view.php?id=4448 and http://opensimulator.org/mantis/view.php?id=4452
2011-11-26 01:55:36 +00:00
Justin Clark-Casey (justincc)
46e1bcb6b6
minor: remove mono compiler warning
2011-11-26 01:40:46 +00:00
Justin Clark-Casey (justincc)
cacc028835
If the entire simulator is shutting down then don't bother to unload the scripts from the appdomain in XEngine.
...
All the other actions (script state save, etc.) still occur.
This makes shutdown where there are many scripts vastly quicker.
2011-11-17 21:03:08 +00:00
Dan Lake
b8d50b10fb
Rename ForEachAvatar back to ForEachScenePresence. The other changes
...
from previous commit which sort out which iterator is used are left
intact. A discussion is needed as to what constitutes an avatar vs a
ScenePresence.
2011-11-03 17:53:51 -07:00
Dan Lake
94dc7d07eb
Renamed ForEachRootScenePresence to ForEachAvatar. Cleaned up calls to
...
the 3 iteration functions so more of them are using the correct
iteration for the action they are performing. The 3 iterators that seem
to fit all actions within OpenSim at this time are:
ForEachAvatar: Perform an action on all avatars (root presences)
ForEachClient: Perform an action on all clients (root or child clients)
ForEachRootClient: Perform an action on all clients that have an avatar
There are still a dozen places or so calling the old
ForEachScenePresence that will take a little more refactoring to
eliminate.
2011-11-03 17:06:08 -07:00
Dan Lake
a724ebacd7
Merge branch 'master' of git://opensimulator.org/git/opensim
2011-11-02 14:59:34 -07:00
Dan Lake
e2c51a977d
Changes UpdateFlag in SOP to an enumeration of NONE, TERSE and FULL.
...
UpdateFlag is now referenced/used only within SOP and SOG. Outsiders are
using ScheduleFullUpdate, ScheduleTerseUpdate or ClearUpdateSchedule on
SOP consistently now. Also started working toward eliminating those
calls to ScheduleFullUpdate, ScheduleTerseUpdate or ClearUpdateSchedule
from outside SOP in favor of just setting properties on SOP and let SOP
decide if an update should be scheduled. This consolidates the update
policy within SOP and the client rather than everywhere that makes
changes to SOP. Some places forget to call update while others call it
multiple times, "just to be sure".
UpdateFlag and Schedule*Update will both be made private shortly.
UpdateFlag is intended to be transient and internal to SOP so it has
been removed from XML serializer for SOPs.
2011-11-02 14:59:00 -07:00
Melanie
c5fb39e21f
Restore the recursive calling of PRIM_LINK_TARGET because the version I made
...
breaks LINK_SET et al.
2011-11-02 12:09:18 +00:00
Melanie
1b9ae3fb51
Some positioning fixes from AVN trunk
2011-11-02 12:02:44 +00:00
Melanie
b9e700b60d
Streamline PRIM_LINK_TARGET, eliminating a recursion and a failure scenario
2011-11-02 11:43:16 +00:00
Justin Clark-Casey (justincc)
61e97ee4c8
Remove completely unused SOG.Rotation parameter
...
We always use SOP.Rotation instead
2011-10-29 00:39:01 +01:00
Dan Lake
06577d7299
Continuation of previous checkin. Found more places where ForEachScenePresence can be changed to ForEachRootScenePresence.
2011-10-27 01:25:12 -07:00
Dan Lake
b98613091c
Added new ForEachRootScenePresence to Scene since almost every delegate passed to ForEachScenePresence checks for !IsChildAgent first. It consolidates child and root handling for coming refactors.
2011-10-27 00:42:21 -07:00
Justin Clark-Casey (justincc)
40bee97015
For now, comment out error message on new script engine console commands.
...
This causes false positives if a simulator has more than 1 region and the current region is 'root' since this sends the command separately to each region and each region has its own XEngine
2011-10-27 03:01:27 +01:00
Michelle Argus
41395d5443
Added optional owner classes to existing OSSL agent Permissions
...
PARCEL_GROUP, PARCEL_OWNER, ESTATE_MANAGER and REGION_OWNER can be combined with the existing agent uuid option to limit ossl functions to agents and owner classes.
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-10-26 10:35:50 -04:00
SignpostMarv Martin
9a28e7a4e0
Implementation of PRIM_OMEGA, but only for setting
...
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-10-26 08:41:07 -04:00
SignpostMarv Martin
059f4b6a3a
Implementing PRIM_LINK_TARGET, but only for setting params
...
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-10-26 07:47:44 -04:00
BlueWall
3fc47275cf
Add case to Lightshare/Windlight
...
Thanks thomax for a patch to add handling for Sun/Moon pos.
2011-10-22 13:06:34 -04:00
Dan Lake
8b20faf06c
Merge branch 'master' of git://opensimulator.org/git/opensim
2011-10-19 14:43:16 -07:00
Dan Lake
da794f34a5
Renamed and rearranged AvatarFactoryModule to eliminate redundant lookups of scene presence by client ID.
2011-10-19 14:41:44 -07:00
Justin Clark-Casey (justincc)
601dabb1b7
Extend scripts stop/start/suspend/resume console commands to allow action on a single script by giving the script item id (which can be found via scripts show).
...
Not an ideal way to do this on a region with many scripts. Needs refinement later.
2011-10-19 22:30:31 +01:00
Justin Clark-Casey (justincc)
32c3faedd6
Add "scripts stop" and "scripts start" console commands.
...
These will stop all running scripts and start all stopped scripts respectively.
A stopped script does not save any events for later processing.
2011-10-19 21:40:28 +01:00
Justin Clark-Casey (justincc)
f836710af5
minor: improve command help on scripts suspend/resume
2011-10-19 21:34:55 +01:00
Justin Clark-Casey (justincc)
5607fd3af8
Fix resume scripts.
...
On resume, we need to place requeue the script for event processing if there are any events on the queue.
Also need to do this under m_Script lock in order to avoid a race
2011-10-19 21:30:37 +01:00
Justin Clark-Casey (justincc)
3cf7fb4eca
Add "scripts suspend" and "scripts resume" commands.
...
These aim currently to suspend and resume all scripts.
However, resume isn't currently working due to what looks like a bug in resume functionality itself.
2011-10-19 20:53:24 +01:00
Justin Clark-Casey (justincc)
b45219065c
on log and "show scripts" messages, show script item UUID rather than asset UUID
...
The item ID is the one required for any script manipulation on the command line, so I think it's somewhat more useful to show this bearing in mind the limited space available
2011-10-19 20:26:05 +01:00
Justin Clark-Casey (justincc)
116fbe8258
add current script status to "scripts show" command (running, suspended, etc.)
2011-10-19 20:24:07 +01:00
Justin Clark-Casey (justincc)
ecad9f9fd5
Add "show scripts" command to show all scripts currently known to the script engine in the current region.
...
Also added synonym of "scripts show"
2011-10-19 20:09:02 +01:00
Justin Clark-Casey (justincc)
62a63f834b
refactor: Use SOP.SitTargetAvatar instead of calling a special GetAvatarOnSitTarget() which returned exactly the same thing
2011-10-17 02:04:20 +01:00
Justin Clark-Casey (justincc)
79c13cd997
rename OS_NPC_SIT_IMMEDIATE to OS_NPC_SIT_NOW since it's shorter and more understandable
...
This makes something like osNpcSit(npc, llGetKey(), OS_NPC_IMMEDIATE) now become
osNpcSit(npc, llGetKey(), OS_NPC_SIT_NOW);
This is why it's in development :)
2011-10-17 01:57:23 +01:00
Justin Clark-Casey (justincc)
de161585c0
Implement osNpcStand(<npc-id>)
...
Allows you to stand an NPC that has sat.
2011-10-17 01:56:25 +01:00
Justin Clark-Casey (justincc)
0c041ce12f
Implement osNpcSit(). This is still in development so don't trust it
...
Format is osNpcSit(<npc-uuid>, <target-uuid>, OS_NPC_SIT_IMMEDIATE)
e.g. osNpcSit(npc, llGetKey(), OS_NPC_SIT_IMMEDIATE);
At the moment, sit only succeeds if the part has a sit target set.
NPC immediately sits on the target even if miles away - they do not walk up to it.
This method is in development - it may change so please don't trust it yet.
Standing will follow shortly since that's kind of important once you're sitting :)
2011-10-17 01:42:31 +01:00
Justin Clark-Casey (justincc)
ee84c0589c
Don't execute rest of code in XEngine.RemoveRegion() and Close() if the module is disabled.
2011-10-14 01:06:43 +01:00
Justin Clark-Casey (justincc)
631d5e16ef
Get rid of some traces of the old pre-ROBUST grid architecture config
2011-10-12 21:51:34 +01:00
Justin Clark-Casey (justincc)
ea7366ddc6
When shutting down XEngine, log how many scripts are being shutdown so the user knows why they are waiting.
2011-10-12 19:42:04 +01:00
Pixel Tomsen
28f549bd64
osSetParcelDetails - PARCEL_DETAILS_CLAIMDATE
...
this new flag set parcels claim date
value 0 for this flag set current unixstamp
http://opensimulator.org/mantis/view.php?id=5725
2011-10-11 00:13:26 +01:00
Justin Clark-Casey (justincc)
19096bd391
Convert getLastReportedSimFPS() and getLastReportedSimStats() into more idiomatic LastReportedSimFPS and LastReportedSimStats on SimStatsReporter
2011-10-10 22:23:42 +01:00
Justin Clark-Casey (justincc)
2b290793ab
refactor: have lsl and ossl interrogate scene.StatsReporter directly rather than going through scene
...
I know this goes against the law of demeter but I don't think it's that useful here and I'd rather get rid of nasty little wrapper methods
2011-10-10 21:54:08 +01:00
Dan Lake
92c88121c7
Removed all refs to IClientAPI from IAttachmentsModule. Separated client handlers for attachments to call public interface and rearranged module file into sections
2011-10-04 14:40:39 -07:00
Dan Lake
bfa405e6f7
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2011-10-03 16:45:04 -07:00
Dan Lake
460946ad62
Removed redundant code in AttachmentsModule and simplified interfaces which converted back and forth between ScenePresence and IClientAPI. More to be done still.
2011-10-03 16:44:32 -07:00
Justin Clark-Casey (justincc)
c7d0d71666
trival tweak to trigger the continuous integration system
2011-10-04 00:37:02 +01:00
Justin Clark-Casey (justincc)
a8af0a5ba8
Return NULL_KEY from llGetTexture if a non-existent face is indicated, rather than ""
...
As per http://wiki.secondlife.com/wiki/LlGetTexture
2011-10-04 00:15:48 +01:00
Justin Clark-Casey (justincc)
8a6e6866d9
For llGetTexture(), if the face texture asset is in the inventory, return the inventory name rather than the asset UUID
...
This is as per http://wiki.secondlife.com/wiki/LlGetTexture
Applied patch in http://opensimulator.org/mantis/view.php?id=4552 with an additional break statement if an inventory item is found to exit early.
Thanks Michelle Argus!
2011-10-04 00:07:52 +01:00
Pixel Tomsen
c7db3df344
llGetLinkKey, llGetLinkName Fix for sitting Avatar
...
when an avatar sits on a prim, we get now his key & name ;-)
http://opensimulator.org/mantis/view.php?id=4476
2011-10-01 00:41:47 +01:00
Pixel Tomsen
528fcede6c
llAvatarOnLinkSitTarget Implementation
...
http://wiki.secondlife.com/wiki/LlAvatarOnLinkSitTarget
2011-09-29 01:08:05 +01:00
Justin Clark-Casey (justincc)
de19dc3024
refactor: rename SOG/SOP.GetProperties() to SendPropertiesToClient() to reflect what it actually does
...
This also makes it consistent with some other methods that send data to the client.
2011-09-15 18:58:58 +01:00
Justin Clark-Casey (justincc)
00f8946bd4
minor: if the script engine fails to find a prim for a script, also print out that prim's local id in the error message.
2011-09-12 22:44:14 +01:00
Oren Hurvitz
1dd904b78e
Delay loading scripts until the scene has finished loading
2011-09-09 23:01:05 +01:00
Micheil Merlin
28961dd1cf
llSetPrimitiveParams Prim type params precision errors
2011-09-09 22:53:45 +01:00
Justin Clark-Casey (justincc)
08bd16285d
When invoking any of the OSSL teleport functions, do it on a separate thread rather than the script thread.
...
This is to prevent the aborting of attachment script threads on teleport from aborting the one actually doing the teleport.
This allows OSSL teleport functions to work when invoked on scripts in attachments (and huds, I assume)
2011-09-07 23:55:41 +01:00
Justin Clark-Casey (justincc)
c491cdcb95
refactor: use SOG register target waypoints and rots directly instead of calling through the SOP, which doesn't make conceptual sense anyway.
2011-09-01 02:18:31 +01:00
Justin Clark-Casey (justincc)
7eca929686
Eliminate pointless checks of SOG.RootPart != null
...
It's never possible for SOG to have no RootPart, except in the first few picosends of the big bang when it's pulled from region persistence or deserialized
2011-09-01 02:11:00 +01:00
Justin Clark-Casey (justincc)
63bf710237
Fix issue with llGetTorque() where it would only ever return a zero vector.
2011-09-01 01:37:35 +01:00
Justin Clark-Casey (justincc)
095b3e5756
Remove pointless cluttering SOP.ParentGroup != null checks.
...
The only times when ParentGroup might be null is during regression tests (which might not be a valid thing) and when scene objects are being constructed from the database.
At all other times it's not possible for a SOP not to have a SOG parent.
2011-09-01 01:22:28 +01:00
Justin Clark-Casey (justincc)
33a894f3d2
refactor: move SOP.IsAttachment and AttachmentPoint up into SOG to avoid pointless duplication of identical values
2011-08-27 00:15:21 +01:00
Justin Clark-Casey (justincc)
15a514fcbc
refactor: simplify SOP.AttachedAvatar into SOG.AttachedAvatar
...
This does a tiny bit to reduce code complexity, memory requirement and the cpu time of pointlessly setting this field to the same value in every SOP
2011-08-26 23:06:41 +01:00
Micheil Merlin
cf42fcd978
llSetPrimitiveParams correct prim hollow for cases where limit should be 70%.
...
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-08-25 06:50:55 -04:00
Justin Clark-Casey (justincc)
cf3ffe5bb4
Fix llAttachToAvatar()
...
Apart from one obvious bug, this was failing because attempting to serialize the script from inside the script (as part of saving the attachment as an inventory asset) was triggering an extremely long delay.
So we now don't do this. The state will be serialized anyway when the avatar normally logs out.
The worst that can happen is that if the client/server crashes, the attachment scripts start without previous state.
2011-08-24 20:49:23 +01:00
Justin Clark-Casey (justincc)
97b207240e
rename AttachmentsModule.ShowDetachInUserInventory() to DetachSingleAttachmentToInv() for consistency and to reflect it's actual behaviour
2011-08-23 22:05:22 +01:00
Mic Bowman
ce011d7e44
Protect a check for default texture entry when setting alpha values. Apparently
...
if all faces have their own textures then the default texture is null
2011-08-23 10:52:12 -07:00
Snoopy Pfeffer
db91044593
Thanks Neil Canham for fixing bulk inventory updates, no sending BulkInventoryUpdate after accepting inventory items.
2011-08-22 14:51:43 +02:00
BlueWall
5e231acdce
Add avatar and attachments to llRegionSay
...
llRegionSay will now message avatars on chan 0
and will message attachments on the avatar that
listen on channels other than 0.
This behavior is consistant with the LL
implementation as tested on regions in Agni
with one exception: this implementation does
not include issue:
https://jira.secondlife.com/browse/SCR-66 ?
2011-08-20 12:36:35 -04:00
BlueWall
2787207aa2
Add llRegionSayTo
...
llRegionSayTo(key target, integer channel, string messasge)
Allows messages to be sent region-wide
to a particular prim.
2011-08-19 18:47:21 -04:00
Micheil Merlin
b80dfb6572
llGetPrimitiveParams fix prim hollow/hole shape value
2011-08-13 15:34:08 +01:00
Justin Clark-Casey (justincc)
76e0afe83f
tidy up some OSSL NPC parameter names
2011-08-12 02:46:44 +01:00
Justin Clark-Casey (justincc)
16ac5413dd
rename position parameter in osNpcMoveToTarget to target
2011-08-12 01:52:12 +01:00
Justin Clark-Casey (justincc)
aebd46a434
rename osNpcStopMoveTo() to osNpcStopMoveToTarget()
2011-08-12 01:32:49 +01:00
Justin Clark-Casey (justincc)
0a1bbc27d2
Allow the osNpcCreate() function to accept a notecard name or asset for initial appearance
2011-08-12 00:14:06 +01:00
Justin Clark-Casey (justincc)
d23d37d2aa
implement osNpcGetPos()
2011-08-11 23:36:22 +01:00
Justin Clark-Casey (justincc)
a21e98ae1a
implement osNpcGetRot() and osNpcSetRot()
...
Rotation works if done around the z axis. Anything else leads to random results.
2011-08-11 23:28:14 +01:00
Justin Clark-Casey (justincc)
b1ae930c6b
Implement osAgentSaveAppearance() to save the appearance of an avatar in the region to a notecard
...
This is separate from osOwnerSaveAppearance() so that owner saves can be allowed without allowing arbitrary avatar saves
2011-08-11 22:26:47 +01:00
Justin Clark-Casey (justincc)
50945dd560
add regression test for osNpcCreate when cloning an in-region avatar
2011-08-11 21:43:26 +01:00
Justin Clark-Casey (justincc)
83ca5a101d
Split out to-be-common setup stuff from TestOsOwnerSaveAppearance()
2011-08-11 20:56:18 +01:00
Justin Clark-Casey (justincc)
ee22569c92
only accept npc UUIDs to osNpc* functions, not names (except for create)
2011-08-11 02:19:13 +01:00
Justin Clark-Casey (justincc)
4402851b08
Get NPCs to revert to the correct 'resting' animation (e.g. stand or hover) after finishing their movement. This also fixes judder after an avatar has finished "go here"/autopilot movement in a viewer.
...
This meant reseting the SP.AgentControlFlags since the Animator uses these to determine the correct default animation.
2011-08-11 01:56:42 +01:00
Justin Clark-Casey (justincc)
7f499ff3f3
Add a OS_NPC_LAND_AT_TARGET option to osMoveToTarget()
...
Default for this function is now not to automatically land.
This allows better control by scripts when an avatar is going to be landing on a prim rather than the ground.
Stopping the avatar involves faking a collision, to avoid the pid controller making it overshoot.
A better approach would be to gradually slow the avatar as we near the target
2011-08-10 23:56:19 +01:00
Justin Clark-Casey (justincc)
fb92678b83
fly and no fly constants for osNpcMoveToTarget()
2011-08-10 22:34:42 +01:00
Justin Clark-Casey (justincc)
5d6c9644fa
early code to allow scripts to force npcs not to fly when moving to target
...
this is to allow walking on prims. it will be up to the script writer to be sure that there is a continuous path.
currently implemented in osNpcMoveToTarget(), but none of this is final.
2011-08-10 01:47:37 +01:00
Justin Clark-Casey (justincc)
195c1dc9b8
implement osNpcStopMoveTo() to cancel any current move target
2011-08-10 00:26:38 +01:00
Justin Clark-Casey (justincc)
795c8e6c22
Add osOwnerSaveAppearance() to help with setting up NPC appearances. Not yet ready for user use.
...
Adds regression test.
2011-08-09 22:05:47 +01:00
Justin Clark-Casey (justincc)
e869eeb0bf
Implement first draft functions for saving and loading NPC appearance from storage.
...
This works by serializing and deserializing NPC AvatarAppearance to a notecard in the prim inventory and making the required baked textures permanent.
By using notecards, we avoid lots of awkward, technical and user-unfriendly issues concerning retaining asset references and creating a new asset type.
Notecards also allow different appearances to be swapped and manipulated easily.
This also allows stored NPC appearances to work transparently with OARs/IARs since the UUID scan will pick up and store the necessary references from the notecard text.
This works in my basic test but is not at all ready for user use or bug reporting yet.
2011-08-09 03:51:34 +01:00
Justin Clark-Casey (justincc)
3e16a0fbdd
factor out common notecard caching code from 3 methods.
2011-08-09 00:12:41 +01:00
Justin Clark-Casey (justincc)
78d8ce3816
refactor: split out generic parts of osMakeNotecard() into a separate. Add method doc. Other minor tidies.
2011-08-08 23:22:47 +01:00
Justin Clark-Casey (justincc)
bda1a4be45
rename test SceneSetupHelpers -> SceneHelpers for consistency
2011-08-06 00:26:37 +01:00
Justin Clark-Casey (justincc)
c6c91e6599
refactor: Fold most SOP.ScriptSet* methods back into script code. Simplify.
2011-08-06 00:13:08 +01:00
Justin Clark-Casey (justincc)
61d49d4f63
rename NPC.Autopilot to NPC.MoveToTarget internally. Add method doc to INPCModule
2011-08-03 23:20:36 +01:00
Justin Clark-Casey (justincc)
7247ca1644
use constants in llGetObjectDetails() rather than magic numbers
2011-07-16 00:08:11 +01:00
Justin Clark-Casey (justincc)
0ee7a5ee81
If object is an attachment, make llGetVel() return the avatar's speed rather than the object's own zero speed.
...
As per http://opensimulator.org/mantis/view.php?id=5575
2011-07-15 23:36:32 +01:00
Justin Clark-Casey (justincc)
3e456163dd
Port implementation of llCastRay() from Aurora.
...
I haven't been able to test this since the viewer won't parse the llCastRay() function. Maybe some activation cap is missing. Could wait until it is activated by default in the viewer.
2011-07-12 22:13:15 +01:00
Justin Clark-Casey (justincc)
6963b8b046
refactor: Get LSLString(LSLInteger i) constructor to now call LSLString(int i) structure to remove code duplication.
2011-07-09 01:28:27 +01:00
Makopoppo
df586c9d25
Raw int numbers (ex.LSL Constants) are displayed like "1.000000" when type cast to string
2011-07-09 01:27:12 +01:00
Justin Clark-Casey (justincc)
f680c13495
Fix osMatchString() so that it reports all instance of pattern matches, not just the first one.
...
This is a slight adaptation of the patch in http://opensimulator.org/mantis/view.php?id=4568 which doesn't apply directly since the underlying code was changed by earlier makopoppo patches.
Thanks makopoppo!
2011-07-09 01:24:30 +01:00