Commit Graph

569 Commits (f8603a215d142f3b83a5ff1dc022b716b3e48f99)

Author SHA1 Message Date
Justin Clark-Casey (justincc) 28c4dc9be4 Fix NPC sitting for prims without a sit target.
This is to partially address http://opensimulator.org/mantis/view.php?id=5769
We don't need to call SP.HandleAgentSit() again if we are within 10m since the autopilot won't trigger.
By calling it twice, the position of the sitting NPC was wrongly adjusted, ending up near <0,0,0>.
However, this change does mean that NPCs further than 10m away will not attempt to autopilot to the prim, though this code was broken anyway (is actually a different mechanism to normal NPC movmeent).
Hopefully this can be addressed soon.
2011-11-05 01:38:42 +00:00
Melanie 24235006f4 Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs
	OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs
	OpenSim/Region/CoreModules/LightShare/LightShareModule.cs
	OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
2011-11-04 01:18:37 +00: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
Melanie 243acef917 Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneGraph.cs
	OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2011-11-03 00:06:14 +00: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 083b28de8c Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
2011-10-30 10:16:25 +00:00
Justin Clark-Casey (justincc) 0fe756e42c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-28 23:16:46 +01:00
Justin Clark-Casey (justincc) 7b46506822 fetch SOP.RotationOffset once in UpdateRotation() and compare rather than fetch four separate times.
No functional change.
2011-10-28 23:15:51 +01:00
Melanie b975cbcbed Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs
	OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs
	OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs
	OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2011-10-27 18:14:38 +01:00
