| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|/
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|\ |
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/ |
|
|
|
|
| |
SceneGraph property.
|
| |
|
| |
|
| |
|
|
|
|
| |
modules command in OpenSim.cs now shows both shared modules and region modules.
|
| |
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
We always use SOP.Rotation instead
|
|
|
|
| |
than calling SOP.OffsetForNewRegion
|
| |
|
|\ |
|
| |
| |
| |
| | |
ForEachScenePresence can be changed to ForEachRootScenePresence.
|
| |
| |
| |
| | |
passed to ForEachScenePresence checks for !IsChildAgent first. It consolidates child and root handling for coming refactors.
|
|/
|
|
|
|
| |
fetch four separate times.
No functional change.
|
|
|
|
| |
only receive the very first collision.
|
|
|
|
| |
about synchronicity for PhysicsActor.OnCollisionUpdate event doc
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
| |
registers an http poll
|
| |
|
|
|
|
|
| |
This is to support npc baked texture saving in oars and iars.
May address http://opensimulator.org/mantis/view.php?id=5743
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
IsInTransit=false does the same thing and NotInTransit was not used anywhere.
|
|
|
|
| |
endings from previous commit.
|
|\ |
|
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
| |
scene presence by client ID.
|
| |
|
|
|
|
| |
without a getter
|
|
|
|
| |
GetAvatarOnSitTarget() which returned exactly the same thing
|
|
|
|
| |
Allows you to stand an NPC that has sat.
|
|
|
|
|
|
|
|
|
| |
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 :)
|
|
|
|
| |
this is really just to trigger panda.
|
|
|
|
| |
the others
|
|
|
|
| |
done for most other scene config params
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
done immediately afterwards in DoPhysicsPropertyUpdate()
|
| |
|