Melanie
6a2b673fca
Remove the return value from llGiveMoney and add llTransferLindenDollars. Also
...
make llGiveMoney async so the script thread is not held up waiting for comms
to an external server.
2013-01-23 19:45:36 +00:00
Robert Adams
95c53ecae7
Have SOP and LSL_Api call the proper GetCenterOfMass and GetGeometricCenter
...
routines on the physics engine. Won't make a difference for any
existing scripts since ODE always returned Vector3.Zero.
2013-01-21 15:55:54 -08:00
Talun
27e2ec177a
New constants for llGetObjectDetails
...
New constants for llGetObjectDetails OBJECT_CHARACTER_TIME,
OBJECT_ROOT, OBJECT_ATTACHED_POINT, OBJECT_PATHFINDING_TYPE,
OBJECT_PHYSICS, OBJECT_PHANTOM and OBJECT_TEMP_ON_REZ
also Pathfining constants, 3 of which are used by llGetObjectDetails
2013-01-19 01:50:16 +00:00
Talun
4f70e423df
Mantis 6507 keys returned by llGetAgentList incorrect for llList2Key
...
The type of the keys returned by llGetAgentList corrected to LSL_Key
2013-01-19 01:14:11 +00:00
Justin Clark-Casey (justincc)
74256c0cc4
Restore previous client AO behaviour by not allowing them to remove the default animation but continue to allow scripts to do so.
...
This keeps the fix from http://opensimulator.org/mantis/view.php?id=6327
and fixes the behaviour regression in http://opensimulator.org/mantis/view.php?id=6483
Animations may still exhibit different behaviour if both scripts and clients are adjusting animations.
A change in the behaviour of client AO to not remove all animations may be a better long term approach.
2013-01-18 22:57:09 +00:00
Justin Clark-Casey (justincc)
c8afc8523b
Implement non-wait co-operative termination of scripts for XEngine in addition to termination on wait.
...
This involves inserting opensim_reserved_CheckForCoopTermination() calls in lsl -> c# translation at any place where the script could be in a loop with no wait calls.
These places are for, while, do-while, label, user function call and manual event function call.
Call goes through to an XEngineScriptBase which extends ScriptBase.
IEngine is extended to supply necessary engine-specific parent class references and constructor parameters to Compiler.
Unfortunately, since XEngineScriptBase has to be passed WaitHandle in its constructor, older compiled scripts will fail to load with an error on the OpenSim console.
Such scripts will need to be recompiled, either by removing all *.dll files from the bin/ScriptEngines/<region-id> or by setting DeleteScriptsOnStartup = true in [XEngine] for one run.
Automatic recompilation may be implemented in a later commit.
This feature should not yet be used, default remains termination with Thread.Abort() which will work as normal once scripts are recompiled.
2013-01-17 23:39:09 +00:00
Justin Clark-Casey (justincc)
0963ece25b
Implement co-operative script termination if termination comes during a script wait event (llSleep(), etc.)
...
This makes use of EventWaitHandles since various web references indicate that Thread.Interrupt() can also cause runtime instability.
If co-op termination is enabled, then termination sets the wait handle instead of waiting for a timeout before possibly aborting the thread.
This allows the script to cleanly terminate if it's in a llSleep/LL function delay or the next time it enters such a wait without any timeout period.
Co-op termination is not yet testable since checking for termination request within loops that never trigger a wait is not yet implemented.
This commit, unlike 1b5c41c
, passes the wait handle as an extra parameter through IScript.Initialize() instead of passing IScriptInstance itself.
2013-01-16 02:07:43 +00:00
Justin Clark-Casey (justincc)
b8949024bc
Revert "Implement co-operative script termination if termination comes during a script wait event (llSleep(), etc.)"
...
Doing this as a favour to Melanie. This will be back with passing the wait handles directly to the api.
This reverts commit 1b5c41c14a
.
2013-01-16 01:45:09 +00:00
Justin Clark-Casey (justincc)
1b5c41c14a
Implement co-operative script termination if termination comes during a script wait event (llSleep(), etc.)
...
This makes use of EventWaitHandles since various web references indicate that Thread.Interrupt() can also cause runtime instability.
If co-op termination is enabled, then termination sets the wait handle instead of waiting for a timeout before possibly aborting the thread.
This allows the script to cleanly terminate if it's in a llSleep/LL function delay or the next time it enters such a wait without any timeout period.
Co-op termination is not yet testable since checking for termination request within loops that never trigger a wait is not yet implemented.
2013-01-16 00:12:40 +00:00
Justin Clark-Casey (justincc)
fccb03227e
Instead of passing separate engine, part and item components to script APIs, pass down IScriptInstance instead.
...
This is to allow the future co-operative script thread terminate feature to detect and act upon termination requests.
This splits the assembly and state loading out from the ScriptInstance() constructor to a separate Load() method
in order to facilititate continued script logic regression testing.
2013-01-15 21:13:22 +00:00
Justin Clark-Casey (justincc)
7232cedd2b
Set default particle burst count to 1 instead of 0 in any set particle system script call that does not have an empty list.
...
As per http://opensimulator.org/mantis/view.php?id=6353
2013-01-04 21:37:11 +00:00
Justin Clark-Casey (justincc)
7e45096314
Fix build break caused by missing ) from dce2809
.
...
Was hand-typing in a line of code I had tested before but not retested this time
2013-01-04 21:22:51 +00:00
Justin Clark-Casey (justincc)
dce2809137
Automatically grant sit-related llRequestPermissions() for subsequent avatars sitting on the same scene obejct, instead of wrongly popping up request permissions dialog.
...
Resolves http://opensimulator.org/mantis/view.php?id=6478
2013-01-04 21:18:53 +00:00
Justin Clark-Casey (justincc)
a3bf3a2aa5
refactor: simplify llGetNumberOfPrims() to return prim count + sitting avatar count rather than independently inspecting every scene presence
2013-01-04 20:56:39 +00:00
Justin Clark-Casey (justincc)
9869ca83b4
Fix llGetLinkName() to return the name of the last avatar sat as the last link number.
...
As per http://wiki.secondlife.com/wiki/LlGetLinkName
2013-01-04 20:54:11 +00:00
Justin Clark-Casey (justincc)
9503383887
Fix llGetLinkKey() to return the last sat avatar as the last link number.
...
As per http://wiki.secondlife.com/wiki/LlGetLinkKey
This is done by keeping a scene-object wide list of sitters.
This also fixes bugs in this function where linknums 0 and 1 weren't treated properly if there were sitting avatars on a single prim.
This also fixes a minor race condition for multiple concurrent sitters on a prim with no current sitters by locking on the object-wide list rather than individual sop lists
Addresses http://opensimulator.org/mantis/view.php?id=6477
2013-01-04 20:34:39 +00:00
SignpostMarv
a5ac6af16a
Improving documentation of AttachToAvatar and GetLine methods in LSL_Api.cs based on doxygen error output
2013-01-03 00:17:24 +00:00
Justin Clark-Casey (justincc)
30e5e5cce6
If an NPC is unowned, then always auto-grant permissions requested via llRequestPermissions()
...
This is consistent with all other OSSL NPC functions that allow unowned avatars to be manipulated.
Aims to address http://opensimulator.org/mantis/view.php?id=6483
2013-01-02 19:25:52 +00:00
Robert Adams
4914d6c0ea
Resolve Mantis 6480 ( http://opensimulator.org/mantis/view.php?id=6480 )
...
by reversing the sign on the recoil computation and adding a
[XEngine]RecoilScaleFactor parameter which defaults to zero.
Testing in SL seems to show that there is not a recoil action there.
Or, at least, it is very small. If someone knows how small, the default
for the scale factor should be changed.
2012-12-31 19:57:20 -08:00
Robert Adams
d15bfcf614
Replace axis rotation numeric constants (STATUS_ROTATE_XYZ) with symbols. Also made it so llSetStatus() can individually enable disable rotation axi using the bitmask of flags.
2012-12-18 19:25:40 -08:00
BlueWall
ac65085cc3
XmlRpcGridRouter
...
Flesh out XmlRpcGridRouter to reap unused channels from gateway when scripts or objects are removed, or when the llCloseRemoteDataChannel is called.
See: http://http://forge.opensimulator.org/gf/project/xmlrpcrouter/ or
https://github.com/BlueWall/XmlRpcRouter
for php gateway and test code.
2012-12-03 20:16:44 -05:00
PixelTomsen
64c80aec64
llSetLinkCamera implementation
...
wiki: http://wiki.secondlife.com/wiki/LlSetLinkCamera
mantis: http://opensimulator.org/mantis/view.php?id=6397
2012-11-09 14:31:56 -08:00
Melanie
236cc1f268
Change user message on TeskInventoryAccepted to let the viewer format it
...
properly
2012-11-05 00:05:01 +00:00
SignpostMarv
dcac2a7f71
refactoring llCollisionSound to use new KeyOrName method
2012-10-29 23:39:01 +00:00
SignpostMarv
a9999a9676
Refactoring llTriggerSoundLimited with a new method on ISoundModule, as the LL Wiki spec for llTriggerSoundLimited states an axis-aligned bounding box, not radial constraint
2012-10-29 23:39:01 +00:00
SignpostMarv
ef15711089
refactoring llTriggerSoundLimited to not use the LSL methods, since that will cause unnecessary calls to m_host.AddScriptLPS(1)
2012-10-29 23:39:00 +00:00
SignpostMarv
af9dc483e9
refactoring llGetPos() to take advantage of implicit converter
2012-10-29 23:39:00 +00:00
SignpostMarv
f9923d4423
shifting from two instances of typecasting to one instance of typecasting in llTriggerSoundLimited
2012-10-29 23:39:00 +00:00
SignpostMarv
c796f7861e
80-character width terminal formatting of recent commits to llPlaySound, llPlaySoundSlave, llTriggerSound and llTriggerSoundLimited
2012-10-29 23:39:00 +00:00
SignpostMarv
c5af16aef8
shuffling code around so that the interface for ISoundModule.SendSound() specifies a UUID rather than a string
2012-10-29 23:39:00 +00:00
SignpostMarv
5abcecc735
moving SendSound from SceneObjectPart to ISoundModule
2012-10-29 23:39:00 +00:00
SignpostMarv
9df510157e
deduplicating code into a single LoopSound method
2012-10-29 23:38:59 +00:00
SignpostMarv
d7ffcace8f
adjusting parameter order of PreloadSound to be more logical
2012-10-29 23:38:59 +00:00
SignpostMarv
29a8ae48b5
transposing LoopSoundMaster to Sound Module
2012-10-29 23:38:59 +00:00
SignpostMarv
a68e2fe169
transposing preload sound onto sound module
2012-10-29 23:38:58 +00:00
SignpostMarv
8763a637b5
transposing stop sound into sound module
2012-10-29 23:38:58 +00:00
SignpostMarv
206a694c6b
moving comment for llStopSound inside the method block prior to transposition to sound module
2012-10-29 23:38:58 +00:00
SignpostMarv
7560010f34
Immediately setting gain to zero as a workaround for code not stopping sound started by llPlaySound
2012-10-29 23:38:56 +00:00
Melanie
1c5f6e48b8
Separate LSL's notion of the default anim from the actually playing anims.
2012-10-26 21:23:20 +01:00
Justin Clark-Casey (justincc)
d9aaf51561
When scripts generate expected exceptions (e.g. due to checked bad parameter) throw ScriptException instead of just a plain old exception.
...
This is to make it easier to distinguish these exceptions from unexpected OpenSimulator problems internally and in regression tests.
No functional changes.
2012-10-25 02:52:20 +01:00
SignpostMarv
af5383e479
altering documentation for llGetLinkName, as the current documentation is rather lengthy for a "summary".
2012-10-19 02:48:59 +01:00
SignpostMarv
645e3171b4
since llGetLinkName has a "simplest case", it should be the first check made.
2012-10-19 02:48:59 +01:00
SignpostMarv
597df51f91
the simplest case for llGetLinkName also applies to the LINK_THIS constant
2012-10-19 02:48:59 +01:00
SignpostMarv
ec044537d5
ensuring that operand order in llGetLinkName is internally consistent
2012-10-19 02:48:59 +01:00
Justin Clark-Casey (justincc)
ab0294f010
Add missing category paremeter to llGiveInventoryList grid IM construction.
...
This was a regression from 16c9c1df
Sat Oct 6 02:34:49 2012 +0100.
Should resolve http://opensimulator.org/mantis/view.php?id=6360
2012-10-16 01:33:35 +01:00
Justin Clark-Casey (justincc)
330b976a62
Improve on TBG Renfold's fix to llRequestSimulatorData DATA_SIM_POS by only performing HG regionflags service check if the region secret is not empty.
...
An empty RegionSecret is never HG, whilst a non-empty one may be HG or being genuinely used as a RegionSecret.
2012-10-13 01:03:09 +01:00
TBG Renfold
f6e166cd0b
Now using region flags for llRequestSimulatorData DATA_SIM_POS.
...
If the region is not classed a hypergrid region, then the region secret is checked to make sure that it is a valid UUID.
Just a temporary fix at this time.
2012-10-13 00:50:34 +01:00
Justin Clark-Casey (justincc)
16c9c1dff7
On receiving TaskInventoryAccepted with a destination folder in the binary bucket slot for RLV, notify the viewer about inventory folder updates.
...
The viewer would not see the folder move without this, either on accept or decline.
This commit also updates the TaskInventoryOffered message to better conform with the data LL uses
Changes are, agentID is prim owner rather than prim id, agent name is now simply object name rather than name with owner detail,
message is just folder name in single quotes, message is not timestamped.
However, folder is not renamed "still #RLV/~<name>". Long term solution is probably not to do these operations server-side.
Notes will be added to http://opensimulator.org/mantis/view.php?id=6311
2012-10-06 02:34:49 +01:00
Melanie
653a98e891
Fix a viewer crash issue
...
Conflicts:
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2012-10-03 17:39:13 +01:00
Justin Clark-Casey (justincc)
5df3944607
Fix llListFindList() returning no match when there is a match with a script constant component in the source list.
...
Adds regression test for this case.
Based on http://opensimulator.org/mantis/view.php?id=6156
Thanks SignpostMarv.
2012-09-22 00:23:25 +01:00
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
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
6b277394c0
refactoring as the list funcs either skip invalid values or recall ToDoubleList
2012-08-30 00:10:28 +01: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
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
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
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
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
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
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
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
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
SignpostMarv
0aa1f1cc3f
Implementing PRIM_LINK_TARGET in a non-recursive fashion
2012-08-15 22:58:33 +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
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
Melanie
3f6dfa92ab
Return world rotation on llGetObjectDetails()'s OBJECT_ROT
2012-07-29 16:05:35 +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)
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
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)
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)
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
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
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
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)
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)
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
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)
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
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
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
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
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
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
Talun
08e509978d
Mantis 55025 Implement script time.
...
Signed-off-by: nebadon <michael@osgrid.org>
2012-04-12 18:44:00 -07: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
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
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)
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
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
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
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
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
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)
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
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
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
Dan Lake
c34ab0ee66
Cleaned up ScenePresence parameters for Flying, WasFlying, FlyingOld and IsColliding
2011-12-12 02:43:38 -08: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
ea0fc7b12c
Add missing property to llGetLinkPrimitiveParams
2011-11-26 17:06:28 -05: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
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
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
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)
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)
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