Dan Lake 06577d7299 Continuation of previous checkin. Found more places where ForEachScenePresence can be changed to ForEachRootScenePresence. 2011-10-27 01:25:12 -07:00
Justin Clark-Casey (justincc) 820242bc49 Fix a bug I introduced yesterday in ODE physics where prim scripts would only receive the very first collision. 2011-10-27 02:05:59 +01:00
Melanie fd22159d0c Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Framework/Watchdog.cs
2011-10-26 01:27:24 +01:00
Justin Clark-Casey (justincc) c825c9a945 Get rid of the pointless null checks on collision listeners. Add warning about synchronicity for PhysicsActor.OnCollisionUpdate event doc 2011-10-25 22:35:00 +01:00
Justin Clark-Casey (justincc) 5d37f0471e For ScenePresence collision events, instead of creating a new CollisionEventsThisFrame every time we need to send some new ones, reuse the existing one instead.
This assumes that the listener is using the data synchronously, which is currently the case.
2011-10-25 22:19:17 +01:00
Melanie b7237ef059 Merge commit '62a63f834b7cc056ee37c396034d0e268f66b4a8' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-10-25 02:35:33 +01:00
Melanie e2de57ca29 Merge commit '0c041ce12f393367e2754e88d9b8dad5e45f88c4' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-10-25 02:26:56 +01:00
Melanie f50538c81a Merge commit '528cc8136e567b5bac583728fbb0235baaba2f02' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
2011-10-25 01:55:01 +01:00
Melanie 3cdea11e29 Merge commit '5ddefc256468e4b394d82a2c4bc69fe28c4b59ea' into bigmerge 2011-10-25 01:54:07 +01:00
Melanie 8841b77cd1 Merge commit '3843efe478ed682fd08bf12ea8bd7377c68a36fb' into bigmerge 2011-10-25 01:53:53 +01:00
Melanie 9dd7d9c16c Merge commit 'f2889d7ce97a01086dc7fc0690865a1eae452364' into bigmerge 2011-10-25 01:53:24 +01:00
Melanie 28d2103439 Merge commit '732e9373795a35ed1965bbb93a02117fcf0a8c3e' into bigmerge 2011-10-25 01:53:02 +01:00
Melanie e43e1b49db Merge commit 'c93c9ea072f319125f466c913f5f4fe1f6864045' into bigmerge 2011-10-25 01:52:54 +01:00
Melanie 2895789bd0 Merge commit 'aa19ccf65c9cd235e0ba941e9832c5240df4412c' into bigmerge 2011-10-25 01:51:24 +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) 0c041ce12f Implement osNpcSit(). This is still in development so don't trust it
Format is osNpcSit(<npc-uuid>, <target-uuid>, OS_NPC_SIT_IMMEDIATE)
e.g. osNpcSit(npc, llGetKey(), OS_NPC_SIT_IMMEDIATE);
At the moment, sit only succeeds if the part has a sit target set.
NPC immediately sits on the target even if miles away - they do not walk up to it.
This method is in development - it may change so please don't trust it yet.
Standing will follow shortly since that's kind of important once you're sitting :)
2011-10-17 01:42:31 +01:00
Justin Clark-Casey (justincc) 528cc8136e fetch physical_prim switch from [Startup] config from inside scene, as is done for most other scene config params 2011-10-15 02:54:43 +01:00
Justin Clark-Casey (justincc) 5ddefc2564 remove now redundant m_physical_prim flag from SOP.ApplyPhysics() 2011-10-15 02:47:27 +01:00
Justin Clark-Casey (justincc) 3843efe478 Restore [Startup] physical_prim flag which can stop any prims being subject to physics
This had stopped working.  However, at the moment it still allows the physics flag to be set even though this has no effect.  This needs to be fixed.
Default for this flag is true as previously.
2011-10-15 02:42:43 +01:00
Justin Clark-Casey (justincc) f2889d7ce9 remove redundant PhysActor.IsPhysical call from SOP.UpdatePrimFlags() as its done immediately afterwards in DoPhysicsPropertyUpdate() 2011-10-15 02:12:46 +01:00
Justin Clark-Casey (justincc) 732e937379 refactor: Remove redundant code in SOP.UpdatePrimFlags() 2011-10-15 02:07:05 +01:00
Justin Clark-Casey (justincc) c93c9ea072 factor common code out into SOP.RemoveFromPhysics() 2011-10-15 02:02:39 +01:00
Justin Clark-Casey (justincc) aa19ccf65c refactor: rename IClientAPI.SendPrimUpdate() to SendEntityUpdate() since it sends entity updates (including presence ones), not just prims. 2011-10-14 01:45:46 +01:00
Melanie e3effc4974 Merge branch 'master' into bigmerge 2011-10-12 07:29:35 +01:00
Melanie 7891433148 Merge commit '56dbab35e122e724c9277b05820417a05ad8a1be' into bigmerge 2011-10-11 23:16:43 +01:00
Melanie a157fdedcf Merge commit '2b2580e3a12d5c493f9a77bf9435ca32a0a0355c' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
2011-10-11 23:08:07 +01:00
Melanie 83ec064868 Merge commit 'bec0cbe82b0de1b5fa8e214a0cc59d0db1f25959' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
2011-10-11 22:53:27 +01:00
Justin Clark-Casey (justincc) fe3594c5ea Start recording object updates per second statistic (analogue of agent updates per secod) and expose via monitoring module as ObjectUpdatePerSecondMonitor
A useful diagnostic to find out how object updates are burdening a scene
2011-10-11 22:17:05 +01:00
Melanie 6978ae0a59 Merge commit 'b2356340d22578143af2daab979ea4633faa93dc' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-10-11 22:11:44 +01:00
Melanie cc1fe354d0 Merge commit 'de19dc3024e5359f594d0a32c593d905163c24ea' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
2011-10-11 21:21:44 +01:00
Justin Clark-Casey (justincc) 56dbab35e1 Remove unimplementated UpdateMovement() methods from SOG, SOP.
SP still has an implementation but this is now just a public method on SP rather than an abstract one in EntityBase.
No point making the code more complex until it actually needs to be,
2011-10-01 01:26:50 +01:00
Snoopy Pfeffer 2b2580e3a1 Fix for rezzing and derezzing HUDs (see Mantis #5406). From now on updates are only sent to affected clients. 2011-09-25 00:51:43 +02:00
Justin Clark-Casey (justincc) bec0cbe82b remove unused SOP.Create() method 2011-09-23 22:20:15 +01:00
Justin Clark-Casey (justincc) de19dc3024 refactor: rename SOG/SOP.GetProperties() to SendPropertiesToClient() to reflect what it actually does
This also makes it consistent with some other methods that send data to the client.
2011-09-15 18:58:58 +01:00
Tom cda4cd6b55 Merge fixes, and fix the build 2011-09-14 18:46:42 -07:00
Tom 03f6734f43 First set of merge fixes 2011-09-07 09:42:18 -07:00
Tom 66dec3b874 Resolve merge commits, stage 1 2011-09-04 07:06:36 -07:00
Justin Clark-Casey (justincc) af7c6c5f39 stop passing FromUserInventoryItemID right down into the deserializer.
the code becomes simpler if this is set from the outside - only one place needs to do this.
2011-09-02 00:50:16 +01:00
Justin Clark-Casey (justincc) 9c0a03731d Move more of IAM.RezObject() into DoPreRezWhenFromItem() 2011-09-02 00:41:21 +01:00
Justin Clark-Casey (justincc) c491cdcb95 refactor: use SOG register target waypoints and rots directly instead of calling through the SOP, which doesn't make conceptual sense anyway. 2011-09-01 02:18:31 +01:00
Justin Clark-Casey (justincc) 10d883dc88 refactor: use ParentGroup.UUID directly instead of SOP.GetRootPartUUID() 2011-09-01 01:41:53 +01:00
Justin Clark-Casey (justincc) 63bf710237 Fix issue with llGetTorque() where it would only ever return a zero vector. 2011-09-01 01:37:35 +01:00
Justin Clark-Casey (justincc) 095b3e5756 Remove pointless cluttering SOP.ParentGroup != null checks.
The only times when ParentGroup might be null is during regression tests (which might not be a valid thing) and when scene objects are being constructed from the database.
At all other times it's not possible for a SOP not to have a SOG parent.
2011-09-01 01:22:28 +01:00
Justin Clark-Casey (justincc) 33a894f3d2 refactor: move SOP.IsAttachment and AttachmentPoint up into SOG to avoid pointless duplication of identical values 2011-08-27 00:15:21 +01:00
Justin Clark-Casey (justincc) 15a514fcbc refactor: simplify SOP.AttachedAvatar into SOG.AttachedAvatar
This does a tiny bit to reduce code complexity, memory requirement and the cpu time of pointlessly setting this field to the same value in every SOP
2011-08-26 23:06:41 +01:00
Robert Adams bb5b396fc5 Fix exception when using BasicPhysics 2011-08-19 00:53:57 +01:00
Justin Clark-Casey (justincc) cba40de109 extend phantom flag regression test to toggle back off 2011-08-06 00:22:14 +01:00
Justin Clark-Casey (justincc) c6c91e6599 refactor: Fold most SOP.ScriptSet* methods back into script code. Simplify. 2011-08-06 00:13:08 +01:00
Justin Clark-Casey (justincc) ba89fc3aa1 Add regression test for setting phantom status on a scene object. This is not yet complete. 2011-08-05 23:42:05 +01:00
Justin Clark-Casey (justincc) b757583662 Comment out SOP logging message I accidentally left in 2011-07-31 03:41:35 +01:00
Justin Clark-Casey (justincc) aea7007533 refactor: split out ninja joint part of SOP.DoPhysicsPropertyUpdate() so that we don't have to look at it if it's not relevant 2011-07-31 02:50:50 +01:00
Justin Clark-Casey (justincc) d917010433 minor: Add method doc to collision subscription methods. Change method case to reflect OpenSim standards. 2011-07-30 03:11:36 +01:00
Justin Clark-Casey (justincc) aadc4eb3b8 Fix problem where sculpts were not getting physical proxies
Fixed this by inspecting Shape.SculptEntry at various places instead of Shape.SculptType.  Sculpties actually have a SculptType of Cylinder - only true mesh is SculptType.Mesh
This addresses http://opensimulator.org/mantis/view.php?id=5595
2011-07-22 19:23:38 +01:00
Careminster Team 51c47677a1 Tidy up a superfluous AddPrimShape override in PhysicsScene 2011-07-19 18:17:19 +01:00
Careminster Team cbaa4aa88f Tidy up a superfluous AddPrimShape override in PhysicsScene 2011-07-19 18:16:44 +01:00
root c768d18c92 Revert "Tidy up a superfluous AddPrimShape override in PhysicsScene"
This reverts commit f5623b5c39.
2011-07-19 18:16:36 +01:00
Tom f5623b5c39 Tidy up a superfluous AddPrimShape override in PhysicsScene 2011-07-19 10:15:34 -07:00
Justin Clark-Casey (justincc) ee829a71c2 On all undo/redo operations, consistently lock the undo object for everything, in order to avoid any deadlock issues. 2011-07-19 06:13:05 +01:00
Justin Clark-Casey (justincc) c50533659a If we store an undo, wipe anything already present on the redo stack
This stops problems when we undo a few steps and start off down another path.
Surprisingly, apart from this now fixed problem, redo appears to be working too.
2011-07-19 06:11:16 +01:00
Justin Clark-Casey (justincc) ec1ecd3633 stop redo throwing an exception if there is nothing to redo 2011-07-19 06:05:23 +01:00
Justin Clark-Casey (justincc) bc3679b67d Fix undo when changing just the root prim's position in a linkset.
I think (ha ha) this largely fixes undo, except for the fact that rotation a set of prims with 'edit linked parts' selected doesn't quite work properly (though this works fine if the checkbox isn't selected).
Also, the double undo bug for resize is still present.
Redo might be incredibly buggy, haven't even looked at that yet.
2011-07-19 05:46:17 +01:00
Justin Clark-Casey (justincc) 62325829ec comment out all kinds of debugging guff 2011-07-19 05:14:58 +01:00
Justin Clark-Casey (justincc) 97f1edfd95 Fix undo of prim group rotation.
This isn't that great since I think I broke it a few commits earlier.
Undo of rotation of individual prims in a linkset is still broken
2011-07-19 04:15:27 +01:00
Justin Clark-Casey (justincc) 7c468cda36 Stop undo of just the root prim position in the linkset from shifting the whole linkset.
However, what happens now is that undo just doesn't do anything when the root prim is selected on its own.  This requires more code than just fiddling with undo states.
2011-07-19 03:38:22 +01:00
Justin Clark-Casey (justincc) 430a4aeba8 Fix undo for resizing linksets
This involves implementing a boolean in UndoState to signal whether the undo needs to be done for an entire group/linkset or just a single prim
Resizing individual components of linksets is still dodgy.
Resizing still has to be down twice, since for some reason the client is sending two multiobjectupdate packets on every resize except the very first.  This applies to single prims and linksets.  Need to look into this.
2011-07-19 03:01:54 +01:00
Justin Clark-Casey (justincc) 86f45f6fe7 remove undo state storage in a few places where it's pointless
no functional effect - existing bugs still remain
2011-07-19 01:24:43 +01:00
Justin Clark-Casey (justincc) 6fc74b36d1 Make various tweaks to undo code in an effort to get things working better.
Undo rotation and position appear to be working.
Resizing a single prim appears to be working, though the undo has to be done twice.
Resizing a group of prims still does not work properly - possibly because in the UndoState we don't store a knowledge of when we're resizing a whole group rather than individual prims.
This needs to be addressed.
2011-07-18 04:54:21 +01:00
Justin Clark-Casey (justincc) 3f8e571b78 Use a standard generic system stack for the undo/redo stacks instead of our own homebrew.
system stack also uses an array, so no performance penalty.
Also exposes undo count and adds a test assertion for correct undo count after resize
2011-07-18 02:01:12 +01:00
Justin Clark-Casey (justincc) e9a739f45f refactor: group all the undo/redo code in SOP into one place for easier code reading 2011-07-18 01:33:57 +01:00
Justin Clark-Casey (justincc) f5ddf37112 Replace ifs in SOG.GroupResize() with Math.Min()
Also fiddle a bit with undo.  This is not currently working properly, though to be fair it also didn't appear to work in 0.7.1.1 either (at least for resize).
Will get some more attention soon.
2011-07-16 05:23:21 +01:00
Justin Clark-Casey (justincc) 122745fe1c refactor: replace scale limiting code with more elegant Math.Min calls 2011-07-16 04:28:49 +01:00
Justin Clark-Casey (justincc) 2b68ac4ba3 refactor: Push all part resize code down into SceneObjectPart.Resize() 2011-07-16 04:22:57 +01:00
Justin Clark-Casey (justincc) 0f9882db5b minor: add a log warning if a sculpt/mesh async asset request returns no data 2011-07-16 03:24:36 +01:00
Justin Clark-Casey (justincc) 6f9b855719 refactor: remove pointless sender != null tests, etc, in AssetReceived, since the method called always belongs to the object that generated the request 2011-07-16 03:16:24 +01:00
Justin Clark-Casey (justincc) 3fc12e7224 Eliminate the pointless textured id argument to SculptTextureCallback 2011-07-16 03:02:28 +01:00
Justin Clark-Casey (justincc) 18652eb87e Fix physics proxy regeneration when a mesh with more than one submesh is resized
Addresses http://opensimulator.org/mantis/view.php?id=5584
2011-07-16 01:36:27 +01:00
root e9dbe54ab1 Fix some local id issues in physics glue 2011-07-15 20:07:59 +01:00
Melanie c7dbd7cbd0 Fox some local id issues in physics glue 2011-07-15 19:36:00 +02:00
Melanie 8dff9d564d Revert "Add localid support to ch0de properly"
This reverts commit bb402d0d95.
2011-07-15 19:35:49 +02:00
Tom bb402d0d95 Add localid support to ch0de properly 2011-07-15 12:08:40 -07:00
Justin Clark-Casey (justincc) df0e5cc9fe When a mesh object is added to a scene, delay adding the physics actor until the sculpt data has been added to the shape (possibly via an async asset service request)
This prevents spurious 'no asset data' for meshes added on startup.
2011-07-12 02:33:09 +01:00
Justin Clark-Casey (justincc) 8e44a8e2b9 Properly regenerate physics proxy when a mesh is resized.
This is done in SOP.Resize().  More common code from callers needs to be refactored into this method to reduce confusing copy/pasting
2011-07-11 03:47:49 +01:00
Justin Clark-Casey (justincc) 0badf3718d refactor: push the part of SceneObjectGroup.CheckSculptAndLoad() that actually deals with the part into a SceneObjectPart.CheckSculptAndLoad() method 2011-07-11 03:35:29 +01:00
Justin Clark-Casey (justincc) 2f3d0e209f When a sculpt/mesh texture is received by a part on a callback request, don't do the unnecessary work of copying the base shape.
Just setting the new base shape is enough to reinsert the sculpt data and set the taint.
Also cleans up a few more left-in debugging messages.
2011-07-11 03:13:59 +01:00
Justin Clark-Casey (justincc) c6d4304a04 refactor: very minor space insertion 2011-07-11 02:11:16 +01:00
Justin Clark-Casey (justincc) c964114f7e refactor: make argument to SOP.UpdatePrimFlags() more readable 2011-07-11 02:09:11 +01:00
root c920ff9d1d Merge branch 'master' into careminster-presence-refactor 2011-07-09 01:06:46 +01:00
Justin Clark-Casey (justincc) 5e8900dfd0 minor: code tidy and inserted log lines for future use.
Unable to get to the bottom of why resizing a mesh fails to properly reset the physics proxy, when toggling phantom does
After a mesh is generated, the existing sculptdata is set to zero in PrimitiveBaseShape to save memory
When phantom is toggled, the sculptdata is regenerated before remeshing.
But on resize, the sculptdata is not regenerated.
So clearly, resetting sculptdata is possible, but haven't quite been able to pin down how this is being done when phantom is toggled.
2011-07-09 00:35:30 +01:00
Justin Clark-Casey (justincc) 1dcad4ac66 minor: commented out log lines for future use and very small code tidy 2011-07-08 17:58:01 +01:00
Melanie fedfa02b64 Remove another core SNAFU. AbsolutePosition is NOT equal to group position
in attachments! Breaks resizers!!!
2011-07-06 21:20:11 +02:00
root 5f927dc104 Merge branch 'master' into careminster-presence-refactor 2011-06-30 00:26:03 +01:00
Justin Clark-Casey (justincc) 1a0a9d2290 Implement the latest mesh mechanism so that rezzing the uploaded mesh now works again.
Many thanks to the aurora project for pioneering this.
This code is almost certainly not bug free, but it does at least appear to handle simple meshes (except when the viewer crashes - but it is beta!).
2011-06-24 21:54:01 +01:00
Melanie 6ae73aea49 Merge branch 'master' into careminster-presence-refactor 2011-06-20 03:11:34 +01:00
Mic Bowman ad84728aba Add localID to physical object creation functions. 2011-06-15 11:31:32 -07:00
Melanie a1c16a4200 Merge branch 'master' into careminster-presence-refactor 2011-06-11 12:08:02 +01:00
Justin Clark-Casey (justincc) b5518dc906 minor: Add some commented out destructor logging messages for potential future use.
At the moment, client and scene objects are being garbage collected as expected, at least in simple scenarios.
2011-06-10 20:40:14 +01:00
Melanie 61bf2bf2dd Make Buoyancy a prim property 2011-06-02 18:32:25 +02:00
Melanie e398c33648 Add PayPrice to serialization format Xml2 2011-05-25 12:17:46 +01:00
Melanie 932db1c374 Add PayPrice to serialization format Xml2 2011-05-25 11:30:21 +02:00
Melanie d1913f2429 Merge branch 'master' into careminster-presence-refactor 2011-04-18 20:17:29 +01:00
Mic Bowman 3fe22126ca First pass at moving object property requests into a queue similar
to the entity update queue. The number of property packets can
become significant when selecting/deselecting large numbers of
objects.

