PRIM_TEMP_ON_REZ and PRIM_MATERIAL are not implemented in
llSetPrimitiveParams so support for these is in the patch.
Also two deprecated functions throw errors. They are changed
to behave as in SL: llSetPrimURL - Does nothing except the sleep
(currently commented out) & llRefreshPrimURL shouts
"llRefreshPrimURL - not yet supported" on the error channel
* Inserts proper animation state names into data/avataranimations.xml file so that llGetAnimation() works as one would expect.
* Thanks StrawberryFride!
* This is a partial implementation of llGetAnimation that returns the name of the animation as stored in data/avataranimations.xml but not its state name (since we don't yet
have these).
* Thanks StrawberryFride
The following should silently fail when attached,
llBreakAllLinks, llBreakLink, llCreateLink.
The following should be restricted to avatars in the same sim,
llGetAgentInfo, llSameGroup, llGetAgentSize, llGetAnimationList.
Comment added to the following unimplemented functions,
llGetAgentLanguage, llGetAnimation.
llGetBoundingBox is completely unimplemented. The attached
patch contains a partial implementation for single prim
objects and standing, flying and ground sitting avatars.
In the case of an avatar sat on an object or multi-prim
objects only the bounding box of the root prim is returned.
llRezObject and llRezAtRoot ignored any velocity parameter.
The attached patch makes use of it if it is not a zero vector.
chat relaying via private channels, and old IRCBridgeModule
behaviour. also cleaning up IRCBridgeModule's OpenSim.ini
configuration variable names (still supporting "old" variable
names). refactored IRCChatModule into IRCConnector and incorporating
watchdog from IRCBridgeModule into IRCConnector.
enabling ChatModule to be used as a super-class and utilizing it in
ConciergeModule.
* Implement the linear impulse portion of llPushObject. We should have a lsl compatible implementation of that portion of the push. Angular.. well. still have yet to implement a torque accumulator.
* llPushObject respects the region and parcel settings for Restrict Push, it also respects GodMode as is defined in the LSL spec.
* Calculate an agents height in LLGetAgentSize() from apperance parameters rather than physics avatar numbers
* Another good looking patch from idb - thanks!
If prim is part of SOG, then ask the SOG to update the
position, rather than asking the part itself.
Ghosted child prims should no longer result from llSetPos.
Not sure if this is the right approach for all cases ,
would appreciate feedback on the patch.
The attached patch fixes mantis bug 2312 (llGetPos() returns incorrect
values for child prims where the root prim is rotated). Regression
tests still pass.
Incidentally AbsolutePosition which was used before looks a little
suspicious to me as its always going to return the wrong value if the
root prim is rotated. GetWorldPosition does take the rotation into
account, but AbsolutePosition is used in a lot of places. Though i
don't understand why there is both GetWorldPosition as well as
AbsolutePosition so I've left the latter alone.
[i also cleaned up some indent problems, --- dr scofield]
Attached is a patch for LLGround which was just plain broken and could
cause a runtime error. It now returns valid data with valid input (ie
the offset does not take the position off the edge of the sim), but a
runtime error will occur if invalid data is given.
On invalid data the LL servers return the ground height based on a
valid point closest to the effective position calculated using the
supplied offset. Is the OpenSim convention to replicate the LL servers
as closely as possible? If so I can submit an additional patch to
replicate the LL behaviour.
llSetLinkApha is not fully implemented and has not been updated
to use the recently added GetLinkParts and associated implementation
pattern as per llSetLinkColor and llSetLinkPrimitiveParams.
Implementation of llModifyLand() and There is a bug on
permission-check of land-terraforming: x an y-coordinates
are interchanged on function-call ExternalChecksCanTerraformLand.
Correct: x is west, and y is north. 2) Missing check of
"Other allow to terraform-flag" (Parcel.ParcelFlags.AllowTerraform)
In Second Life's implementation of llParseString2List(), all spacer
strings which occur within the source string are included in the
resulting list. In OpenSim's implementation, any spacers occurring
at the beginning of the string are discarded; furthermore, if multiple
spacers occur between non-spacer elements, or at the end of the source
string, only the first spacer is added to the resulting list;
the remainder are discarded.
Thank you, fusspawn, for an implementation of osGetSimulatorVersion.
This patch removes the llRequestSimulatorData(..., 128) hack and
implements the functionality as an osFunction.