aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Rename ForEachAvatar back to ForEachScenePresence. The other changesDan Lake2011-11-035-13/+13
| | | | | | 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-036-63/+55
| | | | | | | | | | | | | | 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.
* Merge branch 'master' of melanie@opensimulator.org:/var/git/opensimMelanie2011-11-027-76/+69
|\
| * Merge branch 'master' of git://opensimulator.org/git/opensimDan Lake2011-11-021-2/+3
| |\
| | * Fix race condition that would sometimes send or save appearance for the ↵Justin Clark-Casey (justincc)2011-11-021-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | wrong avatar. In AvatarFactoryModule.HandleAppearanceUpdateTimer(), we loop through appearance save and send requests and dispatch via a FireAndForget thread. If there was more than one request in the save or send queue, then this led to a subtle race condition where the foreach loop would load in the next KeyValuePair before the thread was dispatched. This gave the thread the wrong avatar ID, leaving some avatar appearance cloudy since appearance data was never sent. This change loads the fields into local references so that this doesn't happen.
| * | Changes UpdateFlag in SOP to an enumeration of NONE, TERSE and FULL.Dan Lake2011-11-027-74/+66
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | 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.
* Part 2 of see_into_this_sim_from_neighbor configuration option removalDan Lake2011-11-011-10/+7
|
* Removed see_into_this_sim_from_neighbor configuration option.Dan Lake2011-11-012-11/+1
|
* Add "appearance send" command to allow manual sending of appearance.Justin Clark-Casey (justincc)2011-11-011-3/+3
|
* Removed unused show commands from Scene.cs and SceneBase.cs. The show ↵Dan Lake2011-10-312-48/+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-293-32/+18
| | | | | | 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.
* Remove completely unused SOG.Rotation parameterJustin Clark-Casey (justincc)2011-10-292-17/+9
| | | | We always use SOP.Rotation instead
* set grp.RootPart.GroupPosition for code consistency (and readability) rather ↵Justin Clark-Casey (justincc)2011-10-281-5/+0
| | | | than calling SOP.OffsetForNewRegion
* Add missing doc to rotation/position methods in SOGJustin Clark-Casey (justincc)2011-10-281-5/+5
|
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJustin Clark-Casey (justincc)2011-10-285-71/+76
|\
| * Continuation of previous checkin. Found more places where ↵Dan Lake2011-10-272-36/+26
| | | | | | | | ForEachScenePresence can be changed to ForEachRootScenePresence.
| * Added new ForEachRootScenePresence to Scene since almost every delegate ↵Dan Lake2011-10-273-35/+50
| | | | | | | | passed to ForEachScenePresence checks for !IsChildAgent first. It consolidates child and root handling for coming refactors.
* | fetch SOP.RotationOffset once in UpdateRotation() and compare rather than ↵Justin Clark-Casey (justincc)2011-10-282-6/+21
|/ | | | | | fetch four separate times. No functional change.
* Fix a bug I introduced yesterday in ODE physics where prim scripts would ↵Justin Clark-Casey (justincc)2011-10-271-0/+2
| | | | only receive the very first collision.
* Get rid of the pointless null checks on collision listeners. Add warning ↵Justin Clark-Casey (justincc)2011-10-252-7/+0
| | | | about synchronicity for PhysicsActor.OnCollisionUpdate event doc
* For ScenePresence collision events, instead of creating a new ↵Justin Clark-Casey (justincc)2011-10-251-4/+6
| | | | | | 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.
* Make OpenSim.Framework.Servers.HttpServer rely on OpenSim.Framework instead ↵Justin Clark-Casey (justincc)2011-10-251-0/+1
| | | | | | | | | of the other way around. This is necessary so that code in HttpServer can use framework facilities such as the thread watchdog for monitoring purposes. Doing this shuffle meant that MainServer was moved into OpenSim/Framework/Servers Also had to make OpenSim.Framework.Console rely on OpenSim.Framework rather than the other way around since it in turn relies on HttpServer MainConsole and some new interfaces had to be moved into OpenSim/Framework to allow this. This can be reverted if parts of OpenSim.Framework stop relying on console presence (cheifly RegionInfo)
* 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
* Comment out the uuid gatherer lines that I accidentally left in.Justin Clark-Casey (justincc)2011-10-231-4/+4
|
* Get UUIDGatherer to scan notecards in the graph for asset uuids.Justin Clark-Casey (justincc)2011-10-222-16/+48
| | | | | This is to support npc baked texture saving in oars and iars. May address http://opensimulator.org/mantis/view.php?id=5743
* 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.
* Removed redundant NotInTransit function from ScenePresence. ↵Dan Lake2011-10-191-5/+0
| | | | IsInTransit=false does the same thing and NotInTransit was not used anywhere.
* Moved HaveNeighbor utility function from ScenePresence to Scene. Fixed line ↵Dan Lake2011-10-193-50/+50
| | | | endings from previous commit.
* Merge branch 'master' of git://opensimulator.org/git/opensimDan Lake2011-10-191-5/+9
|\
| * Extend scripts stop/start/suspend/resume console commands to allow action on ↵Justin Clark-Casey (justincc)2011-10-191-5/+9
| | | | | | | | | | | | a single script by giving the script item id (which can be found via scripts show). Not an ideal way to do this on a region with many scripts. Needs refinement later.
* | Renamed and rearranged AvatarFactoryModule to eliminate redundant lookups of ↵Dan Lake2011-10-193-7/+10
|/ | | | scene presence by client ID.
* Allow an avatar to be explicitly named to the "debug packet" commandJustin Clark-Casey (justincc)2011-10-171-2/+3
|
* refactor: Make IClientAPI.DebugPacketFormat a property rather than a setter ↵Justin Clark-Casey (justincc)2011-10-171-1/+1
| | | | without a getter
* refactor: Use SOP.SitTargetAvatar instead of calling a special ↵Justin Clark-Casey (justincc)2011-10-172-10/+9
| | | | GetAvatarOnSitTarget() which returned exactly the same thing
* Implement osNpcStand(<npc-id>)Justin Clark-Casey (justincc)2011-10-171-0/+8
| | | | Allows you to stand an NPC that has sat.
* Implement osNpcSit(). This is still in development so don't trust itJustin Clark-Casey (justincc)2011-10-173-5/+13
| | | | | | | | | 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 :)
* 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-152-38/+17
| | | | done for most other scene config params
* remove now redundant m_physical_prim flag from SOP.ApplyPhysics()Justin Clark-Casey (justincc)2011-10-152-6/+6
|
* Restore [Startup] physical_prim flag which can stop any prims being subject ↵Justin Clark-Casey (justincc)2011-10-151-1/+6
| | | | | | | 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.
* remove redundant PhysActor.IsPhysical call from SOP.UpdatePrimFlags() as its ↵Justin Clark-Casey (justincc)2011-10-151-4/+0
| | | | done immediately afterwards in DoPhysicsPropertyUpdate()
* refactor: Remove redundant code in SOP.UpdatePrimFlags()Justin Clark-Casey (justincc)2011-10-151-27/+21
|
* factor common code out into SOP.RemoveFromPhysics()Justin Clark-Casey (justincc)2011-10-152-7/+18
|
* refactor: rename IClientAPI.SendPrimUpdate() to SendEntityUpdate() since it ↵Justin Clark-Casey (justincc)2011-10-142-3/+3
| | | | sends entity updates (including presence ones), not just prims.