| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
prim update to only triple queuing. Existing method was:
1. Schedule prim for update, adding to scene update list
2. Update on SOGs during heartbeat queues update onto each SceneViewer
3. Update on SPs during heartbeat queues update onto each IClientAPI
4. ProcessEntityUpdates queues updates into UDP send stack
Now the SceneViewer has been eliminated so updates are scheduled at any
time and then put onto the IClientAPI priority queues immediately during
SceneGraph.UpdateObjectGroups.
|
|
|
|
| |
properties packet sends and so one part is not telling a different part what to do. That should be up to the SOG to manage permissions on its parts and notify clients when one of them changes.
|
|\ |
|
| | |
|
|/
|
|
| |
terse update
|
|
|
|
| |
packet per prim. More to come as we change to make use of this.
|
| |
|
|
|
|
| |
numbered properly even when sets are linked to sets.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
We always use SOP.Rotation instead
|
|
|
|
| |
than calling SOP.OffsetForNewRegion
|
| |
|
| |
|
|
|
|
|
| |
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,
|
|
|
|
| |
are only sent to affected clients.
|
|
|
|
| |
This is moved into ScenePresence for now as a general facility
|
|
|
|
|
|
| |
reflect what it actually does
This also makes it consistent with some other methods that send data to the client.
|
|
|
|
|
|
|
| |
SOG.ClearPartAttachmentData() is called.
Even though we don't use these on rez they are still present after an unlink, after which selecting them causes various viewers to crash
Hopefully really does address http://opensimulator.org/mantis/view.php?id=5664
|
|
|
|
| |
It's never possible for SOG to have no RootPart, except in the first few picosends of the big bang when it's pulled from region persistence or deserialized
|
| |
|
|
|
|
| |
stored in the root part's state field.
|
|
|
|
| |
pointless duplication of identical values
|
|
|
|
| |
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
|
|
|
|
| |
AttachmentsModule.DetachSceneObjectToGround() and remove redundant code
|
|
|
|
| |
AttachmentsModule.DetachSingleAttachmentToInv()
|
| |
|
|
|
|
|
|
| |
readability
use these in some sog methods
|
|
|
|
|
| |
this is to allow walking on prims. it will be up to the script writer to be sure that there is a continuous path.
currently implemented in osNpcMoveToTarget(), but none of this is final.
|
|
|
|
| |
not yet complete.
|
|
|
|
| |
consistent with terminology used by scene object part and elsewhere
|
| |
|
|
|
|
|
|
|
| |
This now works again except that it requires a click or avatar mvmt to get going
This is because the ScenePresence.HandleAgentUpdate() method doesn't trigger until the client does something significant, at which point autopilot takes over.
Even clicking is enough to trigger.
This will be improved presently.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
consistency
|
| |
|
|
|
|
| |
The only obviously broken things right now are the undo of the position of just a root prim (stays in place) and the fact that resizes need two undoes.
|
| |
|
|
|
|
|
| |
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
|
|
|
|
| |
undo resize, rotation and position still needs fixing when only editing root prim of a linkset
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This is utterly pointless scene we already know which sog we're dealing with.
|