aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Added EventManager.OnRegionStarted which is triggered when Heartbeat is started.Dan Lake2012-01-041-0/+1
|
* Bug fix in map tiles in standalone: the map has been blank since commit ↵Diva Canto2011-12-301-13/+20
| | | | | | 01ae916bad672722aa62ee712b7b580d6f5f4370 r/17324 (Nov.18, justincc). But the root cause comes from commit 02e54c57c4901167779f07ed3e89fb1d24ffc22a Author: Oren Hurvitz Date: 7/22/2011 This is a nasty situation. The map tile UUID is, in principle, stored authoritatively in RegionSettings. However, it also needs to be stored in the Grid Service because that's how other sims can retrieve it to send it in Map Blocks to non-V3 viewers. So every time the tile image changes, that change needs to propagate to the Grid Service, and this is done via RegisterRegion (ugh!). Interestingly, this problem didn't affect grids because by default AllowRemoteDelete is false, so the prior images aren't being deleted from the asset servers -- but they were not being correctly updated in the map either, the map was stuck with old images.
* rename Scene.m_physicalPrim to PhysicalPrims since its public and access ↵Justin Clark-Casey (justincc)2011-12-221-2/+2
| | | | external as a property
* Make it possible to force all prims to be phantom via the collidable_prim ↵Justin Clark-Casey (justincc)2011-12-221-0/+9
| | | | | | | | | boolean setting in the OpenSim.ini config [Startup] section. Naturally, default is true. When set to false, "phantom" flags on prims can be set as usual but all prims remain phantom. This setting is for test purposes. This switch does not affect the collision of avatars with the terrain.
* Move HandleObjectGroupUpdate() from GroupsModule to Scene.PacketHandlers.cs ↵Justin Clark-Casey (justincc)2011-12-191-6/+5
| | | | as this is updating SOG/SOP.GroupID, which is arguably generic.
* Fix bug where objects could not be set to a new group if the group had been ↵Justin Clark-Casey (justincc)2011-12-171-3/+1
| | | | | | | | | | created in that client session, or if no other action has been performed on the object. There were two problems here: 1) On object group update, we looked for the group is the IClientAPI group cache rather than in the groups service. This fails to groups created newly in that session 2) On object group update, we weren't setting the HasGroupChanged flag. This meant that the change was not persisted unless some other action set this flag. This commit fixes these issues and hopefully addresses http://opensimulator.org/mantis/view.php?id=5588 This commit also moves HandleObjectGroupUpdate() to the GroupsModule from the Scene.PacketHandlers.cs file
* No functional changes. Changed the prefix of that log message [CONNECTION ↵Diva Canto2011-12-161-6/+6
| | | | | | BEGIN] to [SCENE] because that's where the message happens. Also changed the instantiation of a vector object to be done only once instead of every time we receive a position update.
* Cleaned up ScenePresence parameters for Flying, WasFlying, FlyingOld and ↵Dan Lake2011-12-121-4/+4
| | | | IsColliding
* Do some clean up Scene.cs log messages.Justin Clark-Casey (justincc)2011-12-091-24/+38
| | | | | This prints out both exception message and stacktrace (Exception.ToString()) isn't enough on Windows. This also uses m_log.*Format() which is more efficient than string concat.
* Get rid of IScene.PresenceChildStatus() which always had to execute a lookup ↵Justin Clark-Casey (justincc)2011-12-091-11/+0
| | | | in favour of IClientAPI.ISceneAgent.IsChildAgent instead.
* Remove unnecessary AgentCircuitData null check from Scene.AddNewClient().Justin Clark-Casey (justincc)2011-12-081-11/+4
| | | | | The only caller is the LLUDP stack and this has to validate the UDP circuit itself, so we know that it exists. This allows us to eliminate another null check elsewhere and simplifies the method contract
* On a new client circuit, send the initial reply ack to let the client know ↵Justin Clark-Casey (justincc)2011-12-081-12/+3
| | | | | | | | | it's live before sending other data. This means that avatar/appearance data of other avatars and scene objects for a client will be sent after the ack rather than possibly before. This may stop some avatars appearing grey on login. This introduces a new OpenSim.Framework.ISceneAgent to accompany the existing OpenSim.Framework.ISceneObject and ISceneEntity This allows IClientAPI to handle this as it can't reference OpenSim.Region.Framework.Interfaces
* Simplify Scene.AddNewClient()Justin Clark-Casey (justincc)2011-12-081-17/+28
| | | | | If sp becomes null right after we've checked or created it, then behaviour down the line is going to be wrong anyway. So instead retain the check/create ScenePresence reference and use this.
* On an Exception in Scene.RemoveClient(), always remove the client (and SP) ↵Justin Clark-Casey (justincc)2011-12-071-19/+28
| | | | structure so that logout on unexpired packets isn't retriggered, causing the same exception
* Implement XMLRPCAdmin command admin_teleport_agent.Justin Clark-Casey (justincc)2011-12-071-3/+3
| | | | This allows someone with access to this command on the XMLRPCAdmin interface to teleport an avatar to an arbitrary region and/or position.
* Stop some places where we're trying to reset animations in child agents ↵Justin Clark-Casey (justincc)2011-12-021-1/+0
| | | | where such requests are ignored.
* Remove bizarre call to PhysicsScene.Simulate(0) in ↵Justin Clark-Casey (justincc)2011-11-241-4/+2
| | | | | | Scene.GetNearestAllowedPosition() At least on ODE, this wasn't doing any harm but there wasn't any point to it either
* Don't register a region twice on both official registration and maptile ↵Justin Clark-Casey (justincc)2011-11-191-7/+5
| | | | | | regeneration. Maptile storage appears orthogonal to region registration
* In AddNewClient, iterator over copy of entities rather than copying under ↵Dan Lake2011-11-151-2/+3
| | | | read lock
* Make tracked per scene thread names conform to the majorirty format.Justin Clark-Casey (justincc)2011-11-151-1/+3
| | | | This is <thread-name> (<region-name>)
* Removed unused and mostly commented out SceneCommunicationService methodsJustin Clark-Casey (justincc)2011-11-151-36/+2
| | | | As far as I can see, the SCS is only now used for informing neighbours of up/down status and possibly sending child agent updates and close requests
* remove SceneCommunicationService.OnAvatarCrossingIntoRegion. This stuff is ↵Justin Clark-Casey (justincc)2011-11-151-2/+0
| | | | not being used any more - it's now IEntityTransferModule and SimulationService instead
* Remove SceneViewer from ScenePresence to reduce quadruple queueing ofDan Lake2011-11-111-0/+10
| | | | | | | | | | | | 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.
* Convert SendKillObject to take a list of uint rather than sending oneMelanie2011-11-061-19/+13
| | | | packet per prim. More to come as we change to make use of this.
* HUD attachments: Removes some more messages sent to wrong clients.Snoopy Pfeffer2011-11-061-1/+10
|
* Remove enableprejump config option and associated code as this is nowMelanie2011-11-051-3/+0
| | | | fully functional and cannot be disabled because that would break timings.
* Rename ForEachAvatar back to ForEachScenePresence. The other changesDan Lake2011-11-031-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.
* Renamed ForEachRootScenePresence to ForEachAvatar. Cleaned up calls toDan Lake2011-11-031-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.
* Port the Avination offline messaging system to CoreMelanie2011-11-021-1/+1
|
* Removed redundant SceneContents property from Scene. It's the same as ↵Dan Lake2011-11-011-5/+0
| | | | SceneGraph property.
* Removed see_into_this_sim_from_neighbor configuration option.Dan Lake2011-11-011-10/+0
|
* Removed unused show commands from Scene.cs and SceneBase.cs. The show ↵Dan Lake2011-10-311-27/+0
| | | | modules command in OpenSim.cs now shows both shared modules and region modules.
* Fix line endingsDan Lake2011-10-301-23/+23
|
* Experimental reorder of Heartbeat loop now simulates physics and sends ↵Dan Lake2011-10-301-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.
* Remove the SyncRoot locking from Scene which was only being done around the ↵Justin Clark-Casey (justincc)2011-10-291-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.
* Added new ForEachRootScenePresence to Scene since almost every delegate ↵Dan Lake2011-10-271-29/+31
| | | | passed to ForEachScenePresence checks for !IsChildAgent first. It consolidates child and root handling for coming refactors.
* Add new EventQueueTests with basic test to check that adding a client ↵Justin Clark-Casey (justincc)2011-10-241-1/+3
| | | | registers an http poll
* Get OdeScene to use passed in time step rather than hard-coded 0.089Justin Clark-Casey (justincc)2011-10-201-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
* Pass PhysicsScene.Simulate() only the MinFrameTime rather than the useless ↵Justin Clark-Casey (justincc)2011-10-201-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.
* Moved HaveNeighbor utility function from ScenePresence to Scene. Fixed line ↵Dan Lake2011-10-191-0/+40
| | | | endings from previous commit.
* Renamed and rearranged AvatarFactoryModule to eliminate redundant lookups of ↵Dan Lake2011-10-191-3/+3
| | | | scene presence by client ID.
* improve method doc on Scene.OtherRegionUp()Justin Clark-Casey (justincc)2011-10-151-4/+4
| | | | this is really just to trigger panda.
* move see_into_this_sim_from_neighbor [Startup] flag parsing into Scene with ↵Justin Clark-Casey (justincc)2011-10-151-3/+2
| | | | the others
* fetch physical_prim switch from [Startup] config from inside scene, as is ↵Justin Clark-Casey (justincc)2011-10-151-4/+9
| | | | done for most other scene config params
* factor common code out into SOP.RemoveFromPhysics()Justin Clark-Casey (justincc)2011-10-151-2/+1
|
* Expose minimum frame time and update periods for experimentation.Justin Clark-Casey (justincc)2011-10-131-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.
* refactor: Put the frame update period when temporary objects are cleaned up ↵Justin Clark-Casey (justincc)2011-10-131-4/+4
| | | | in a field, like all the other update periods
* refactor: chain the two scene constructors together to eliminate more copypastaJustin Clark-Casey (justincc)2011-10-131-29/+1
|
* Tie reported FPS correction factor into the minimum frame time rather than ↵Justin Clark-Casey (justincc)2011-10-131-3/+4
| | | | | | setting separately. This makes reported FPS scale as required if min frame time changes
* remove some mono compiler warningsJustin Clark-Casey (justincc)2011-10-121-36/+0
|