Robert Adams
877bdcdce1
Rewrite of mega-region code to use new form of border checking.
...
This commit eliminates all of the 'border' class and list code and replaces
it with testing if in the current region.
Impacts: can make a mega-region out of varregions of the same size; and
mega-region combinations must be rectangular (not square but rectangular)
2014-02-15 16:01:43 -08:00
Oren Hurvitz
13f31fdf85
Refactored setting permissions when rezzing items: use the same function when rezzing from user inventory and prim inventory.
...
Also, fixed a bug: when rezzing a coalesced object from a prim's inventory, apply the coalesced object's name and description only to the first sub-object; not to all the objects in the coalescence. (This was already done correctly when rezzing from a user's inventory.)
2014-01-10 19:37:59 +00:00
Justin Clark-Casey (justincc)
5f0e763062
Remove unused sp.ParentPosition, which has not been used for some time
2013-11-29 02:48:59 +00:00
Justin Clark-Casey (justincc)
7cab41f422
refactor: replace verbose checks with String.IsNullOrEmpty where applicable.
...
Thanks to Kira for this patch from http://opensimulator.org/mantis/view.php?id=6845
2013-11-15 21:45:08 +00:00
Oren Hurvitz
0094971186
After finishing to edit an attachment, let other avatars see the changes. (The changes weren't visible before because updates to attachments aren't sent while the attachment is selected.)
2013-10-17 23:10:16 +01:00
Robert Adams
3dbf4a1002
BulletSim: remove chatty debug message from previous commit.
2013-09-11 09:12:09 -07:00
Robert Adams
e0b457d3c3
BulletSim: add position and rotation update for child prim physics update events. Normally, physics engines do not return updates for child prims so, under normal operation, this code should never execute. Will only be used when using flexible linkset linkages.
2013-09-11 09:12:07 -07:00
Robert Adams
b05cb3b2bf
Change collision logic in SceneObjectPart so land_collision will happen.
...
The previous logic would generate land_collision_start and land_collision_end
but would not generate the land_collision itself.
2013-09-09 14:50:33 -07:00
teravus
a6af561660
* Fix some threading issues in BulletXNA (the managed bullet library), this should better allow you to run it in multiple region scenarios (but why would you really want to do that?) Source in OpenSimLibs.
...
* Fixed a null ref during shutdown.
2013-08-20 21:09:17 -05:00
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