dahlia
8b2af1071f
Add NaN and Infinity tests for SOP Velocity and Acceleration setters.
2015-02-16 23:51:37 -08:00
dahlia
78814a1533
Use a boolean flag to signal lookat is running instead of Quaternion.Identity so it can be a valid target orientation
2015-02-16 19:42:36 -08:00
dahlia
2700b096bc
Filter NaN and Infinity values at SOP AngularVelocity setter
2015-02-16 19:06:01 -08:00
dahlia
12119a9d7d
llLookAt() strength parameter should slow rotation as it is increased. Thanks Vegaslan for pointing this out.
2015-02-07 17:39:46 -08:00
dahlia
2ed1afd32b
llLookAt(): reduce and clamp strengh to reduce probability of overshoot
2015-02-07 14:17:37 -08:00
dahlia
506e62f815
llLookAt() and llRotLookAt(): all orientation updates now done via angular velocity manipulation. Also correct some orientation glitches during interpolation.
2015-02-06 22:36:26 -08:00
dahlia
3b7c3378f1
Manage Angular Velocity during llLookAt() rotation of physical objects
2015-02-05 23:13:06 -08:00
dahlia
ee810a2cb5
Set angular velocity in physics actor in SceneObjectPart.AngularVelocity setter. Enables llSetAngularVelocity()
2015-02-05 14:29:51 -08:00
Justin Clark-Casey (justincc)
a846e63c70
If [Permissions] serverside_object_permissions = false or the undocumented propogate_permissions = false, don't propogate permissions of prim inventory items.
...
This was a regression from 13f31fd (4 Nov 2013)
Relates to http://opensimulator.org/mantis/view.php?id=7399
2015-01-21 00:21:27 +00:00
Justin Clark-Casey
3247a7cb3e
refactor: capitalize SOP.moveToTarget() and stopMoveToTarget() in accordance with code guidelines and the rest of the methods.
2014-11-19 20:12:28 +00:00
Justin Clark-Casey
bdebd525db
Remove SOP.StopMoveToTarget scheduled update which is now being done in SOG.stopMoveToTarget() as of last commit 67e568
2014-11-19 19:16:03 +00:00
Justin Clark-Casey (justincc)
70953dbfcd
Fix issues where setting llSetTextureAnim(FALSE... did not work properly).
...
I ended up amalgamating patches from http://opensimulator.org/mantis/view.php?id=7313 and http://opensimulator.org/mantis/view.php?id=7318
Thanks a lot to both bobshaffer2 and cinderblocks.
2014-09-12 00:34:39 +01:00
Justin Clark-Casey (justincc)
099212167b
Implement STATUS_BLOCK_GRAB_OBJECT in llSetStatus()/llGetStatus() and correct effect of STATUS_BLOCK_GRAB
...
As per http://wiki.secondlife.com/wiki/LlSetStatus
Setting STATUS_BLOCK_GRAB_OBJECT prevents or allows move of a physical linkset by grab on any prim.
Setting STATUS_BLOCK_GRAB prevents or allows move of a physical linkset by grab on a particular prim.
Previously, setting STATUS_BLOCK_GRAB would prevent drag via all prims of the linkset.
2014-08-29 23:40:21 +01:00
Justin Clark-Casey (justincc)
1b75ec5647
Ignore whitespace when reading serialized XML objects.
...
This was previously effectively being done by XmlDocument in the multiple passes through the XML.
This change tells XmlReader to ignore whitespace. This also means changing arguments to use XmlReader instead of XmlTextReader (a descendent of XmlReader) directly.
XmlReader.Create() has been the recommend way to create XML readers since .NET 2.0 as per MS SDK and is the only way to specific ignore whitespace settings.
2014-08-29 19:08:23 +01:00
tglion
8b8e1b88ec
fixed object-collision issue after uncheck phantom-flag
...
Signed-off-by: Michael Cerquoni <nebadon2025@gmail.com >
2014-04-04 12:29:44 -04:00
Justin Clark-Casey (justincc)
6ac9c9c972
refactor: Use m_sittingAvatars to maintain the list of sitting avatars instead of two independent structures that do exactly the same thing
...
m_sittingAvatars code also already properly handles locking to avoid races.
2014-04-03 01:14:39 +01:00
Justin Clark-Casey (justincc)
e6d0dcd4e8
Fix bug where crossing to a neighbouring region and back again would trigger an exception, and a second recross would stop the user moving until relog
...
Also fixes an issue where sitting avatar counts became inaccurate after any cross.
Part of the problem was due to cloning code using MemberwiseClone() but not resetting certain collection structures.
Adds regression test for this case.
In relation to http://opensimulator.org/mantis/view.php?id=7050
2014-04-03 00:19:53 +01:00
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