aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes (unfollow)
Commit message (Collapse)AuthorFilesLines
2011-11-05Fix NPC sitting for prims without a sit target.Justin Clark-Casey (justincc)2-11/+21
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-05Replacing te linking code with the code from Avination. Link sets prims are nowMelanie2-36/+12
numbered properly even when sets are linked to sets.
2011-11-04On standup, trigger the changed link script event after the avatar has been ↵Justin Clark-Casey (justincc)1-2/+3
fully changed. This was meant to help with the script in http://opensimulator.org/mantis/view.php?id=5772 but it doesn't work. Probably the event is fired before the physics actor has been set up again for the stood avatar. Fixing that would be much more complicated, but processing the event last of all seems like a good idea in any case.
2011-11-03Rename ForEachAvatar back to ForEachScenePresence. The other changesDan Lake5-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.
2011-11-03Renamed ForEachRootScenePresence to ForEachAvatar. Cleaned up calls toDan Lake6-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.
2011-11-02Port the Avination offline messaging system to CoreMelanie1-1/+1
2011-11-02Fix link order when linking sets to setsMelanie2-40/+18
2011-11-02Changes UpdateFlag in SOP to an enumeration of NONE, TERSE and FULL.Dan Lake7-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.
2011-11-02Fix race condition that would sometimes send or save appearance for the ↵Justin Clark-Casey (justincc)1-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.
2011-11-01Removed redundant SceneContents property from Scene. It's the same as ↵Dan Lake1-5/+0
SceneGraph property.
2011-11-01Part 2 of see_into_this_sim_from_neighbor configuration option removalDan Lake1-10/+7
2011-11-01Removed see_into_this_sim_from_neighbor configuration option.Dan Lake2-11/+1
2011-11-01Add "appearance send" command to allow manual sending of appearance.Justin Clark-Casey (justincc)1-3/+3
2011-10-31Removed unused show commands from Scene.cs and SceneBase.cs. The show ↵Dan Lake2-48/+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)3-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.
2011-10-29Remove completely unused SOG.Rotation parameterJustin Clark-Casey (justincc)2-17/+9
We always use SOP.Rotation instead
2011-10-28set grp.RootPart.GroupPosition for code consistency (and readability) rather ↵Justin Clark-Casey (justincc)1-5/+0
than calling SOP.OffsetForNewRegion
2011-10-28Add missing doc to rotation/position methods in SOGJustin Clark-Casey (justincc)1-5/+5
2011-10-28fetch SOP.RotationOffset once in UpdateRotation() and compare rather than ↵Justin Clark-Casey (justincc)2-6/+21
fetch four separate times. No functional change.
2011-10-27Continuation of previous checkin. Found more places where ↵Dan Lake2-36/+26
ForEachScenePresence can be changed to ForEachRootScenePresence.
2011-10-27Added new ForEachRootScenePresence to Scene since almost every delegate ↵Dan Lake3-35/+50
passed to ForEachScenePresence checks for !IsChildAgent first. It consolidates child and root handling for coming refactors.
2011-10-27Fix a bug I introduced yesterday in ODE physics where prim scripts would ↵Justin Clark-Casey (justincc)1-0/+2
only receive the very first collision.
2011-10-25Get rid of the pointless null checks on collision listeners. Add warning ↵Justin Clark-Casey (justincc)2-7/+0
about synchronicity for PhysicsActor.OnCollisionUpdate event doc
2011-10-25For ScenePresence collision events, instead of creating a new ↵Justin Clark-Casey (justincc)1-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.
2011-10-25Make OpenSim.Framework.Servers.HttpServer rely on OpenSim.Framework instead ↵Justin Clark-Casey (justincc)1-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)
2011-10-25Fix a missing locking callMelanie1-0/+1
2011-10-25MergeMelanie2-3/+1
2011-10-25Fix ground sit autopilotMelanie2-9/+19
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-24Fake an AgentCircuitData if none is available rather than crashing outMelanie1-2/+24
2011-10-23Comment out the uuid gatherer lines that I accidentally left in.Justin Clark-Casey (justincc)1-4/+4
2011-10-22Get UUIDGatherer to scan notecards in the graph for asset uuids.Justin Clark-Casey (justincc)2-16/+48
This is to support npc baked texture saving in oars and iars. May address http://opensimulator.org/mantis/view.php?id=5743
2011-10-21Allow updating the movement animation while flying. This fixes falling,Melanie1-20/+6
splatting and ground sit. Walking to a ground sit still doesn't work.
2011-10-20Fix up the animator and ScenePresence to like each other againMelanie2-7/+24
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-19Removed redundant NotInTransit function from ScenePresence. ↵Dan Lake1-5/+0
IsInTransit=false does the same thing and NotInTransit was not used anywhere.
2011-10-19Moved HaveNeighbor utility function from ScenePresence to Scene. Fixed line ↵Dan Lake2-48/+48
endings from previous commit.
2011-10-19Renamed and rearranged AvatarFactoryModule to eliminate redundant lookups of ↵Dan Lake2-4/+4
scene presence by client ID.
2011-10-17Allow an avatar to be explicitly named to the "debug packet" commandJustin Clark-Casey (justincc)1-2/+3
2011-10-17refactor: Make IClientAPI.DebugPacketFormat a property rather than a setter ↵Justin Clark-Casey (justincc)1-1/+1
without a getter
2011-10-17refactor: Use SOP.SitTargetAvatar instead of calling a special ↵Justin Clark-Casey (justincc)2-10/+9
GetAvatarOnSitTarget() which returned exactly the same thing
2011-10-17Implement osNpcSit(). This is still in development so don't trust itJustin Clark-Casey (justincc)2-5/+4
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-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)2-38/+17
done for most other scene config params
2011-10-15remove now redundant m_physical_prim flag from SOP.ApplyPhysics()Justin Clark-Casey (justincc)2-6/+6
2011-10-15Restore [Startup] physical_prim flag which can stop any prims being subject ↵Justin Clark-Casey (justincc)1-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.