aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2011-11-03Rename ForEachAvatar back to ForEachScenePresence. The other changesDan Lake1-4/+4
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-03Renamed ForEachRootScenePresence to ForEachAvatar. Cleaned up calls toDan Lake1-42/+34
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-02Port the Avination offline messaging system to CoreMelanie1-1/+1
2011-11-01Removed redundant SceneContents property from Scene. It's the same as ↵Dan Lake1-5/+0
SceneGraph property.
2011-11-01Removed see_into_this_sim_from_neighbor configuration option.Dan Lake1-10/+0
2011-10-31Removed unused show commands from Scene.cs and SceneBase.cs. The show ↵Dan Lake1-27/+0
modules command in OpenSim.cs now shows both shared modules and region modules.
2011-10-30Fix line endingsDan Lake1-23/+23
2011-10-30Experimental reorder of Heartbeat loop now simulates physics and sends ↵Dan Lake1-29/+27
updates to clients prior to sleep. Existing behavior was to sleep BEFORE sending updates. We found this patch reduced latency to clients by 1-2 heartbeat periods.
2011-10-29Remove the SyncRoot locking from Scene which was only being done around the ↵Justin Clark-Casey (justincc)1-6/+0
main physics loop and ScenePresence position and velocity setting This is no longer necessary with ODECharacter taints (ODEPrim was already not taking part in this). BSCharacter was already tainting.
2011-10-27Added new ForEachRootScenePresence to Scene since almost every delegate ↵Dan Lake1-29/+31
passed to ForEachScenePresence checks for !IsChildAgent first. It consolidates child and root handling for coming refactors.
2011-10-24Add new EventQueueTests with basic test to check that adding a client ↵Justin Clark-Casey (justincc)1-1/+3
registers an http poll
2011-10-20Get OdeScene to use passed in time step rather than hard-coded 0.089Justin Clark-Casey (justincc)1-2/+8
However, I still don't recommend changing MinFrameTime from 0.089, high values do not work well and lower values don't seem to make much difference
2011-10-20Pass PhysicsScene.Simulate() only the MinFrameTime rather than the useless ↵Justin Clark-Casey (justincc)1-12/+4
Math.Max(SinceLastFrame.TotalSeconds, MinFrameTime) SinceLastFrame was calculating the interval between any sleep that had occurred to pad out the frame time and the start of the next frame. This would usually be below MinFrameTime but occasionally if the sleep was long it would be above, often due to the time required to update the watchdog. This doesn't appear to play much practical role right now. ODE was actually ignoring it entirely. Bullet might be helped slightly by receiving a non-varying value.
2011-10-19Moved HaveNeighbor utility function from ScenePresence to Scene. Fixed line ↵Dan Lake1-0/+40
endings from previous commit.
2011-10-19Renamed and rearranged AvatarFactoryModule to eliminate redundant lookups of ↵Dan Lake1-3/+3
scene presence by client ID.
2011-10-15improve method doc on Scene.OtherRegionUp()Justin Clark-Casey (justincc)1-4/+4
this is really just to trigger panda.
2011-10-15move see_into_this_sim_from_neighbor [Startup] flag parsing into Scene with ↵Justin Clark-Casey (justincc)1-3/+2
the others
2011-10-15fetch physical_prim switch from [Startup] config from inside scene, as is ↵Justin Clark-Casey (justincc)1-4/+9
done for most other scene config params
2011-10-15factor common code out into SOP.RemoveFromPhysics()Justin Clark-Casey (justincc)1-2/+1
2011-10-13Expose minimum frame time and update periods for experimentation.Justin Clark-Casey (justincc)1-19/+33
Settings are at bottom of [Startup] in OpenSimDefaults.ini, override in OpenSim.ini to change Defaults are the same as previously. More information to come on opensim-dev shortly. Feel free to tweak but if you do please don't expect any support unless feedback on certain tweaks is explicitly requested.
2011-10-13refactor: Put the frame update period when temporary objects are cleaned up ↵Justin Clark-Casey (justincc)1-4/+4
in a field, like all the other update periods
2011-10-13refactor: chain the two scene constructors together to eliminate more copypastaJustin Clark-Casey (justincc)1-29/+1
2011-10-13Tie reported FPS correction factor into the minimum frame time rather than ↵Justin Clark-Casey (justincc)1-3/+4
setting separately. This makes reported FPS scale as required if min frame time changes
2011-10-12remove some mono compiler warningsJustin Clark-Casey (justincc)1-36/+0
2011-10-10refactor: have lsl and ossl interrogate scene.StatsReporter directly rather ↵Justin Clark-Casey (justincc)1-13/+0
than going through scene I know this goes against the law of demeter but I don't think it's that useful here and I'd rather get rid of nasty little wrapper methods
2011-10-06Fixed line endings from previous commitDan Lake1-2/+2
2011-10-06Refactored "known child region" in ScenePresence. There were 4 differentDan Lake1-13/+6
ways to access the list/dictionary of child regions and locking was inconsistent. There are now public properties which enforce locks. Callers are no longer required to create new copies of lists.
2011-10-06Instead of adding stat agentMS in all kinds of places, calculate it instead ↵Justin Clark-Casey (justincc)1-1/+12
in the main Scene.Update() loop, like the other stats Some of the places where agentMS was added were in separate threads launched by the update loop. I don't believe this is correct, since such threads are no longer contributing to frame time. Some of the places were also driven by client input rather than the scene loop. I don't believe it's appropriate to add this kind of stuff to scene loop stats. These changes hopefully have the nice affect of making the broken out frame stats actually add up to the total frame time
2011-10-05Make reported sim fps more accurate, in line with frame time msJustin Clark-Casey (justincc)1-8/+18
Also remove some unused fields and improve naming on others.
2011-10-03Removed redundant code in AttachmentsModule and simplified interfaces which ↵Dan Lake1-1/+1
converted back and forth between ScenePresence and IClientAPI. More to be done still.
2011-10-03Remove vestigal RegionStatus.SlaveScene.Justin Clark-Casey (justincc)1-45/+42
This appears to be code clutter since the code that uses this has long gone.
2011-09-22Reinstate option to land an npc when it reaches a target.Justin Clark-Casey (justincc)1-3/+3
This is moved into ScenePresence for now as a general facility
2011-09-21Move code which handles NPC movement into Scene so that this can also be ↵Justin Clark-Casey (justincc)1-0/+67
used by Autopilot coming from the client side. I thought that I had implemented this but must have accidentally removed it. Adds a regression test to detect if this happens again. Temporarily disables automatic landing of NPC at a target. Will be fixed presently.
2011-09-16Correctly create a freshly created estate owner's default items and avatar ↵Justin Clark-Casey (justincc)1-82/+0
entries on standalone if applicable.
2011-09-15Write code to create minimum necessary body parts/clothing and avatar ↵Justin Clark-Casey (justincc)1-0/+1
entries to make a newly created user appear as a non-cloud on viewer 2 Viewer 2 no longer contains the default avatar assets (i.e. "Ruth") that would appear if the user had insufficient body part/clothing entries. Instead, avatars always appear as a cloud, which is a very bad experience for out-of-the-box OpenSim. Default is currently off. My intention is to switch it on for standalone shortly. This is not particularly flexible as "Ruth" is hardcoded, but this can change in the future, in co-ordination with the existing RemoteAdmin capabilities. Need to fix creation of suitable entries for users created as estate owners on standalone. Avatars still appear with spooky empty eyes, need to see if we can address this. This commit adds a "Default Iris" to the library (thanks to Eirynne Sieyes from http://opensimulator.org/mantis/view.php?id=1461) which can be used.
2011-09-13Comment out attachments code in Scene.IncomingCreateObject(UUID userID, UUID ↵Justin Clark-Casey (justincc)1-8/+10
itemID) for now As far as I can see, this is only invoked by a PUT request to ObjectHandlers, which is not being used anyway. Invoking attachments code at this point is probably inappropriate since it would still be invoked when the client entered the scene. Being commented to simplify analysis of attachments issues. Can be uncommented when in use. Also, small tweak to lock and log removal of a SOG from the SceneObjectGroupsByLocalPartID collection in SceneGraph.GetGroupByPrim() if an inconsistency is found.
2011-09-13In an object return message, send a null-terminated empty string in binary ↵Justin Clark-Casey (justincc)1-1/+3
bucket to prevent a viewer 3 crash. This is the message sent to the client when the object is returned. We were sending byte[0] in the binary bucket. This didn't kill viewer 1 but did terminate viewer 3 (don't know about viewer 2). So sending "\0" instead. This is to address http://opensimulator.org/mantis/view.php?id=5683
2011-09-12stop the redundant passing in of RegionInfo to SceneGraph, since the Scene ↵Justin Clark-Casey (justincc)1-1/+1
is always passed in at the same time.
2011-09-09Save the default terrain texture UUIDs for a new region instead of leaving ↵Justin Clark-Casey (justincc)1-1/+36
them as UUID.Zero. Leaving them at UUID.Zero meant that when a viewer 2 logged into a region that had been freshly created, it received UUID.Zero for these textures, and hence display the land as plain white. On a simulator restart, the problem would go away since when the database adapators loaded the new region settings, RegionSettings itself has code to use default textures instead of UUID.Zero. This commit resolves the problem by saving the default texture UUIDs instead of Zero. However, we currently have to do this in a roundabout way by resaving once the RegionSettings have been created by the database for the first time. This needless complexity should be addressed. This change will also have the effect of replacing any existing UUID.Zero terrain textures with the default ones. However, this shouldn't have any effect since the UUID.Zeros were already being replaced in memory with those same UUIDs.
2011-09-02Comment out Scene.CleanDroppedAttachments() and calls.Justin Clark-Casey (justincc)1-36/+36
This method wasn't actually doing anything since dropped attachments retain a PCode of 9. Also, behaviour of dropped attachments in other places appears to be that they persist after avatar logout rather than get deleted.
2011-09-01Eliminate pointless checks of SOG.RootPart != nullJustin Clark-Casey (justincc)1-10/+4
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
2011-09-01Remove pointless cluttering SOP.ParentGroup != null checks.Justin Clark-Casey (justincc)1-44/+38
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-08-30minor: remove already processed avatar null check in Scene.RemoveClient()Justin Clark-Casey (justincc)1-1/+1
remove some now duplicated method doc
2011-08-30refactor: move SP.SaveChangedAttachments() fully into AttachmentsModuleJustin Clark-Casey (justincc)1-2/+2
2011-08-30refactor: Move ScenePresence.RezAttachments() into AttachmentsModuleJustin Clark-Casey (justincc)1-1/+1
This adds an incomplete IScenePresence to match ISceneEntity
2011-08-30refactor: migrate DropObject handling fully into AttachmentsModule from SceneJustin Clark-Casey (justincc)1-2/+0
2011-08-27refactor: move SOP.IsAttachment and AttachmentPoint up into SOG to avoid ↵Justin Clark-Casey (justincc)1-2/+2
pointless duplication of identical values
2011-08-19Stop NPC's getting hypergrid like names in some circumstances.Justin Clark-Casey (justincc)1-14/+28
This meant punching in another AddUser() method in IUserManagement to do a direct name to UUID associated without the account check (since NPCs don't have accounts). May address http://opensimulator.org/mantis/view.php?id=5645
2011-08-18Don't try to save changed attachment states when an NPC with attachments is ↵Justin Clark-Casey (justincc)1-4/+5
removed from the scene. This is done by introducing a PresenceType enum into ScenePresence which currently has two values, User and Npc. This seems better than a SaveAttachments flag in terms of code comprehension, though I'm still slightly uneasy about introducing these semantics to core objects
2011-08-15Added console command "delete object outside" to delete all objects outside ↵Snoopy Pfeffer1-2/+37
region boundaries. This is especiyll useful in cases where physical objects outside regions boundaries cause much physics engine lag.