Justin Clark-Casey (justincc)
d06c85ea77
Reinsert PhysicsActor variable back into SOP.SubscribeForCollisionEvents() in order to avoid a race condition.
...
A separate PhysicsActor variable is used in case some other thread removes the PhysicsActor whilst this code is executing.
If this is now impossible please revert - just adding this now whilst I remember.
Also makes method comment into proper method doc.
2013-07-13 00:29:07 +01:00
Robert Adams
1909ee70f8
Centralize duplicated code in SceneObjectPart for subscribing to
...
collision events. Improve logic for knowing when to add processing
routine to physics actor.
2013-07-11 16:57:07 -07:00
Justin Clark-Casey (justincc)
af9b17c545
minor: remove mono compiler warnings related to keyframe code
2013-07-08 23:52:40 +01:00
Diva Canto
1286677352
Try to normalize the creatorData of scene object parts with the trailing '/'. What a nightmare this '/' is!
2013-07-06 18:37:54 -07:00
teravus
d47a18fd09
* Adds KeyFrameMotion storage support to SQLite, just a note, seems that there's still something wrong with keyframed motion starting when the sim starts up, you have to 'select' and 'deselect' the prim again to get it to appear to move. Not sure what this is but maybe melanie_t can comment on this.
...
* Has a prim table migration.. that might take a while, hold on to your hats.
* Fixes a null-ref when shutting down while keyframed motion is active.
2013-06-11 08:56:20 -05:00
Melanie
81ad9255b5
Hook up Keyframe motion to almost everything. Failing to cross a sim border
...
may yield unexpected results in some cases. No database persistence yet,
2013-06-06 03:03:05 +01:00
Justin Clark-Casey (justincc)
02fe05f346
Fix issue where llSetPayPrice on either one of a clone prim in the same OpenSimulator session would change the prices on both prims.
...
This is because the PayPrice array refernence was being memberwise cloned and not the array itself.
Addresses http://opensimulator.org/mantis/view.php?id=6639
2013-05-24 00:41:47 +01:00
Justin Clark-Casey (justincc)
7d38f4940c
Implement llSetSoundQueueing().
...
This is controlled by the viewer, not the server.
So as per http://wiki.secondlife.com/wiki/LlSetSoundQueueing , only two sounds can be queued per prim.
You probably need to use llPreloadSound() for best results
2013-05-22 20:01:57 +01:00
dahlia
9ae24cac2f
Materials-capable viewers send ImageUpdate packets when updating materials that are normally sent via RenderMaterials CAP. This can cause a race condition for updating TextureEntry fields. Therefore filter any TextureEntry updates so they only update if something actually changed.
2013-04-19 00:35:06 -07:00
dahlia
ce043c5141
Allow changes to TextureEntry to propagate to viewers when MaterialID changes
2013-04-17 22:41:12 -07:00
Justin Clark-Casey (justincc)
7bf1986e91
Fix minor race condition in SOP.SitTargetOrientationLL where inconsistent values could be returned if the sit orientation was changed whilst the property was being fetched.
2013-04-03 00:24:33 +01:00
Justin Clark-Casey (justincc)
97f0c9da84
Use consistent GroupPosition value Make SOP.UpdateGroupPosition() rather than one that could change whilst the method is being executed.
2013-04-03 00:23:20 +01:00
Justin Clark-Casey (justincc)
c0319daa40
fix minor race condition in SOP.SitTargetPositionLL where inconsistency could occur if the sit target position changed whilst the property was fetched
2013-04-03 00:09:28 +01:00
Justin Clark-Casey (justincc)
3332af4060
minor: Make SOP.UpdateOffset() more consistent by checking against the same old OffsetPosition rather than one which may vary if it simultaneously changes.
2013-04-03 00:01:06 +01:00
Justin Clark-Casey (justincc)
a3c723ee30
Fix minor race condition where SOP.GetGeometricCenter() and GetCenterOfMass() could return results which were never the case if these values were changed whilst the method was running
...
No need to create new Vector3s since these are structs.
2013-04-02 23:48:55 +01:00
Melanie
9b83e53b28
Export permission, part two. Setting export perms for textures and clothing works. Setting perms for prims also works but they don't propagate correctly yet.
...
NOT FOR PRODUCTIN USE. Your database will need to be updated before you can use this!
2013-03-31 21:59:44 +01:00
Justin Clark-Casey (justincc)
23ae4c0a4d
Fix bug where CHANGED_REGION and/or CHANGED_TELEPORT weren't firing for scripts in attachments.
...
This was because the script resumption in AttachmentsModule was firing the attach event instead.
Had to reinstate the code in 285bd3a do we can resume the scripts there instead, though the bug existed before its removal.
This is to resolve http://opensimulator.org/mantis/view.php?id=6578
2013-03-29 02:21:38 +00:00
Melanie
5f4c4df227
Phase 1 of implementing a transfer permission. Overwrite libOMV's PermissionMask
...
with our own and add export permissions as well as a new definition for "All" as meaning "all conventional permissions" rather than "all possible permissions"
2013-03-26 03:40:06 +00:00
Justin Clark-Casey (justincc)
48d41ef307
Remove unnecessary instation of DOMap() in SOP from commit 5c53660 since this is being done lazily
2013-03-13 23:25:56 +00:00
Justin Clark-Casey (justincc)
5c53660a7f
Add prototype dynamic objects map for scene object parts
...
This allows region modules to add dynamic objects to SOPs rather than having to continually push and pull OSD dynamic attributes.
This is to explore the original MOAP use case for dynamic attributes where it could be very awkward and possibly time-consuming to keep reconstructing MediaEntrys from stored DynamicAttributes.
This commit adds a DOExampleModule to demonstrate/evolve this code.
Dynamic objects involve no storage or persistence changes - the 'backing store' for any data that does need to be saved will remain the DAMap.
DOExampleModule in this commit only attaches a fresh dynamic object. Actually constructing this from stored dynamic attributes and handling persistence is left for later.
These changes should affect no existing functionality, though it may or may not reveal necessary changes in DAMap down the road.
2013-03-13 22:59:06 +00:00
teravus
5097437e11
* Apparently, sometimes texture entries come in from the wire with no default texture defined.. so apply better fallback protection against that. The net result is clients will have their selected textures set when they would have previously had an ignored exception.
2013-03-08 19:32:47 -05:00
Robert Adams
5920abbf8d
Add EventManager events triggered when a SOP is added or removed
...
from the physical scene. Invocations added in SceneObjectPart.
2013-02-14 09:48:11 -08:00
Melanie
a2dad09172
Actually plumb the new values to physics.
2013-02-07 23:34:47 +00:00
Melanie
22675e6b14
Add some more code from Avination. This changes physics actor stuff around
...
to work with the new params. Not actually plumbed just yet.
2013-02-07 23:22:00 +00:00
Melanie
7bf33d333a
Plumb the path from the client to the extra physics params and back
2013-02-07 22:25:28 +00:00
Melanie
9089757ea2
Revert "Add plumbing for physics properties to get to the physics engine."
...
This reverts commit c658fa1c0d .
2013-02-07 21:05:58 +00:00
Robert Adams
c658fa1c0d
Add plumbing for physics properties to get to the physics engine.
...
Addition of entries to PhysicsActor and setting code in SceneObjectPart.
2013-02-07 11:10:15 -08:00
Melanie
6504e3d4ce
Rename "Bounciness" to "Restitution"
2013-02-07 03:30:02 +00:00
Melanie
e5beb480ea
Partial port of Avination's support for the new physics parameters.
...
Implements the parameters as properties, the serialization and
database storage (MySQL only). Implements llSetPrimitiveParams for
prim physics shape and the other 4 extra params. Only the prim shape type
"None" is currently functional. No support for the Viewer UI (yet), that
will be ported in due course. Lots more to port, this is a large-ish changeset.
2013-02-06 08:03:04 +00:00
Justin Clark-Casey (justincc)
2ce8a050e4
Remove very long unused IScriptHost and NullScriptHost
2013-02-06 02:15:54 +00:00
Oren Hurvitz
af6a7cf95d
Added DynAttrs to the serialized XML format of prims. When copying prims, use deep copy for DynAttrs.
2013-01-25 04:03:26 +00:00
Justin Clark-Casey (justincc)
a6d9c26365
Encapsulate an OSDMap in DAMap (was DynAttrsOSDMap) rather than inheriting from it
...
This is the easier way to give us control over locking, rather than asking that OSDMap IDictionary methods be virtual
2013-01-25 04:03:11 +00:00
Justin Clark-Casey (justincc)
1bd0b06ec1
Implement Dynamic Attributes for SOP and PBS. Implement storage in SQLite
2013-01-25 04:03:04 +00:00
teravus
878df52515
* This makes the non-physics llCastRay 'better'. It's not 'correctly working', and if you look deep enough, you see that the results are not really stable depending on the direction of the ray.
2013-01-23 21:58:51 -05: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
Robert Adams
daacd4deed
Fix exception reporting in SceneObjectPart so it logs what the exception is rather than just saying it happened.
2013-01-11 16:47:07 -08: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
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
Justin Clark-Casey (justincc)
494e6a5f11
minor: If the physics module tells us that an object has gone out of bounds, more helpfully log the name, id, position and region of that object.
2012-12-15 00:30:17 +00:00
Justin Clark-Casey (justincc)
750ad2d3af
Fix issue where calling llVolumeDetect(FALSE) would not remove phantom flag, causing subsequent issues if physics was re-enabled.
...
Added regression tests
Addresses http://opensimulator.org/mantis/view.php?id=6365
2012-12-14 22:15:40 +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
af39af1cc4
fixing a bug in SceneObjectPart.SendSound where sounds would always come from the root prim rather than the source prim
2012-10-29 23:39:00 +00:00
SignpostMarv
57940087d1
Factoring out a superfluous local variable & repeated assignment in SceneObjectPart.SendSound as linksets are only meant to have a single owner
2012-10-29 23:38:59 +00:00
SignpostMarv
22693304fb
removing superfluous lines from SceneObjectPart.SendSound
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
1c618843b8
formatting changes to SceneObjectPart.SendSound; consistent indentation
2012-10-29 23:38:58 +00:00
SignpostMarv
32db725dd7
SceneObjectPart.SendSound can exit early if a sound module was not found.
2012-10-29 23:38:58 +00:00
SignpostMarv
f4fe8763ad
Changing the logic order in the TaskInventory iterator of ScenObjectPart.SendSound, since we can currently have non-unique object inventory names so we should check the asset type first.
2012-10-29 23:38:58 +00:00
SignpostMarv
b42cfe49a2
Replacing double-if block in SceneObjectPart.SendSound with Util.Clip
2012-10-29 23:38:57 +00:00