This is experimental code.
2011-04-13 15:37:25 -07:00
Justin Clark-Casey (justincc) c81f5bfc5c Adjust the quanterions used in the rez coalsced object tests to get sensible bounding box and offset numbers.
Extend test to check position of objects in the rezzed coalescence.
2011-04-13 22:29:12 +01:00
Melanie ccd6e5d071 Merge branch 'master' into careminster-presence-refactor 2011-02-16 02:41:49 +00:00
BlueWall c75e916ccf Set filter to send proper rotations for root part
This allows the root prim, alone or in a set, to send it's
	rotation. This fixes unsitting the avatar on sit-offsest
	type teleports where the sit target is in the root prim of
	a linkset.
2011-02-13 07:42:53 -08:00
Melanie 3889e68c54 Merge branch 'master' into careminster-presence-refactor
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
	OpenSim/Server/Handlers/Simulation/AgentHandlers.cs
	OpenSim/Services/Connectors/SimianGrid/SimianGridMaptileModule.cs
	OpenSim/Services/GridService/HypergridLinker.cs
2011-02-07 22:08:53 +00:00
Kevin Cozens 034327b51f Send object date to viewer in microseconds (Fixes mantis bug #3990) 2011-02-04 20:55:41 +00:00
Kitto Flora 61b7ec5fb5 Fixing AbsolutePosition to correct llSensor in vehicles 2010-12-26 22:52:03 +00:00
Melanie b17150c3e8 Fix the corner casse of stack overflow when logging out with attachments 2010-12-25 08:05:42 +01:00
Melanie 0aeafc9919 Fix the recent stack overflow 2010-12-25 07:25:56 +01:00
Melanie b16f4024db Update child prim group positions in moving vehicles 2010-12-24 21:04:10 +01:00
Melanie 62e66b17bc Make sure the material is set on physical prims 2010-12-15 17:54:57 +01:00
Melanie d2ff4ebf2d Merge branch 'master' into careminster-presence-refactor 2010-12-13 20:19:10 +00:00
Marck 7f0350b988 Trigger event with flag CHANGED_LINK when agent sits on objects that have not a sit target defined. This fixes Mantis #4692. 2010-12-12 20:12:34 +01:00
Melanie 342dc532ec Merge branch 'master' into careminster-presence-refactor
Also prevent god takes from ending up in Lost and Found
2010-12-03 02:36:13 +00:00
Diva Canto 7d24dbca3c Added some comments. Better than listening to the boring speaker... 2010-12-01 16:01:22 -08:00
Melanie b3a71c6df1 Prevent an overlength button label from producing a debug dump and aborting
the script.
2010-11-24 18:56:25 +01:00
Melanie 6557d5f359 Merge branch 'master' into careminster-presence-refactor 2010-11-23 14:05:09 +00:00
Marck d63965cf94 Let CHANGED_SHAPE trigger. This fixes Mantis #1844. 2010-11-22 19:38:44 +01:00
Melanie 22ff06ba17 Merge branch 'master' into careminster-presence-refactor 2010-11-22 01:09:26 +00:00
Diva Canto c617d658dd Added creator info across the board -- TaskInventoryItems and InventoryItems themselves. Tested. Seems to be working, main tests pass. Nothing done for IARs or HG transfers yet -- this only works for OARs for the time being.
New migration in inventory table in order to make CreatorID varchar(255).
2010-11-21 17:19:24 -08:00
Diva Canto 6a9ae9e7cb Global creator information working on MySQL DB and on load/save OARs. Creator name properly shown on the viewer as first.last @authority.
New option added to save oar -profile=url. Migration on RegionStore making CreatorID be 255 chars.
Moved Handling of user UUID -> name requests to a new module UserManagement/UserManagementModule.
2010-11-21 13:16:52 -08:00
Melanie 4f15b8d4e6 Change the way attachments are persisted. Editing a worn attachment will now
save properly, as will the results of a resizer script working. Attachment
positions are no longer saved on each move, but instead are saved once on
logout. Attachment script states are saved as part of the attachment now
when detaching.
2010-11-16 20:44:39 +01:00
Melanie 644eb9fd7f Fix playing sound from HUDs 2010-11-05 13:45:28 +00:00
Melanie c2bd6ccdb8 Fix playing sound from HUDs 2010-11-03 23:20:30 +01:00
Melanie 5f266fd571 Change the results from llGetPrimitiveParams to be the same as SL for
the prim position. This will make attached resizer scripts work like SL.
Existing resizers may be affected adversely.
2010-10-24 17:18:21 +02:00
Melanie 78a6e5489b Fix merge issues 2010-10-18 20:50:16 +02:00
Melanie bb7a755cba Merge branch 'master' into careminster-presence-refactor 2010-10-18 20:30:46 +01:00
Diva Canto 7038f2b406 Deleted all [XmlIgnore] from SOP, since those are meaningless now. 2010-10-17 10:41:38 -07:00
Diva Canto 22eff055d4 .NET automagical serialization of SOPs replaced by manual serialization across the board. 2010-10-17 10:35:38 -07:00
Melanie 3eb68c319e change default next owner persm to mod/trans to match SL. 2010-10-13 08:24:18 +02:00
Melanie f2febb89fc Change the part for sound playback to be the root part / object UUID instead
of the child prim because using the child prim plain doesn't work.
2010-10-10 22:07:36 +01:00
Melanie 2804c97a39 Change the part for sound playback to be the root part / object UUID instead
of the child prim because using the child prim plain doesn't work.
2010-10-10 22:06:47 +01:00
Melanie d8149373c1 Merge branch 'master' into careminster-presence-refactor 2010-10-06 00:27:10 +01:00
Jeff Ames bc9f793a92 Formatting cleanup. 2010-10-04 21:28:17 -04:00
Melanie 4fbdcb95a0 Merge branch 'master' into careminster-presence-refactor 2010-09-25 06:19:26 +01:00
Justin Clark-Casey (justincc) 6325fa515d Add UUID to physics prim name parameter so that diagnostic messages can be made more useful.
If a separate UUID parameter is better for the future then this can be added later on.
2010-09-25 00:51:40 +01:00
root 1b2edfe75f JustinCC is evil. f7b28dd3 broke script persistence. This fixes it. 2010-09-16 23:19:46 +01:00
root a0c87b5af6 JustinCC is evil. f7b28dd3 broke script persistence. This fixes it. 2010-09-16 23:12:32 +02:00
Melanie 6a1ce17cdb Merge branch 'master' into careminster-presence-refactor
The modules will need to be updated for this to compile and run again. Please
don't use until I do the companion commit to modules later on.
2010-09-13 16:17:38 +01:00
Jeff Ames f1f0bc23f4 Formatting cleanup. 2010-09-12 13:43:49 -04:00
Justin Clark-Casey (justincc) f7b28dd321 If a scene object part UUID is changed (only possible when not in a scene), then adjust the inventory items to point to the new uuid as well 2010-09-07 03:41:29 +01:00
Melanie 79bfa275da Merge branch 'master' into careminster-presence-refactor 2010-08-30 02:30:28 +01:00
Justin Clark-Casey (justincc) df702417dc Remove mono compiler warnings 2010-08-26 16:27:41 +01:00
Melanie e74809ff4c Merge branch 'master' into careminster-presence-refactor 2010-08-18 00:59:20 +01:00
Justin Clark-Casey (justincc) 39a748b47a refactor: Use SOP.Flags rather than SOP.ObjectFlags 2010-08-13 20:23:53 +01:00
Diva Canto c98c6a2930 File wants to be committed 2010-08-11 20:38:10 -07:00
meta7 fa393cb13a Fix Omega getting overwritten on startup. 2010-08-11 13:39:36 -07:00
Marck 4f62f00ca0 Changing prim color generates event CHANGED_COLOR.
Signed-off-by: Melanie <melanie@t-data.com>
2010-08-10 19:38:39 +01:00
Justin Clark-Casey (justincc) 2a1c11fda9 On shift-copy of an object, set up a new physics actor (as appropriate) for every copied prim, not just the root
This addresses http://opensimulator.org/mantis/view.php?id=4295
2010-08-10 20:15:44 +01:00
Justin Clark-Casey (justincc) 0a81038dd5 Reduce number of paths in SOP code by setting flags via Flags property rather than _flags
Both ObjectFlags and Flags are effectively exactly the same property, except that ObjectFlags is uint and Flags is PrimFlags
Both reference the PrimFlags _flags underneath, so you couldn't set a non PrimFlags uint anyway.
Deprecated ObjectFlags in favour of Flags.
2010-08-10 17:26:31 +01:00
meta7 9fba4b66bb Resolve merge failure 2010-08-10 09:11:55 -07:00
Melanie c2e5d1d203 Merge branch 'master' into careminster-presence-refactor 2010-08-10 19:49:35 +01:00
Melanie d98d5ee6be Remove windows line endinge 2010-08-10 19:42:18 +01:00
meta7 19ab4c9508 Fix a rather nasty issue where the Backup() process causes objects and avatars sitting on them to be pushed to the corner of the sim. 2010-08-07 16:52:03 -07:00
meta7 bcb3b57f8d Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-07 06:33:51 -07:00
Tom 4f80d75bf3 Add a CHANGED_POSITION event so scripts don't have to run expensive loops to check for position changes 2010-08-07 06:28:04 -07:00
Melanie 8fd3f6cf7f Merge branch 'master' into careminster-presence-refactor 2010-08-07 05:41:41 +01:00
Justin Clark-Casey (justincc) 6c8c8d669b minor: a few miscellaneous comments 2010-08-07 00:45:04 +01:00
Justin Clark-Casey (justincc) 1270727c96 Merge branch 'moap' 2010-08-06 18:29:30 +01:00
Melanie 26387252f5 Merge branch 'master' into careminster-presence-refactor 2010-08-06 18:08:40 +01:00
Melanie 120f3a18f2 Correct some script constants. 2010-08-06 15:11:18 +01:00
Tom a636af13e7 Make sure the avatar position gets moved along with a prim it is sitting on. This fixes mantis #208 and (maybe) issues with chat and sound coming from the wrong place when sat on a vehicle. 2010-08-06 06:37:40 -07:00
Tom 0a004f8c44 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-06 02:43:26 -07:00
Tom c5c6627adb Implement CHANGED_REGION_(RE)START and also fix various CHANGED_* constants which had the wrong values (checked using LSL in SL). This addresses mantis #217 and mantis #53. 2010-08-06 02:40:31 -07:00
Melanie Thielker 8bdbcda2b7 We already have a record of killed prims. It just wasn't used by the new
JHurlicane code anymore. Use it to prevent sending updates after kills.
2010-08-05 18:50:17 +02:00
Melanie 1869572297 Prevent setting the hovertext from firing changed_color 2010-08-05 08:19:46 +01:00
Melanie Thielker e3184753a6 Log the UUID of a prim that fails meshing and set the prim to phantom during
region startup
2010-08-03 05:25:23 +02:00
Justin Clark-Casey (justincc) f067f733ea add userExposed parameter to part copy event 2010-07-28 19:38:20 +01:00
Justin Clark-Casey (justincc) 0f15ccb2cf relocate moap specific cloning code to MoapModule 2010-07-28 19:23:30 +01:00
Justin Clark-Casey (justincc) 5aa56b1274 Fix problem where changes to media textures for prims duplicated by shify copy would change both prims until server restart
I also found out that you can crash the current viewer by giving it more media entrys than it's expecting
2010-07-28 18:55:29 +01:00
Justin Clark-Casey (justincc) eb5e39d6ef Fire CHANGED_MEDIA event if a media texture is set or cleared 2010-07-26 23:34:20 +01:00
Justin Clark-Casey (justincc) a5ad792e6c implement llSetPrimMediaParams()
Untested
2010-07-26 23:34:19 +01:00
Justin Clark-Casey (justincc) 9682e0c733 Implement media texture persistence over server restarts for sqlite
This is currently persisting media as an OSDArray serialized to LLSD XML.
2010-07-26 23:34:19 +01:00
Justin Clark-Casey (justincc) 4a6adff4cd start storing a mediaurl on the scene object part
not yet persisted or sent in the update
2010-07-26 23:34:18 +01:00
Melanie Thielker 78605baab3 Fix a few permissions vulnerability. Owners could cause permissions
escalation on items contained in prims using a hacked viewer
2010-07-20 21:00:56 +01:00
Melanie Thielker 8d2b4b7b48 Fix a few permissions vulnerability. Owners could cause permissions
escalation on items contained in prims using a hacked viewer
2010-07-15 20:03:08 +02:00
Melanie Thielker ddfff55cc7 Preserve attachment data while a prim is in world. Allows attachment
editing on the ground without losing attachpoint and position
2010-07-14 21:06:49 +02:00
Tom Grimshaw 5f4105d48c Removed the CHANGED_COLOR event post from the Color accessor in SOP. This is not the correct usage of this changed event - it's only supposed to be posted when the /textures/ change colour or alpha transparency, not the floating text. This fixes several race conditions in scripts ported from SL. 2010-07-12 13:55:56 -07:00
Melanie Thielker 26621ca500 Add scripted controllers into agent intersim messaging 2010-07-11 14:50:14 +01:00
Melanie Thielker 7f0f11304f Add scripted controllers into agent intersim messaging 2010-07-11 14:26:57 +02:00
Melanie Thielker 1169bfeaf3 Make taken items go back to the folder they came from 2010-07-10 10:43:34 +01:00
Melanie Thielker 8aa5f30082 Make taken items go back to the folder they came from 2010-07-10 10:51:49 +02:00
Tom Grimshaw e947d04038 Undo fix is now complete. This commit repairs the special case of the root prim moving or rotating independently of the rest of the group. 2010-07-05 05:44:35 -07:00
Tom Grimshaw 5b68343361 The majority of the Undo fix. There is still an issue with Rotation which i'll address next; however position undo and scale undo should be working just fine now. Also removed some residual debug logging. 2010-07-04 19:28:39 -07:00
Tom Grimshaw fe2b044d38 Fix Undo! Made a lot of changes to Undo state saving; it now considers that groups of objects can be moved and not just individual prims.. 2010-07-03 06:10:55 -07:00
Melanie Thielker 6f4d4543b9 Make newly created prims be named "Object" and make newly created scripts
have a default touch handler. Compatibility patch
2010-06-29 03:51:16 +02:00
Tom Grimshaw 33d05ef554 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-06-20 14:45:36 -07:00
Tom Grimshaw a1416612a9 Update all clients sitting on a linkset if a child prim is moved. This prevents avatars being "lost in the void" until they stand up when a child prim is moved that they're sitting on. 2010-06-20 14:45:04 -07:00
Melanie 04b60aa490 Merge branch 'master' into careminster-presence-refactor 2010-06-19 20:32:01 +01:00
Diva Canto 1e7ce6dbce Hunting for the problem in #4777 2010-06-19 09:44:02 -07:00
Melanie Thielker f9b4f5f594 Revert "Introduce SOP.UpdateSitters() to update sitting avatars' chat position if"
This reverts commit f59e272643.
2010-06-14 00:05:01 +02:00
Melanie Thielker 5fda89fdb5 Revert "D.U.H."
This reverts commit 3058761806.
2010-06-14 00:04:02 +02:00
Melanie Thielker 093cc047cd Revert "Try it witht he root prim"
This reverts commit d520360cb8.
2010-06-14 00:03:43 +02:00
Melanie Thielker 62763cc0fb Report current position instead of position at the time we sat down 2010-06-14 00:02:17 +02:00
Melanie Thielker d520360cb8 Try it witht he root prim 2010-06-13 23:01:15 +02:00
Melanie Thielker 3058761806 D.U.H.
un-reverse a reversed condition
2010-06-13 22:43:14 +02:00
Melanie Thielker 520b0e131c Try to make prims stop moving. Reset velocity, etc, unconditionally. Although
the phys actor may be new, the prim fields could still be set and the
slimupdates system would continue sending that data out.
2010-06-13 22:37:11 +02:00
Melanie Thielker 3d319d6c3f Actually update the SP. EXPERIMENTAL 2010-06-13 22:23:07 +02:00
Melanie Thielker f59e272643 Introduce SOP.UpdateSitters() to update sitting avatars' chat position if
needed
2010-06-13 22:21:05 +02:00
Melanie Thielker eca15cfbf2 Change the handling of CreateSelected. Only send it on real creation, not
for each prim coming into view.
2010-06-01 02:45:14 +02:00
Melanie Thielker be69259981 Change the handling of CreateSelected. Only send it on real creation, not
for each prim coming into view.
2010-06-01 01:39:54 +01:00
Melanie Thielker d4b4cbf5a5 Fix create selection getting overwritten by multiple updates for the same prim. 2010-05-31 19:00:02 +02:00
Melanie Thielker e515467c5e Fix create selection getting overwritten by multiple updates for the same prim. 2010-05-31 17:55:56 +01:00
Tom Grimshaw e3dac1292e Implement suspended updates - When an operation is occurring on lots of prims in a single group, don't schedule any updates until the operation has completed. This makes things like llSetAlpha(LINK_SET,0.0,ALL_SIDES); a *lot* faster, more efficient and less buggy, and also makes unlinking a lot better. Linking is still treacherous.. this needs to be analysed. 2010-05-29 02:10:34 -07:00
Melanie 542e6b8af4 Merge branch 'master' into careminster-presence-refactor 2010-05-28 21:56:42 +01:00
Justin Clark-Casey (justincc) 877fe774ef Simplify AddFullUpdateToAvatars()/AddPartialUpdateToAvatars() by calling the object's corresponding single avatar update method, rather than calling the sceneviewer directly 2010-05-28 17:58:51 +01:00
Melanie 00737f1c13 Merge branch 'master' into careminster-presence-refactor 2010-05-24 23:40:22 +01:00
Melanie 7d9b316ce6 Change the way alpha is interpreted on prim text. Manris #4723 2010-05-24 23:37:47 +01:00
Melanie a92780fe5f Merge branch 'master' into careminster-presence-refactor 2010-05-21 03:51:58 +01:00
unknown bf5c81d77e * Initial commit of the slimupdates2 rewrite. This pass maintains the original behavior of avatar update sending and has a simplified set of IClientAPI methods for sending avatar/prim updates 2010-05-12 15:59:48 -07:00
Melanie Thielker 8766401777 Adapt CM to the new CHANGED_OWNER handling 2010-05-03 04:28:30 +02:00
Melanie 5693870fe2 Merge branch 'master' into careminster-presence-refactor 2010-03-30 21:34:27 +01:00
Dan Lake 62e0b53ca4 Renamed TryGetAvatar to TryGetScenePresence on SceneManager, SceneBase, Scene and SceneGraph. This was the only change in this patch to keep it isolated from other recent changes to the same set of files. 2010-03-19 15:16:44 -07:00
Dan Lake 859bc717a4 Cleaned up access to scenepresences in scenegraph. GetScenePresences and GetAvatars have been removed to consolidate locking and iteration within SceneGraph. All callers which used these to then iterate over presences have been refactored to instead pass their delegates to Scene.ForEachScenePresence(Action<ScenePresence>). 2010-03-19 15:16:35 -07:00
Melanie 4c2a51b1b5 Merge branch 'master' into careminster-presence-refactor 2010-03-18 20:09:04 +00:00
Dan Lake 73e9b0be72 Inconsistent locking of ScenePresence array in SceneGraph. Fixed by eliminating option to return the actual list. Callers can now either request a copy of the array as a new List or ask the SceneGraph to call a delegate function on every ScenePresence. Iteration and locking of the ScenePresences now takes place only within the SceneGraph class.
This patch also applies a fix to Combat/CombatModule.cs which had unlocked iteration of the ScenePresences and inconsistent try/catch around the use of those ScenePresences.
2010-03-17 11:21:27 -07:00
Melanie d3f33acc1a Merge branch 'master' into careminster-presence-refactor 2010-03-15 17:23:35 +00:00
Melanie 898fa637c3 Merge branch 'careminster' into careminster-presence-refactor 2010-03-15 17:12:08 +00:00
Kitto Flora 8198062610 RotLookAt repaired; debug msg cleanup. 2010-03-14 16:22:13 -04:00
John Hurliman 3036aba875 * Added a better check to the SimianGrid connectors to test if they are enabled or not. This method should work equally well with standalone or robust mode
* Applying #4602 from Misterblu to add collision detection to BulletDotNET
2010-03-12 14:28:31 -08:00
Kitto Flora 7bd48d383d Resolved merge 2010-03-12 13:48:31 -05:00
Kitto Flora f6f6ef1532 Dynamics Integration Part 1 2010-03-11 19:12:38 -05:00
Jeff Ames f58a0394ed Formatting cleanup. Add copyright notices. 2010-03-10 13:15:36 +09:00
Melanie 8180c72cbc Merge branch 'master' into careminster-presence-refactor 2010-03-06 12:37:24 +00:00
Melanie 1f7a0cf892 Merge branch '0.6.9-post-fixes' into careminster 2010-03-06 12:24:09 +00:00
unknown 83929c69e3 - implementing server 1.38 functions
Signed-off-by: Melanie <melanie@t-data.com>
2010-03-06 11:59:16 +00:00
unknown c0bc25059c - implementing server 1.38 functions
Signed-off-by: Melanie <melanie@t-data.com>
2010-03-06 11:52:59 +00:00
Melanie 107a0a4905 Merge branch 'master' into careminster-presence-refactor 2010-03-04 11:02:01 +00:00
Justin Clark-Casey (justincc) 716e6f20e1 compiler warnings revealed that public PlaySoundSlavePrims properties were changing the wrong protected fields.
correcting these may resolve the sound problems seen recently on the mailing list, though not guaranteed.
2010-03-03 23:40:32 +00:00
Justin Clark-Casey (justincc) 8305e6af07 refactor: push sog.SendPartFullUpdate() down into sop where it better belongs
no functional changes
2010-03-03 23:29:09 +00:00
Melanie 028a87fe37 Merge branch 'master' into careminster-presence-refactor
This brings careminster on the level of master. To be tested
2010-03-03 02:07:03 +00:00
CasperW 7f61de8f57 Allow particles and texture anims to be persisted to XML. This behaviour is expected. 2010-02-25 14:14:53 +01:00
Jeff Ames af265e001d Formatting cleanup. 2010-02-15 19:21:56 +09:00
Revolution 9821c4f566 Revolution is on the roll again! :)
Fixes: Undo, T-pose of others on login, modifiedBulletX works again, feet now stand on the ground instead of in the ground, adds checks to CombatModule. Adds: Redo, Land Undo, checks to agentUpdate (so one can not fall off of a region), more vehicle parts. Finishes almost all of LSL (1 function left, 2 events).

Direct flames and kudos to Revolution, please

Signed-off-by: Melanie <melanie@t-data.com>
2010-02-14 22:18:46 +00:00
Melanie c8f3bb56ff Merge branch 'master' into careminster 2010-02-08 22:11:38 +00:00
Justin Clark-Casey (justincc) f1b99c4a7f minor: one method doc 2010-02-04 21:35:56 +00:00
Melanie 776d62b9c6 Merge branch 'master' into careminster 2010-02-04 17:29:33 +00:00
Justin Clark-Casey (justincc) b1dfcccc9a Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2010-02-03 22:14:58 +00:00
Justin Clark-Casey (justincc) daa66c4811 add an IsRoot property to sop 2010-02-03 16:40:21 +00:00
Melanie 0f1a3f8ed2 Merge branch 'master' into careminster 2010-02-03 00:16:02 +00:00