| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
ever using the root prim one, store on SOG instead.
This reduces pointless memory usage.
|
|
|
|
|
|
| |
only ever using the root part entry.
This eliminates some pointless memory use.
|
| |
|
|
|
|
|
|
|
|
| |
or attachments.
Return relative position to root prim rather than 0,0,0.
Should fix same issue with llGetLocalPos()
http://opensimulator.org/mantis/view.php?id=5951
|
|
|
|
|
|
| |
prim collision status
factor out common SOP physics scene adding code into a common SOP.AddToPhysics() that is the counterpart to the existing RemoveFromPhysics()
|
|
|
|
|
|
|
|
| |
null then assume it was still not null in later code.
Another thread could come and turn off physics for a part (null PhysicsActor) at any point.
Had to turn off localCopy on warp3D CoreModules section in prebuild.xml since on current nant this copies all DLLs in bin/ which can be a very large number with compiled DLLs
No obvious reason for doing that copy - nothing else does it.
|
| |
|
|
|
|
|
|
| |
http://opensimulator.org/mantis/view.php?id=5893
Signed-off-by: nebadon <michael@osgrid.org>
|
|
|
|
|
|
|
|
|
|
|
| |
update when scene objects have been deleted.
At least on mono 2.6.4, running GC.Collect() is not guaranteed to force gc of all objects when run in the same method where those objects had references.
Therefore, GC.Collect() is now being done in the per-script teardown of ObjectTortureTests.
In addition, scene loop update is being run after garbage collection in order to clean out the viewer update list of scene objects in the SceneGraph.
These measures mean that scene objects/parts are now garbage collected after a test run if deleted from the scene, resulting in a much better memory usage report (though probably still not very accurate).
However, deletion takes a very long time - what's really needed is to find out now why the entire scene isn't being GC'd by this measure.
This change hasn't yet been applied to the other stress tests.
|
|
|
|
| |
This is not valid in the case of BasicPhysics which can return a null PhysicsActor (though I think it should really return a do-nothing PhysicsActor).
|
|
|
|
| |
triggering events on a potentially null Scene
|
|\ |
|
| |
| |
| |
| | |
texEntry) for region modules
|
| |
| |
| |
| |
| | |
rotating physical objects. This does not use physics. Currently the rate
of change is determined as 1 / (PI * Strength).
|
| |
| |
| |
| | |
location of the user's UAS. This corrects an earlier design which had some cases pointing to the profile server. WARNING: CONFIGURATION CHANGES in both the sims (*Common.ini) and the Robust configs (Robust.HG.ini). Please check diff of the example files, but basically all vars that were pointing to profile should point to the UAS instead and should be called HomeURI.
|
| | |
|
| |
| |
| |
| | |
early access to changed parameters.
|
|/
|
|
| |
module access.
|
|
|
|
| |
external as a property
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
These were entirely unused.
|
|
|
|
| |
potential race condition.
|
| |
|
|
|
|
|
| |
We are returning the actual number of 'sides', not the maximum index number.
Also minor format corrections.
|
|
|
|
|
|
| |
Meshs are handeled as sculpts but can have up to 8 faces (SL restriction the collada format can handle even more). The patch enables all LSL function that adressing faces to behave correct. Like llGetNumberOfSides(); llSetLinkPrimitiveParamsFast(); llSetPrimitiveParams(); llSetColor();
Signed-off-by: marc <mare@sounddog.net>
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
own private m_localID property but leaving get to return the then unset PhysicsActor.LocalId!
Instead, just have both subclasses use the PhysicsActor.LocalID property.
This restores collision functionality that fell away in 45c7789 yesterday
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
properties packet sends and so one part is not telling a different part what to do. That should be up to the SOG to manage permissions on its parts and notify clients when one of them changes.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|\ |
|
| |
| |
| |
| | |
ForEachScenePresence can be changed to ForEachRootScenePresence.
|
|/
|
|
|
|
| |
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.
|
|
|
|
| |
GetAvatarOnSitTarget() which returned exactly the same thing
|
|
|
|
|
|
|
|
|
| |
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 :)
|
|
|
|
| |
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()
|
| |
|