Justin Clark-Casey (justincc)
f0406f9fe2
Rename SOG.HasChildPrim(uint) to SOG.ContainsPart(uint) to match existing ContainsPart method and remove method duplication.
...
HasChildPrim is also misleading since the 'root' prim can also be returned.
2012-03-31 01:45:37 +01:00
Melanie
808995fb68
Merge branch 'ubitwork'
2012-03-19 14:25:11 +01:00
Melanie
c7e302864a
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
OpenSim/Region/Framework/Scenes/Scene.cs
2012-03-18 20:44:56 +00:00
UbitUmarov
ae8e089b9c
some more work on costs
2012-03-16 15:33:49 +00:00
Justin Clark-Casey (justincc)
a4b01ef38a
Replace script-lines-per-second with the script execution time scaled by its measurement period and an idealised frame time.
...
The previous lines-per-second measurement used for top scripts report was inaccurate, since lines executed does not reflect time taken to execute.
Also, every fetch of the report would reset all the numbers limiting its usefulness and we weren't even guaranteed to see the top 100.
The actual measurement value should be script execution time per frame but XEngine does not work this way.
Therefore, we use actual script execution time scaled by the measurement period and an idealised frame time.
This is still not ideal but gives reasonable results and allows scripts to be compared.
This commit moves script execution time calculations from SceneGraph into IScriptModule implementations.
2012-03-16 00:34:30 +00:00
UbitUmarov
cf9ebd301c
bug fixs, added a default physics shape estimator based on being a mesh or not and use it on unlink if new root part as type none. Viewer doesn't get updated even with fullupdates we are missing something still
2012-03-14 18:24:04 +00:00
UbitUmarov
bf2a5508de
bug fix
2012-03-13 19:17:32 +00:00
Melanie
22e0cc09ac
Ensure child prims of a phantom prim are marked as phantom
2012-03-13 13:12:14 +01:00
Melanie
ebcd4910a2
Refactor, move OjectChangeData into it's own file and rename
...
ObjectChnageWhat what into ObjectChangeType change. What is
no name for a variable or type!
2012-03-13 13:08:32 +01:00
Melanie
edc8a15487
Restore duplication of the SL bug where linking phantom to solid lets the
...
child prim remain phantom
2012-03-12 14:06:39 +01:00
UbitUmarov
dab7e03584
bug fix (??) in sog copy()
2012-03-11 08:43:53 +00:00
UbitUmarov
80160c128d
coments change..
2012-03-11 02:58:56 +00:00
UbitUmarov
dba0d79833
minor changes on updates control on doChangeObject(..)
2012-03-11 02:55:39 +00:00
UbitUmarov
908abb1c3d
BIG MESS. changed Iclient interface so only one event is used to inform scene about position scale or rotation change by client (others can be added). Its served at SceneGraph that does permition checks, undostore and sends down to SOG. changed values are stored in a class (ObjectChangeData) and what is changed as a enum (ObjectChangeWhat) with bit fields and 'macros' of this for better readability (at top of scenegraph.cs lasy to find better place for now) this can be extended for other things clients changes and need undo/redo. SOG process acording to what is changed. Changed UNDO/redo to use this also (warning is only storing what is changed, previus stored all, this must be checked for side efects. to save all PRS change commented line in scenegraph). Still have excessive calls to ScheduleGroupForTerseUpdate. **** UNTESTED ****
2012-03-10 20:32:19 +00:00
UbitUmarov
e83a2181d0
on linking update linked parts physical flags acording to new parent ones ( untested )
2012-03-09 17:19:10 +00:00
UbitUmarov
05cdf9bda9
more changes in undo/redo. Basicly moved control to llclientview.cs. later we can move back to a dispatcher function on SOG that handles the several cases( in a viwer independent way (?)) and calls current exec funtions. made cosmetic changes replacing decimals by hexs so bits are easier to read. Changed behavour of case 12 and 28 ( 0x0c and 0x1c) to make identical to 0x0d and 0x1d ( scale only and scale plus position). DOn't see 12 and 28 in use... cases 1c and 1d still broken
2012-03-09 01:53:58 +00:00
UbitUmarov
3d3b81e676
changes on undo/redo (untested/incomplete). Think we may consider moving this mfrom SOP to client side. At least does seem to work a bit better ( again there wwas a issue on sop.copy )
2012-03-07 07:31:26 +00:00
Melanie
de03d1ece0
Removed some whitespace errors - don't be naughty, don't use hard tabs!
...
Also removed commented code block.
2012-03-06 09:56:19 +01:00
UbitUmarov
cca94aaefc
make copied parts have diferent LocalIds than original. More building control for ubitODE. for all let physics know about linking of physical parts. Assume UNTESTED
2012-03-06 05:13:39 +00:00
Melanie
6dc4a6dfb1
Zero velocity when drag-copying
2012-03-04 00:06:07 +01:00
Melanie
fca8c82232
Move KeyframeMotion from SOG to SOP because we can't persist it any
...
other way because SOG doesn't technically exist in the DB
2012-02-26 18:11:38 +01:00
Melanie
ac1e30156a
Implement proper selection behavior
2012-02-26 15:09:00 +01:00
Melanie
8cdc115c91
Fix deserialization of Buoyancy, Force and Torque. Remove debug from the new
...
code.
2012-02-26 14:30:24 +01:00
Melanie
aa552d0526
Serialize Keyframe motion for region crossings
2012-02-26 12:29:35 +01:00
Melanie
e9120890a2
Merge branch 'ubitwork'
2012-02-26 02:41:41 +01:00
Melanie
c82709c0d6
Implement llSetKeyframedMotion. No persistence, no region crossing. Yet.
2012-02-26 02:36:34 +01:00
UbitUmarov
e07440d0c5
changed SOP Force and Torque, adding XML (de/)serialization, also changed Buoyance. PLEASE trap deserialization from inventory etc, making force and torque vector3.Zero, unless we want then to rez moving. (needs checking/testing as usual)
2012-02-25 22:20:25 +00:00
Melanie
e74bf46007
Prevent a nullref when nonphysical motion objects cross sim boundaries
2012-02-23 23:18:01 +01:00
Melanie
8f8206f478
Add an override to make SOG.Velocity work as expected
2012-02-20 16:55:12 +01:00
Melanie
96409cc2ee
Merge branch 'ubitwork'
...
Conflicts:
OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs
OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs
2012-02-19 20:08:01 +01:00
UbitUmarov
b77d354e6d
moved vehicle from SOG to SOP
2012-02-19 13:21:01 +00:00
Melanie
185bf55804
Merge branch 'master' of ssh://3dhosting.de/var/git/careminster
2012-02-19 14:20:53 +01:00
Melanie
985526b662
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs
2012-02-18 22:21:10 +00:00
UbitUmarov
3aee642190
changed how vehicle data is stored and passed to physics. use unsafe in serializer, tried to control m_dupeInProgress
2012-02-18 17:42:14 +00:00
UbitUmarov
91a326331f
vehicle parameters do cross (i hope) on regions in same instance ( others need xml)
2012-02-18 16:16:48 +00:00
UbitUmarov
5351ff925c
let SOG know about vehicles. Still needs serialization and applyphyscis on deserialize, etc
2012-02-18 14:08:42 +00:00
PixelTomsen
4486b7d8e8
Fix: Object owned by the group does not return to the last owner http://opensimulator.org/mantis/view.php?id=5404
2012-02-16 03:35:18 +00:00
UbitUmarov
3bffdddc9d
don't freeze with a sitted avatar in a border without other sim. Still messy :(
2012-02-15 22:04:17 +01:00
UbitUmarov
b59275355e
don't freeze with a sitted avatar in a border without other sim. Still messy :(
2012-02-15 19:44:54 +00:00
UbitUmarov
a758abaa9f
try to make crossings work better. chode no longer prevents crossings i hope
2012-02-15 17:08:33 +00:00
UbitUmarov
f6f0d884bd
try to make crossings work better. chode no longer prevents crossings i hope
2012-02-15 16:44:15 +01:00
UbitUmarov
04279e36d1
Merge branch 'master' of ssh://3dhosting.de/var/git/careminster into ubitwork
2012-02-15 03:51:30 +00:00
Melanie
2d3381b795
Implement region crossing of sitting avatars. Edit mode and llSetPos work
...
but unscripted default sit anim is lost. Still some Gfx glitching. Physical
crossing doesn't work yet.
2012-02-14 23:16:20 +01:00
Melanie
e321306517
Prevent object loss and positioning outside the region with failed object sim
...
crossings
2012-02-14 00:02:53 +01:00
UbitUmarov
e3f5fd81f1
Merge branch 'master' of ssh://3dhosting.de/var/git/careminster into ubitwork
...
Conflicts:
prebuild.xml
2012-02-10 23:03:30 +00:00
Melanie
7c888f6af1
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/Framework/Scenes/SceneGraph.cs
2012-02-09 00:19:37 +00:00
UbitUmarov
6af01f6767
initial introdution of physics actor building control.
2012-02-08 23:14:53 +00:00
Justin Clark-Casey (justincc)
dfa19e23f0
Stop a scene object from attempting to link with itself (which results in an exception and constant complaints in v3 viewers).
...
Aims to address http://opensimulator.org/mantis/view.php?id=5878
2012-02-08 22:19:34 +00:00
Melanie
236e1c45f2
Merge branch 'master' into careminster
2012-02-07 23:30:48 +00:00
Justin Clark-Casey (justincc)
c87751a822
Add start GC memory and end GC memory to object stress test printouts.
...
This illustrates that references to Scene, SOG, etc. are not currently being released when a stress test ends (or at regression test end in general).
This means even the current stress tests take much more memory than they need, a problem that will have to be addressed.
2012-02-07 23:03:53 +00:00
Melanie
54fc78013d
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/Framework/Scenes/Scene.cs
2012-02-05 20:58:04 +00:00
BlueWall
4e11983c7c
Make configuration uniform
...
Pickup the max physical prim size in Scene to make it uniform since adding code to get default size from the OpenSim*.ini.
2012-02-05 12:38:20 -05:00
Melanie
6fe4b6fbe8
Fix remembering attachment point and position when an item is rezzed in world.
...
Also fix PRIM_LOCAL_POS returning 0 when used on child prims from a script
in the root.
2012-02-02 02:51:59 +01:00
Melanie
16aa00e944
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
2012-02-01 10:08:45 +00:00
Justin Clark-Casey (justincc)
ab89adfaef
Implement "show object uuid <uuid>" console command.
...
This will show details about a part with the given uuid if it's found.
2012-01-31 23:03:39 +00:00
Melanie
abffda269f
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
2012-01-28 04:05:53 +00:00
Justin Clark-Casey (justincc)
154ba0124a
Add experimental --publish option to "save oar" so that OARs reloaded to the same grid don't have the publisher as owner.
2012-01-28 02:21:41 +00:00
Mic Bowman
e1a2c44ebe
Cleaned up the LookAt code in SOP and SOG. Added support for incrementally
...
rotating physical objects. This does not use physics. Currently the rate
of change is determined as 1 / (PI * Strength).
2012-01-13 14:48:56 -08:00
Melanie
32b8fa4a77
Prevent spurious "CHANGED_POSITION" during region backup
2012-01-05 07:37:09 +01:00
Melanie
b8a914b15b
Merge branch 'master' into careminster
2011-12-23 01:00:34 +00:00
Mic Bowman
f394cb2e8f
fix the UsesPhysics flag to reference the physics flag rather than the temponrez flag
2011-12-22 16:21:32 -08:00
Melanie
eef6f92029
Merge branch 'master' into careminster
2011-12-22 19:52:59 +00:00
Justin Clark-Casey (justincc)
f7dbdba447
Remove unused m_physicalPrim parameter from SOG.ApplyPhysics()
2011-12-22 19:52:09 +00:00
Melanie
759f1d2dbe
Merge branch 'master' into careminster
2011-12-18 10:49:45 +00:00
Melanie
8a9a8ed5c9
Fix hit testing link sets properly. Fix raycasting for LSL.
2011-12-17 12:31:25 +01:00
Justin Clark-Casey (justincc)
f9137c923b
Fix bug where objects could not be set to a new group if the group had been 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
2011-12-17 02:23:24 +00:00
Justin Clark-Casey (justincc)
1bf05fbb1f
refactor: simplify methods in Scene.PacketHandlers.cs by using GetGroupByPrim() rather than retrieving GetEntities() and inspecting the entire list
2011-12-17 00:11:17 +00:00
Justin Clark-Casey (justincc)
a3a17e929e
Stop generating client flags when we send out full object updates.
...
These were entirely unused.
2011-12-16 23:20:12 +00:00
Melanie
898549d13e
Merge branch 'master' into careminster
2011-12-14 08:57:55 +00:00
Dan Lake
f43e5f92fd
Just adding a comment to SendFullUpdatToClient
2011-12-13 23:34:59 -08:00
Melanie
5490a3e549
Fix phantom and temp flags not taking
2011-12-06 19:44:45 +01:00
Melanie
df35720cf5
Merge branch 'master' into bigmerge
...
Conflicts:
OpenSim/Region/Framework/Scenes/SceneViewer.cs
2011-11-14 20:34:49 +00:00
Dan Lake
5fd1749150
Remove SceneViewer from ScenePresence to reduce quadruple queueing of
...
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.
2011-11-11 17:16:52 -08:00
Dan Lake
9359293b11
Cleaned UpdatePermissions calls on SOP and SOG to eliminate redundant 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.
2011-11-10 15:20:21 -08:00
Melanie
e9055cec17
Merge branch 'master' into bigmerge
2011-11-10 23:44:19 +00:00
Melanie
4939d99b57
Merge branch 'master' into bigmerge
2011-11-10 23:03:50 +00:00
Dan Lake
f3fea81936
Merge branch 'master' of git://opensimulator.org/git/opensim
2011-11-10 14:09:53 -08:00
Dan Lake
18c625bda6
When updating SOG, a physics taint should not override a full update with a terse update
2011-11-10 14:09:35 -08:00
Melanie
a1426739a2
Merge branch 'master' into bigmerge
2011-11-10 17:35:35 +00:00
Justin Clark-Casey (justincc)
4f6915bad5
minor: Correct misleading method doc on SOG.UpdateRootRotation()
2011-11-09 21:49:08 +00:00
Melanie
323b76cee4
Merge branch 'master' into bigmerge
...
Conflicts:
OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs
OpenSim/Region/Framework/Scenes/Scene.cs
OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
2011-11-06 20:54:13 +00:00
Melanie
c7dd7b13a2
Convert SendKillObject to take a list of uint rather than sending one
...
packet per prim. More to come as we change to make use of this.
2011-11-06 20:38:07 +00:00
Melanie
03f5bbcaf2
Merge branch 'master' into bigmerge
...
Conflicts:
OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-11-05 11:17:40 +00:00
nebadon
e3885625a0
Don't rotate child prims, if only the root prim is rotated.
2011-11-05 02:26:25 -07:00
Melanie
c803ed28c3
Replacing te linking code with the code from Avination. Link sets prims are now
...
numbered properly even when sets are linked to sets.
2011-11-05 00:09:37 +00:00
Melanie
24235006f4
Merge branch 'master' into bigmerge
...
Conflicts:
OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs
OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs
OpenSim/Region/CoreModules/LightShare/LightShareModule.cs
OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
2011-11-04 01:18:37 +00:00
Dan Lake
b8d50b10fb
Rename ForEachAvatar back to ForEachScenePresence. The other changes
...
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-03 17:53:51 -07:00
Dan Lake
94dc7d07eb
Renamed ForEachRootScenePresence to ForEachAvatar. Cleaned up calls to
...
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-03 17:06:08 -07:00
Melanie
26a4f32013
Merge branch 'bigmerge' of ssh://3dhosting.de/var/git/careminster into bigmerge
2011-11-02 23:42:37 +01:00
Melanie
243acef917
Merge branch 'master' into bigmerge
...
Conflicts:
OpenSim/Region/Framework/Scenes/SceneGraph.cs
OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2011-11-03 00:06:14 +00:00
Melanie
ce8419fdd0
Fix link order when linking sets to sets
2011-11-02 23:42:09 +01:00
Dan Lake
e2c51a977d
Changes UpdateFlag in SOP to an enumeration of NONE, TERSE and FULL.
...
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-02 14:59:00 -07:00
Melanie
083b28de8c
Merge branch 'master' into bigmerge
...
Conflicts:
OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
2011-10-30 10:16:25 +00:00
Justin Clark-Casey (justincc)
61e97ee4c8
Remove completely unused SOG.Rotation parameter
...
We always use SOP.Rotation instead
2011-10-29 00:39:01 +01:00
Justin Clark-Casey (justincc)
c2da1c4580
set grp.RootPart.GroupPosition for code consistency (and readability) rather than calling SOP.OffsetForNewRegion
2011-10-28 23:43:31 +01:00
Justin Clark-Casey (justincc)
9bf8c3e7b7
Add missing doc to rotation/position methods in SOG
2011-10-28 23:38:57 +01:00
Melanie
e2de57ca29
Merge commit '0c041ce12f393367e2754e88d9b8dad5e45f88c4' into bigmerge
...
Conflicts:
OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-10-25 02:26:56 +01:00
Melanie
585f1b189f
Merge
2011-10-25 02:08:43 +01:00
Melanie
3cdea11e29
Merge commit '5ddefc256468e4b394d82a2c4bc69fe28c4b59ea' into bigmerge
2011-10-25 01:54:07 +01:00
Justin Clark-Casey (justincc)
5ddefc2564
remove now redundant m_physical_prim flag from SOP.ApplyPhysics()
2011-10-15 02:47:27 +01:00
Melanie
1c2b5d99c9
Merge branch 'bigmerge' of ssh://3dhosting.de/var/git/careminster into bigmerge
2011-10-12 00:10:15 +02:00
Melanie
7891433148
Merge commit '56dbab35e122e724c9277b05820417a05ad8a1be' into bigmerge
2011-10-11 23:16:43 +01:00
Melanie
a157fdedcf
Merge commit '2b2580e3a12d5c493f9a77bf9435ca32a0a0355c' into bigmerge
...
Conflicts:
OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
2011-10-11 23:08:07 +01:00
Melanie
652c59c0a9
Merge commit 'd358125cac4e01194dae4b1f0bc9afc87e463f76' into bigmerge
2011-10-11 22:42:18 +01:00
Melanie
cc1fe354d0
Merge commit 'de19dc3024e5359f594d0a32c593d905163c24ea' into bigmerge
...
Conflicts:
OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
2011-10-11 21:21:44 +01:00
Melanie
9500415c61
Merge branch 'careminster-presence-refactor' into bigmerge
2011-10-06 17:57:28 +02:00
Melanie
300d357573
Fix physics proxy position when linking and rotating the root prim only
2011-10-06 17:55:20 +02:00
Justin Clark-Casey (justincc)
56dbab35e1
Remove unimplementated UpdateMovement() methods from SOG, SOP.
...
SP still has an implementation but this is now just a public method on SP rather than an abstract one in EntityBase.
No point making the code more complex until it actually needs to be,
2011-10-01 01:26:50 +01:00
Snoopy Pfeffer
2b2580e3a1
Fix for rezzing and derezzing HUDs (see Mantis #5406 ). From now on updates are only sent to affected clients.
2011-09-25 00:51:43 +02:00
Justin Clark-Casey (justincc)
d358125cac
Reinstate option to land an npc when it reaches a target.
...
This is moved into ScenePresence for now as a general facility
2011-09-22 00:16:05 +01:00
Justin Clark-Casey (justincc)
de19dc3024
refactor: rename SOG/SOP.GetProperties() to SendPropertiesToClient() to reflect what it actually does
...
This also makes it consistent with some other methods that send data to the client.
2011-09-15 18:58:58 +01:00
Tom
cda4cd6b55
Merge fixes, and fix the build
2011-09-14 18:46:42 -07:00
Tom
03f6734f43
First set of merge fixes
2011-09-07 09:42:18 -07:00
Tom
9cc2d0b60a
Now merging the core changes.
2011-09-04 08:30:23 -07:00
Tom
af59352c4c
Change of tactic. Reverting this to the careminster version, then i'll selectively merge the changes made to core.
2011-09-04 07:54:17 -07:00
Tom
9ab951a954
I fucked up the merge for SOG, so reverting back to OpenSim Core's version...
2011-09-04 07:38:25 -07:00
Tom
66dec3b874
Resolve merge commits, stage 1
2011-09-04 07:06:36 -07:00
Justin Clark-Casey (justincc)
26b471f25a
Go back to resetting the State parameter for all parts of a SOG when SOG.ClearPartAttachmentData() is called.
...
Even though we don't use these on rez they are still present after an unlink, after which selecting them causes various viewers to crash
Hopefully really does address http://opensimulator.org/mantis/view.php?id=5664
2011-09-02 22:28:27 +01:00
Justin Clark-Casey (justincc)
7eca929686
Eliminate pointless checks of SOG.RootPart != null
...
It's never possible for SOG to have no RootPart, except in the first few picosends of the big bang when it's pulled from region persistence or deserialized
2011-09-01 02:11:00 +01:00
Justin Clark-Casey (justincc)
a90e1cf3aa
add Name property to ISceneEntity
2011-08-30 22:39:16 +01:00
Justin Clark-Casey (justincc)
1615e7d29f
Eliminate duplicate AttachmentPoint properties by always using the one stored in the root part's state field.
2011-08-27 00:33:24 +01:00
Justin Clark-Casey (justincc)
33a894f3d2
refactor: move SOP.IsAttachment and AttachmentPoint up into SOG to avoid pointless duplication of identical values
2011-08-27 00:15:21 +01:00
Justin Clark-Casey (justincc)
15a514fcbc
refactor: simplify SOP.AttachedAvatar into SOG.AttachedAvatar
...
This does a tiny bit to reduce code complexity, memory requirement and the cpu time of pointlessly setting this field to the same value in every SOP
2011-08-26 23:06:41 +01:00
Justin Clark-Casey (justincc)
5f3ffc195f
refactor: move SOG.DetachToGround() to AttachmentsModule.DetachSceneObjectToGround() and remove redundant code
2011-08-26 22:49:11 +01:00
Justin Clark-Casey (justincc)
002313bf13
refactor: move sog.DetachToInventoryPrep() into AttachmentsModule.DetachSingleAttachmentToInv()
2011-08-26 22:02:23 +01:00
Justin Clark-Casey (justincc)
6d4432f440
refactor: simplify EntityBase.IsDeleted property
2011-08-24 22:34:26 +01:00
Justin Clark-Casey (justincc)
9ba4511d3e
add SOG helper properties IsPhantom, IsTemporary, etc. to improve code readability
...
use these in some sog methods
2011-08-24 21:53:12 +01:00
Justin Clark-Casey (justincc)
5d6c9644fa
early code to allow scripts to force npcs not to fly when moving to target
...
this is to allow walking on prims. it will be up to the script writer to be sure that there is a continuous path.
currently implemented in osNpcMoveToTarget(), but none of this is final.
2011-08-10 01:47:37 +01:00
Justin Clark-Casey (justincc)
ba89fc3aa1
Add regression test for setting phantom status on a scene object. This is not yet complete.
2011-08-05 23:42:05 +01:00
Justin Clark-Casey (justincc)
a333c60f28
refactor: rename the move to position methods to move to target to be consistent with terminology used by scene object part and elsewhere
2011-08-03 22:34:05 +01:00
Justin Clark-Casey (justincc)
2964467708
get rid of vestigal move to parameters
2011-08-03 22:11:05 +01:00
Justin Clark-Casey (justincc)
c122489e09
Partially fix autopilot/go here
...
This now works again except that it requires a click or avatar mvmt to get going
This is because the ScenePresence.HandleAgentUpdate() method doesn't trigger until the client does something significant, at which point autopilot takes over.
Even clicking is enough to trigger.
This will be improved presently.
2011-08-02 23:41:12 +01:00
Justin Clark-Casey (justincc)
bc3679b67d
Fix undo when changing just the root prim's position in a linkset.
...
I think (ha ha) this largely fixes undo, except for the fact that rotation a set of prims with 'edit linked parts' selected doesn't quite work properly (though this works fine if the checkbox isn't selected).
Also, the double undo bug for resize is still present.
Redo might be incredibly buggy, haven't even looked at that yet.
2011-07-19 05:46:17 +01:00
Justin Clark-Casey (justincc)
0ef29da9b2
refactor: rename UpdatePrimPosition() to UpdatePrimGroupPosition() for consistency
2011-07-19 05:20:04 +01:00
Justin Clark-Casey (justincc)
62325829ec
comment out all kinds of debugging guff
2011-07-19 05:14:58 +01:00
Justin Clark-Casey (justincc)
1fdb16f1cd
Fix undo for rotation of the root prim in a linkset on its own.
...
The only obviously broken things right now are the undo of the position of just a root prim (stays in place) and the fact that resizes need two undoes.
2011-07-19 05:05:50 +01:00
Justin Clark-Casey (justincc)
b2722e984a
Fix undo of rotation of single prims in a linkset
2011-07-19 04:40:02 +01:00
Justin Clark-Casey (justincc)
97f1edfd95
Fix undo of prim group rotation.
...
This isn't that great since I think I broke it a few commits earlier.
Undo of rotation of individual prims in a linkset is still broken
2011-07-19 04:15:27 +01:00
Justin Clark-Casey (justincc)
c94dc95844
fix undo when resizing of non-root individual prims in a linkset
...
undo resize, rotation and position still needs fixing when only editing root prim of a linkset
2011-07-19 03:27:16 +01:00
Justin Clark-Casey (justincc)
430a4aeba8
Fix undo for resizing linksets
...
This involves implementing a boolean in UndoState to signal whether the undo needs to be done for an entire group/linkset or just a single prim
Resizing individual components of linksets is still dodgy.
Resizing still has to be down twice, since for some reason the client is sending two multiobjectupdate packets on every resize except the very first. This applies to single prims and linksets. Need to look into this.
2011-07-19 03:01:54 +01:00
Justin Clark-Casey (justincc)
6fc74b36d1
Make various tweaks to undo code in an effort to get things working better.
...
Undo rotation and position appear to be working.
Resizing a single prim appears to be working, though the undo has to be done twice.
Resizing a group of prims still does not work properly - possibly because in the UndoState we don't store a knowledge of when we're resizing a whole group rather than individual prims.
This needs to be addressed.
2011-07-18 04:54:21 +01:00
Justin Clark-Casey (justincc)
f5ddf37112
Replace ifs in SOG.GroupResize() with Math.Min()
...
Also fiddle a bit with undo. This is not currently working properly, though to be fair it also didn't appear to work in 0.7.1.1 either (at least for resize).
Will get some more attention soon.
2011-07-16 05:23:21 +01:00
Justin Clark-Casey (justincc)
9a80adf33a
remove now unncessary parts of SceneObjectGroup.Resize()
2011-07-16 04:49:21 +01:00
Justin Clark-Casey (justincc)
2b68ac4ba3
refactor: Push all part resize code down into SceneObjectPart.Resize()
2011-07-16 04:22:57 +01:00
Justin Clark-Casey (justincc)
df2a59d31b
refactor: make SceneObjectGroup.GroupScale() a property rather than a mehod
2011-07-16 03:30:14 +01:00
Justin Clark-Casey (justincc)
982e71b6b8
eliminate unused and redundant SceneObjectGroup.AssetReceived()
2011-07-16 03:08:28 +01:00
Justin Clark-Casey (justincc)
c82f19e41c
fix build break from last commit
2011-07-16 03:06:30 +01:00
Justin Clark-Casey (justincc)
27fae36a21
remove the need to supply SceneObjectGroup.GroupResize() with a localId.
...
This is utterly pointless scene we already know which sog we're dealing with.
2011-07-16 02:53:36 +01:00
Justin Clark-Casey (justincc)
50bd48542c
Add very basic test for resizing a scene object with one prim
2011-07-16 02:44:00 +01:00
Justin Clark-Casey (justincc)
da7340b9fb
If resized shape is a mesh/sculpt, leave it to the mesh asset callback to trigger the physics actor taint.
...
In the last commit, the fix was made by updating all the child prim physics actors with the new size rather than just the root part.
2011-07-16 01:42:56 +01:00
Justin Clark-Casey (justincc)
18652eb87e
Fix physics proxy regeneration when a mesh with more than one submesh is resized
...
Addresses http://opensimulator.org/mantis/view.php?id=5584
2011-07-16 01:36:27 +01:00
root
b5fcd2caba
Fix some local id issues in physics glue
2011-07-15 20:11:12 +01:00
root
e9dbe54ab1
Fix some local id issues in physics glue
2011-07-15 20:07:59 +01:00
Robert Adams
b55076990c
fix duplication of physical objects for physics engines that care about the initial value of localID
2011-07-15 11:37:34 -07:00
Melanie
c7dbd7cbd0
Fox some local id issues in physics glue
2011-07-15 19:36:00 +02:00
Melanie
8dff9d564d
Revert "Add localid support to ch0de properly"
...
This reverts commit bb402d0d95
.
2011-07-15 19:35:49 +02:00
Tom
bb402d0d95
Add localid support to ch0de properly
2011-07-15 12:08:40 -07:00
Justin Clark-Casey (justincc)
df0e5cc9fe
When a mesh object is added to a scene, delay adding the physics actor until the sculpt data has been added to the shape (possibly via an async asset service request)
...
This prevents spurious 'no asset data' for meshes added on startup.
2011-07-12 02:33:09 +01:00
Justin Clark-Casey (justincc)
0badf3718d
refactor: push the part of SceneObjectGroup.CheckSculptAndLoad() that actually deals with the part into a SceneObjectPart.CheckSculptAndLoad() method
2011-07-11 03:35:29 +01:00
Justin Clark-Casey (justincc)
2f3d0e209f
When a sculpt/mesh texture is received by a part on a callback request, don't do the unnecessary work of copying the base shape.
...
Just setting the new base shape is enough to reinsert the sculpt data and set the taint.
Also cleans up a few more left-in debugging messages.
2011-07-11 03:13:59 +01:00
Justin Clark-Casey (justincc)
01b98c2e62
refactor: Make arguments for SceneObjectGroup.UpdatePrimFlags() more readable
2011-07-11 02:18:19 +01:00
Mic Bowman
ad84728aba
Add localID to physical object creation functions.
2011-06-15 11:31:32 -07:00
Mic Bowman
29da57e380
Add the PhysActor to the correct SOP when duplicating a physical
...
prim. Thanks, MisterBlue
2011-06-15 11:26:45 -07:00
Melanie
a1c16a4200
Merge branch 'master' into careminster-presence-refactor
2011-06-11 12:08:02 +01:00
Justin Clark-Casey (justincc)
b5518dc906
minor: Add some commented out destructor logging messages for potential future use.
...
At the moment, client and scene objects are being garbage collected as expected, at least in simple scenarios.
2011-06-10 20:40:14 +01:00
Melanie
61bf2bf2dd
Make Buoyancy a prim property
2011-06-02 18:32:25 +02:00
Melanie
4d324f1b74
Change setter on changed flags to public so modules can reset it
2011-05-26 16:29:00 +02:00
Melanie
28c25d8477
Allow disabling the legacy backup mechanism to avoid the object clone if
...
backup is not used.
2011-05-24 04:03:51 +01:00
Melanie
62e0c96036
Allow disabling the legacy backup mechanism to avoid the object clone if
...
backup is not used.
2011-05-24 03:37:25 +02:00
Diva Canto
73caa4e94a
Minor correction to yesterday's changes. Make normal prim crossing (no attach) work well again.
2011-04-29 08:42:51 -07:00
Diva Canto
9892e115cc
Fatpack message on agent transfers: 1 message only (UpdateAgent) containing the agent and all attachments. Preserves backwards compatibility -- older sims get passed attachments one by one. Meaning that I finally introduced versioning in the simulation service.
2011-04-28 20:19:54 -07:00
Melanie
d1913f2429
Merge branch 'master' into careminster-presence-refactor
2011-04-18 20:17:29 +01:00
Mic Bowman
452ae375f0
Merge branch 'master' into test-merge0418
2011-04-18 11:29:43 -07:00
Melanie
474910c9d6
Merge branch 'master' into careminster-presence-refactor
2011-04-17 18:48:53 +01:00
Justin Clark-Casey (justincc)
aaf9125869
simplify coalesced object tests by using existing scene object set up utils
...
this change makes it possible to set an absolute position on a group before it is put into a scene.
2011-04-14 17:33:55 +01:00
Mic Bowman
69d014e1dc
First pass at moving object property requests into a queue similar
...
to the entity update queue. The number of property packets can
become significant when selecting/deselecting large numbers of
objects.
This is experimental code.
2011-04-12 15:58:57 -07:00
Melanie
738daadace
Merge branch 'master' into careminster-presence-refactor
2011-04-08 04:16:29 +01:00
Justin Clark-Casey (justincc)
8318915d7e
Signal prim count taint if the AbsolutePosition of a scene object changes.
...
This updates prim counts correctly if an object is moved by something other than an avatar (e.g. scripts, region modules)
Create TestMoveOwnerObject() regression test for this case.
2011-04-06 20:48:00 +01:00
Melanie
407c2b1823
Merge branch 'master' into careminster-presence-refactor
2011-04-06 09:22:55 +01:00
Justin Clark-Casey (justincc)
2497962360
Change some text to make the autoreturn mechanism more obvious, and align with the fact that it's one word rather than two.
2011-04-05 22:25:00 +01:00
Tom
f7276dda02
Flag root prim changes for persistence
2011-03-27 14:20:25 -07:00
Tom
2d2a1acfae
Upgrade terse to full update on root rotation change. Not entirely sure why, but it seems that the terse update causes the first prim to rotate improperly on occasion (only temporary, it's fixed by the full update on deselect, but this will prevent confusion.)
2011-03-27 13:43:32 -07:00
Tom
553a195493
Fix issues with UpdateRootRotation and also increase efficiency
2011-03-27 13:09:19 -07:00
Kitto Flora
b6dda231f2
Corrections for Avatar Auto-pilot target; add llStopMoveToTarget() for Avatar-attached.
2011-02-04 17:31:52 +00:00
Melanie
72048169c0
Taint SOGs the right way
2011-01-10 22:02:09 +01:00
Melanie
f2dd324bc8
Fix linking link sets to rotated prims.
2010-12-26 20:42:47 +01:00
Melanie
62e66b17bc
Make sure the material is set on physical prims
2010-12-15 17:54:57 +01:00
Melanie
342dc532ec
Merge branch 'master' into careminster-presence-refactor
...
Also prevent god takes from ending up in Lost and Found
2010-12-03 02:36:13 +00:00
Justin Clark-Casey (justincc)
7e72afcb3e
Only force prim persistence before delete if the prim is the result of an unpersisted delink
...
This considerably improves delete performance for objects with large linksets
2010-12-03 00:12:59 +00:00
Melanie
b3a71c6df1
Prevent an overlength button label from producing a debug dump and aborting
...
the script.
2010-11-24 18:56:25 +01:00
Melanie
6557d5f359
Merge branch 'master' into careminster-presence-refactor
2010-11-23 14:05:09 +00:00
Marck
e1c72cedb3
Let CHANGED_SCALE also trigger when editing prims and linksets with the viewer's edit tools.
...
This event used to trigger only when the scale was changed with a script.
2010-11-22 19:38:44 +01:00
Melanie
7bb005b0d1
Change the way attachments are persisted. Editing a worn attachment will now
...
save properly, as will the results of a resizer script working. Attachment
positions are no longer saved on each move, but instead are saved once on
logout. Attachment script states are saved as part of the attachment now
when detaching.
2010-11-16 21:01:56 +00:00
Melanie
4f15b8d4e6
Change the way attachments are persisted. Editing a worn attachment will now
...
save properly, as will the results of a resizer script working. Attachment
positions are no longer saved on each move, but instead are saved once on
logout. Attachment script states are saved as part of the attachment now
when detaching.
2010-11-16 20:44:39 +01:00
Melanie
15da52d73a
Prevent temp-on-rez prims from being persisted
2010-11-08 19:00:03 +01:00
Melanie
b8924167e0
Fix creation of a duplicate physics actor on chained drag-copy operations,
...
the main cause for "ghost prims"
2010-11-04 10:37:39 +01:00
Melanie
52dd547863
Make SendKillObject send multiple localIDs in one packet. This avoids the
...
halting visual behavior of large group deletes and eliminates the packet flood
2010-10-08 11:31:52 +02:00
Melanie
9a5d0984a5
Fix autoreturn to not return zero objects
2010-10-07 02:16:36 +01:00
Melanie
2db0ac74c7
Implement taking of coalesced objects.
...
WARNING!!!!!
You can TAKE them, but you can't REZ them again. Only the first of the contained
objects will rez, the rest is inaccessible until rezzing them is implemented.
Also, rotations are not explicitly stored. This MAY work. Or not.
2010-10-07 01:13:17 +02:00
Melanie
abfede7819
Plumb the path for multiple object deletes
2010-10-06 20:00:51 +01:00
Melanie
42f76773a1
Plumb the path for multiple object deletes
2010-10-06 19:59:30 +02:00
Melanie
9522881404
Fix a potential key collision
2010-09-30 02:46:47 +02:00
Melanie
4fbdcb95a0
Merge branch 'master' into careminster-presence-refactor
2010-09-25 06:19:26 +01:00
Justin Clark-Casey (justincc)
6325fa515d
Add UUID to physics prim name parameter so that diagnostic messages can be made more useful.
...
If a separate UUID parameter is better for the future then this can be added later on.
2010-09-25 00:51:40 +01:00
Melanie
41847e8fdf
Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor
2010-09-21 04:03:40 +01:00
Melanie
9feef34a81
Merge branch 'master' into careminster-presence-refactor
2010-09-21 04:03:14 +01:00
Justin Clark-Casey (justincc)
a85779e477
If the uuid of a SceneObjectGroup (RootPart) is changed before adding to the scene, remove the old uuid reference from m_parts as well as adding the new one.
...
The separate remove and set operations is SOG.set_UUID() are both locked under m_parts.SyncRoot since they are logically atomic (though this isn't such an issue if the SOG isn't part of a scene)
Added unit test for this behaviour.
Also changed the second m_parts.AddOrReplace() to m_parts.Add(). As the old reference is now removed we never end up replacing an identical uuid. And if we replace a uuid that's already there (from a child part) then this is an error.
2010-09-21 00:58:54 +01:00
Melanie
9cf8795ecf
Fix a merge artefact that broke script state persistence in XAttachments
2010-09-19 22:53:05 +02:00
root
87a1e00f05
Remove the now unused partslock
2010-09-17 04:00:00 +02:00
Melanie
7df4383235
Merge branch 'master' into careminster-presence-refactor
...
Integrate the next large patch.
Don't use this version, it has a ghost avatar issue. Next push
will fix it.
2010-09-17 03:49:30 +01:00
John Hurliman
b49cb3355f
Fixed a regression in SOG.Copy()
2010-09-16 17:57:00 -07:00
John Hurliman
860b2a502f
Changed SceneObjectGroup to store parts with the fast and thread-safe MapAndArray collection
2010-09-16 17:30:46 -07:00
root
1e4e978f7f
Removing debug
2010-09-16 23:26:53 +02:00
root
a0c87b5af6
JustinCC is evil. f7b28dd3
broke script persistence. This fixes it.
2010-09-16 23:12:32 +02:00
root
ec89dc99b7
Some small bug fixes
2010-09-16 18:58:25 +02:00
Melanie
58b1ee8e2c
Merge branch 'master' into careminster-presence-refactor
2010-09-16 18:04:50 +01:00
Justin Clark-Casey (justincc)
39d27fc879
rename SceneObjectGroup.DeleteGroup() to DeleteGroupFromScene() to improve code readability
2010-09-15 22:29:58 +01:00
Justin Clark-Casey (justincc)
16f296f489
Instead of locking SOG.Children when a group is being removed from the scene, iterate over an unlocked list instead
...
Previously, deadlock was possible because deleting a group took a SOG.Children lock then an m_entityUpdates.SyncRoot lock in LLClientView
At the same time, a thread starting from LLClientView.ProcessEntityUpdates() could take an m_entityUpdates.SyncRoot lock then later attempt to take a SOG.Children lock in PermissionsModule.GenerateClientFlags() and later on
Taking a children list in SOG appears to be a better solution than changing PermissionsModule to not relook up the prim. Going the permission modules root would require that all downstream modules not take a SOG.Children lock either
2010-09-15 21:51:13 +01:00
Melanie Thielker
540a1912ce
Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor
2010-09-14 22:14:23 +02:00
Melanie
1212cb0c74
Merge branch 'master' into careminster-presence-refactor
2010-09-14 22:03:42 +01:00
Melanie Thielker
cc290abf7a
Adjust the code for ghost prim removal to new information from Kitto
2010-09-14 22:13:44 +02:00
Melanie Thielker
d299f8b55c
Fix a small left over buglet and also add checking of the physics actor
...
position on backup. This way, ant object that has been moved will be
checked for ghost prims as soon as it is persisted.
2010-09-14 19:41:53 +02:00
Justin Clark-Casey (justincc)
36f81c66e5
Comment out SOG storing debug log message
...
This can get very spammy with regularly changing objects. Please uncomment if required.
2010-09-14 00:05:38 +01:00
Melanie
6a1ce17cdb
Merge branch 'master' into careminster-presence-refactor
...
The modules will need to be updated for this to compile and run again. Please
don't use until I do the companion commit to modules later on.
2010-09-13 16:17:38 +01:00
John Hurliman
c03b24cbfd
Merged
2010-09-12 14:21:51 -07:00
John Hurliman
0db1ed0b5a
* Added ISimulationDataService and IEstateDataService
...
* Removed StorageManager
* CONFIG CHANGE: There are no more database settings in OpenSim.ini. Check the config-include configuration files for region store and estate store database settings
2010-09-12 14:20:26 -07:00
Jeff Ames
f1f0bc23f4
Formatting cleanup.
2010-09-12 13:43:49 -04:00
John Hurliman
109b517583
Fixed the naming mess around data connectors for simulation data
2010-09-11 20:43:06 -07:00
John Hurliman
b597a295c4
Second pass at cleaning up thread safety in EntityManager and SceneGraph
2010-09-10 12:41:36 -07:00
Melanie
3284356bba
Merge branch 'master' into careminster-presence-refactor
2010-09-07 01:48:00 +01:00
Justin Clark-Casey (justincc)
3d033520fa
Fix deletion persistence when freshly delinked prims are removed
...
Previously, Scene.Inventory.DeRezObjects() forced the persistence of prims before deletion.
This is necessary so that freshly delinked prims can be deleted (otherwise they remain as parts of their old group and reappear on server restart).
However, DeRezObjects() deleted to user inventory, which is not required by llDie() or direct region module unlink and deletion.
Therefore, forced persistence has been pushed down into Scene.UnlinkSceneObject() to be more general, this is still on the DeRezObjects() path.
Uncommented TestDelinkPersistence() since this now passes.
Tests required considerable elaboration of MockRegionDataPlugin to reflect underlying storing of parts.
2010-09-07 01:43:20 +01:00
Justin Clark-Casey (justincc)
11f4a65f42
Fix deletion persistence when freshly delinked prims are removed
...
Previously, Scene.Inventory.DeRezObjects() forced the persistence of prims before deletion.
This is necessary so that freshly delinked prims can be deleted (otherwise they remain as parts of their old group and reappear on server restart).
However, DeRezObjects() deleted to user inventory, which is required by llDie() or direct region module unlink and deletion.
Therefore, forced persistence has been pushed down into Scene.UnlinkSceneObject() to be more general, this is still on the DeRezObjects() path.
Uncommented TestDelinkPersistence() since this now passes.
Tests required considerable elaboration of MockRegionDataPlugin to reflect underlying storing of parts.
2010-09-07 01:12:06 +01:00
Justin Clark-Casey (justincc)
953b7f4917
Add test to check persistence of newly added pre-linked objects
...
Added a MockRegionDataPlugin to do in-memory persistence for tests since adding this to OpenSim.Data.Null.NullDataStore doesn't seem appropriate
NullDataStore can do nothing because OpenSim only ever retrieve region objects from the database on startup. Adding an in-memory store here would be unecessary overhead.
2010-09-06 23:00:24 +01:00
Justin Clark-Casey (justincc)
6cbf66827b
refactor: move SOG.AttachToAgent() into AttachmentsModule
2010-09-01 01:11:52 +01:00
Melanie
79bfa275da
Merge branch 'master' into careminster-presence-refactor
2010-08-30 02:30:28 +01:00
Justin Clark-Casey (justincc)
1c0b4457cd
Improve liveness by operating on list copies of SOG.Children where appropriate
2010-08-28 00:40:33 +01:00
Justin Clark-Casey (justincc)
166ab59420
replace m_parts.Count linknum with 0 in CopyRootPart since m_parts.Count is always 0 (and any other number would cause an error anyway)
2010-08-26 00:15:26 +01:00
Justin Clark-Casey (justincc)
8031f8ec09
Improve consistency of locking for SOG.m_parts in order to avoid race conditions in linking and unlinking
2010-08-26 00:08:53 +01:00
Melanie
fc8d2be632
Merge branch 'master' into careminster-presence-refactor
...
This was rather conflicted. Please test linking.
2010-08-26 00:11:07 +01:00
Justin Clark-Casey (justincc)
24d06b12c2
If setting SOG.UUID, update the SOG.m_parts index as well as the root part UUID
...
Being able to change a SOG.UUID is useful for region modules that want to supply their own UUID, before the object is rezzed
2010-08-25 23:05:54 +01:00
Melanie
e74809ff4c
Merge branch 'master' into careminster-presence-refactor
2010-08-18 00:59:20 +01:00
Justin Clark-Casey (justincc)
39a748b47a
refactor: Use SOP.Flags rather than SOP.ObjectFlags
2010-08-13 20:23:53 +01:00
Mikko Pallari
3f942a4f74
Removed abstract SetText method from EntityBase to make cleaner API.
...
Signed-off-by: Melanie <melanie@t-data.com>
2010-08-10 19:37:15 +01:00
Justin Clark-Casey (justincc)
2a1c11fda9
On shift-copy of an object, set up a new physics actor (as appropriate) for every copied prim, not just the root
...
This addresses http://opensimulator.org/mantis/view.php?id=4295
2010-08-10 20:15:44 +01:00
meta7
fb14390fb0
Note to self: don't break the build
2010-08-10 09:17:30 -07:00
meta7
9fba4b66bb
Resolve merge failure
2010-08-10 09:11:55 -07:00
Melanie
24b9a2885f
Resolve merge issues
2010-08-10 20:11:55 +01:00
Melanie
c2e5d1d203
Merge branch 'master' into careminster-presence-refactor
2010-08-10 19:49:35 +01:00
Melanie
d98d5ee6be
Remove windows line endinge
2010-08-10 19:42:18 +01:00
meta7
1ead2ed5ee
Add a stack trace to the error output on the recursive read lock warning on my RWlocks. Whilst recursive locks are safe, coupled with other issues we're experiencing with the TaskInventoryDictionary it implies that somewhere the lock is not being freed possibly due to a merge error somewhere, and thus it needs to be looked into.
2010-08-10 09:07:17 -07:00
Melanie
321e1148da
Merge branch 'master' into careminster-presence-refactor
2010-08-08 18:24:33 +01:00
meta7
19ab4c9508
Fix a rather nasty issue where the Backup() process causes objects and avatars sitting on them to be pushed to the corner of the sim.
2010-08-07 16:52:03 -07:00
Justin Clark-Casey (justincc)
903cfa8c7e
minor: Remove overly verbose schedule full update log message for attachments
2010-08-07 22:28:42 +01:00
sacha
b58a47c373
Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor
2010-08-07 13:41:56 +00:00
sacha
00cc42a607
and another endless debug cleaning
2010-08-07 13:40:38 +00:00
Tom
4f80d75bf3
Add a CHANGED_POSITION event so scripts don't have to run expensive loops to check for position changes
2010-08-07 06:28:04 -07:00
Melanie
26387252f5
Merge branch 'master' into careminster-presence-refactor
2010-08-06 18:08:40 +01:00
Tom
a636af13e7
Make sure the avatar position gets moved along with a prim it is sitting on. This fixes mantis #208 and (maybe) issues with chat and sound coming from the wrong place when sat on a vehicle.
2010-08-06 06:37:40 -07:00
Justin Clark-Casey (justincc)
f067f733ea
add userExposed parameter to part copy event
2010-07-28 19:38:20 +01:00
Justin Clark-Casey (justincc)
b51b2efdc8
Add EventManager.OnSceneObjectPreSave() for future use. This is triggered immediately before a copy of the group is persisted to storage
2010-07-26 23:34:22 +01:00
Melanie Thielker
516ec4acd0
Eat a lockign exception that kills scripts. May bear more investigation
...
in the long run.
2010-07-25 08:11:39 +02:00
Melanie Thielker
d4022becc3
Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor
2010-07-21 12:16:30 +02:00
Melanie
f63a4c8f2f
Merge branch 'master' into careminster-presence-refactor
2010-07-21 12:03:44 +01:00
Melanie Thielker
c72c84b455
Refine autoreturn a bit
2010-07-21 12:16:17 +02:00
Melanie
ac1a34714d
Allow Megaregions to start properly after an unclean shutdown
2010-07-20 23:24:04 +01:00
Tom Grimshaw
c5891c14c7
Bail out in AttachToBackup if the group is an attachment
2010-07-13 15:32:35 -07:00
Tom Grimshaw
e947d04038
Undo fix is now complete. This commit repairs the special case of the root prim moving or rotating independently of the rest of the group.
2010-07-05 05:44:35 -07:00
Tom Grimshaw
8849b9af8b
Fix single prim rotation undo. All UNDO functions are now working correctly except for when the root prim is moved or rotated as a single prim (coming soon).
2010-07-04 20:45:11 -07:00
Tom Grimshaw
5b68343361
The majority of the Undo fix. There is still an issue with Rotation which i'll address next; however position undo and scale undo should be working just fine now. Also removed some residual debug logging.
2010-07-04 19:28:39 -07:00
Tom Grimshaw
fe2b044d38
Fix Undo! Made a lot of changes to Undo state saving; it now considers that groups of objects can be moved and not just individual prims..
2010-07-03 06:10:55 -07:00
Melanie Thielker
85a9c305a2
Remove AgentID and GroupOD from the signature of SOG.Copy(). They were never
...
used, but made for a very mispleading read of the code in the callers.
2010-06-28 01:43:26 +01:00
Melanie Thielker
4cdda2cae9
Fix Copy on Ray, Drag Copy and other little things. Removed the wrong and
...
nonworking ownership assignment in SOG, which messed things up before.
No longer trust the client to send the ID of the person something is copied
as, since it allows to run a script with someone else's permissions. Properly
adjust inventory ownership and perms.
2010-06-28 01:36:40 +01:00
Melanie Thielker
a817f6b48c
Remove AgentID and GroupOD from the signature of SOG.Copy(). They were never
...
used, but made for a very mispleading read of the code in the callers.
2010-06-28 01:48:24 +02:00
Melanie Thielker
d570cffa39
Fix Copy on Ray, Drag Copy and other little things. Removed the wrong and
...
nonworking ownership assignment in SOG, which messed things up before.
No longer trust the client to send the ID of the person something is copied
as, since it allows to run a script with someone else's permissions. Properly
adjust inventory ownership and perms.
2010-06-28 01:29:30 +02:00
Tom Grimshaw
f64d1cb396
Add new event: OnChangedBackup
2010-06-25 14:39:15 -07:00
Tom Grimshaw
96e649189f
Add two events: OnAttachToBackup and OnDetachFromBackup.
2010-06-25 14:25:39 -07:00
Tom Grimshaw
49d7d8534c
Allow moving an avatar as part of a linkset using llSetLinkPrimitiveParams. This unlocks an awful lot of poseball-free content, and is a step towards resolving mantis #59 .
2010-06-19 10:06:09 -07:00
Melanie Thielker
f9b4f5f594
Revert "Introduce SOP.UpdateSitters() to update sitting avatars' chat position if"
...
This reverts commit f59e272643
.
2010-06-14 00:05:01 +02:00
Melanie Thielker
f59e272643
Introduce SOP.UpdateSitters() to update sitting avatars' chat position if
...
needed
2010-06-13 22:21:05 +02:00
Tom Grimshaw
3ea11fe2e6
Get rid of spamming SOG debug message
2010-06-12 04:35:51 -07:00
Diva Canto
e80cb815df
Bug fix on attachments: attach->drop->attach works now.
2010-06-09 12:51:24 -07:00
Melanie
1dce243661
Merge branch 'master' into careminster-presence-refactor
2010-06-09 20:25:05 +01:00
Melanie
20ea823c19
Merge branch 'master' into careminster-presence-refactor
2010-06-08 22:07:01 +01:00
Justin Clark-Casey (justincc)
b6076d7b33
Reduce number of full updates sent on region crossing for attachments/huds to 1 from 3
...
This is one step towards reducing hud glitches on region crossing, since the viewer fails to display prims if it receives child full updates before the root prim full update
This commit also introduces a mechanism in LLClientView to stop child attachment updates ever going out before the root one
This is a very temporary mechanism and will be commented out when the next step of the fix (to give root prims higher udpate priority) is committed
This code is a foreport from the equivalent changes in 0.6.9-post-fixes
2010-06-08 15:07:57 +01:00
Melanie Thielker
16d8602d3c
Fix prim returns I broke earlier
2010-06-01 03:17:21 +02:00
Melanie Thielker
4867dd135d
Fix prim returns I broke earlier
2010-06-01 02:12:56 +01:00
Melanie Thielker
2fce7d9bcf
Split GetAxisAlignedBoundingBox into two methods to allow calculation of
...
combined bounding boxes and offsets
2010-06-01 02:10:08 +01:00
Melanie Thielker
70f7790413
Split GetAxisAlignedBoundingBox into two methods to allow calculation of
...
combined bounding boxes and offsets
2010-06-01 01:07:46 +02:00
Melanie Thielker
d4b4cbf5a5
Fix create selection getting overwritten by multiple updates for the same prim.
2010-05-31 19:00:02 +02:00
Melanie Thielker
e515467c5e
Fix create selection getting overwritten by multiple updates for the same prim.
2010-05-31 17:55:56 +01:00
Tom Grimshaw
e3dac1292e
Implement suspended updates - When an operation is occurring on lots of prims in a single group, don't schedule any updates until the operation has completed. This makes things like llSetAlpha(LINK_SET,0.0,ALL_SIDES); a *lot* faster, more efficient and less buggy, and also makes unlinking a lot better. Linking is still treacherous.. this needs to be analysed.
2010-05-29 02:10:34 -07:00
Melanie
297bcb5c3d
Merge branch 'master' into careminster-presence-refactor
2010-05-21 21:16:04 +01:00
John Hurliman
93ef65c690
* Moving all of the prioritization/reprioritization code into a new file Prioritizer.cs
...
* Simplified the interest management code to make it easier to add new policies. Prioritization and reprioritization share code paths now
* Improved the distance and front back policies to always give your avatar the highest priority
2010-05-21 13:55:36 -07:00
Tom Grimshaw
fd37a21b59
Kill some locks that have crept into SOG
2010-05-12 08:34:47 -07:00
Tom Grimshaw
3cda854ef3
Fix overlooked readLock which was left open
2010-05-10 08:47:41 -07:00
Melanie Thielker
8766401777
Adapt CM to the new CHANGED_OWNER handling
2010-05-03 04:28:30 +02:00
Melanie Thielker
81ff5eaba0
Make scripted attachment states work. Finally. Also replace two monitor locks
...
with RWLocks, hunting the 10^3 bug. Not successful, but needed to be done anyway
2010-04-25 22:03:35 +02:00
Melanie Thielker
31e0704c8d
Remove debug output, the culprit has been identified
2010-04-23 17:48:50 +02:00
Melanie Thielker
780630d7c0
Fix a nullref in attachment handling. Add some debug to find the attachment
...
state issue
2010-04-23 14:41:20 +02:00
Melanie
9920e219dd
Merge branch 'careminster' into careminster-presence-refactor
2010-04-13 04:36:08 +01:00
Thomas Grimshaw
2f454843d8
Fix up my own shoddy code! Fixes prim rez break. Whups!
2010-04-05 23:17:06 +02:00
Thomas Grimshaw
07b4889eab
Merge branch 'master' of ssh://TOR/var/git/careminster
2010-04-05 22:11:11 +02:00
Thomas Grimshaw
7a3bb266eb
This commit adds some randomness to object persistence. It's a Work In Progress, I am working on improving this to a tiered approach.
2010-04-05 22:11:05 +02:00
Melanie
2fbbc13c71
Fix some overlooked merge conflicts that got committed
2010-04-05 19:42:15 +01:00
Melanie
ba31b31ed0
Merge branch 'careminster' into careminster-presence-refactor
2010-04-05 18:22:15 +01:00
Melanie
04a68db195
Merge branch '0.6.9-post-fixes' into careminster
2010-04-05 18:10:36 +01:00
Melanie
7d917e7c5c
Rename Meta7Windlight to LightShare
2010-03-30 23:29:03 +01:00
Melanie
4c2a51b1b5
Merge branch 'master' into careminster-presence-refactor
2010-03-18 20:09:04 +00:00
Dan Lake
73e9b0be72
Inconsistent locking of ScenePresence array in SceneGraph. Fixed by eliminating option to return the actual list. Callers can now either request a copy of the array as a new List or ask the SceneGraph to call a delegate function on every ScenePresence. Iteration and locking of the ScenePresences now takes place only within the SceneGraph class.
...
This patch also applies a fix to Combat/CombatModule.cs which had unlocked iteration of the ScenePresences and inconsistent try/catch around the use of those ScenePresences.
2010-03-17 11:21:27 -07:00
Melanie
d3f33acc1a
Merge branch 'master' into careminster-presence-refactor
2010-03-15 17:23:35 +00:00
Melanie
898fa637c3
Merge branch 'careminster' into careminster-presence-refactor
2010-03-15 17:12:08 +00:00
Kitto Flora
8198062610
RotLookAt repaired; debug msg cleanup.
2010-03-14 16:22:13 -04:00
Jeff Ames
f58a0394ed
Formatting cleanup. Add copyright notices.
2010-03-10 13:15:36 +09:00
Justin Clark-Casey (justincc)
5caae0293a
Fix bug where approximately half the time, attachments would rez only their root prim until right clicked (or otherwise updated).
...
The root cause of this problem was that multiple ObjectUpdates were being sent on attachment which differed enough to confuse the client.
Sometimes these would eliminate each other and sometimes not, depending on whether the scheduler looked at the queued updates.
The solution here is to only schedule the ObjectUpdate once the attachment code has done all it needs to do.
Backport from head.
2010-03-09 18:53:04 +00:00
Melanie
1f7a0cf892
Merge branch '0.6.9-post-fixes' into careminster
2010-03-06 12:24:09 +00:00
Melanie
107a0a4905
Merge branch 'master' into careminster-presence-refactor
2010-03-04 11:02:01 +00:00
Justin Clark-Casey (justincc)
716e6f20e1
compiler warnings revealed that public PlaySoundSlavePrims properties were changing the wrong protected fields.
...
correcting these may resolve the sound problems seen recently on the mailing list, though not guaranteed.
2010-03-03 23:40:32 +00:00
Justin Clark-Casey (justincc)
8305e6af07
refactor: push sog.SendPartFullUpdate() down into sop where it better belongs
...
no functional changes
2010-03-03 23:29:09 +00:00
Justin Clark-Casey (justincc)
edb176447b
Fix bug where approximately half the time, attachments would rez only their root prim until right clicked (or otherwise updated).
...
The root cause of this problem was that multiple ObjectUpdates were being sent on attachment which differed enough to confuse the client.
Sometimes these would eliminate each other and sometimes not, depending on whether the scheduler looked at the queued updates.
The solution here is to only schedule the ObjectUpdate once the attachment code has done all it needs to do.
2010-03-03 22:14:06 +00:00
Melanie
028a87fe37
Merge branch 'master' into careminster-presence-refactor
...
This brings careminster on the level of master. To be tested
2010-03-03 02:07:03 +00:00
Jeff Ames
2dea162073
Formatting cleanup.
2010-02-22 12:25:59 +09:00
Justin Clark-Casey (justincc)
4c90ee2943
Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim
2010-02-16 19:08:06 +00:00
Justin Clark-Casey (justincc)
052f2b3e27
minor: Make SOG.DelinkFromGroup() return the newly delinked scene object instead of void
2010-02-16 14:36:08 +00:00
Revolution
9821c4f566
Revolution is on the roll again! :)
...
Fixes: Undo, T-pose of others on login, modifiedBulletX works again, feet now stand on the ground instead of in the ground, adds checks to CombatModule. Adds: Redo, Land Undo, checks to agentUpdate (so one can not fall off of a region), more vehicle parts. Finishes almost all of LSL (1 function left, 2 events).
Direct flames and kudos to Revolution, please
Signed-off-by: Melanie <melanie@t-data.com>
2010-02-14 22:18:46 +00:00
Melanie
c8f3bb56ff
Merge branch 'master' into careminster
2010-02-08 22:11:38 +00:00
Justin Clark-Casey (justincc)
9f4883d146
refactor: Reuse SceneObjectGroup.IsAttachmentCheckFull() in Scene.AddSceneObject since this wraps a check that is much less clear
2010-02-08 19:10:54 +00:00
Melanie
0f1a3f8ed2
Merge branch 'master' into careminster
2010-02-03 00:16:02 +00:00
Justin Clark-Casey (justincc)
96d5c8196a
minor: add reminder to lock SOG.Children before using it directly in order to avoid threading issues
2010-02-02 15:45:41 +00:00
Melanie
649d45a2d4
Merge branch 'master' into careminster
2010-01-11 02:04:58 +00:00
Melanie
2320b17ca9
Whitespace cleanup
2010-01-11 02:04:05 +00:00
Melanie
0ae861d7d7
Merge branch 'master' into careminster
2010-01-11 02:01:23 +00:00
Revolution
a0859754c0
Adds llRotTarget and the events at_rot_target and not_at_rot_target.
...
Signed-off-by: Melanie <melanie@t-data.com>
2010-01-11 02:00:40 +00:00
Melanie
aa51b83fdc
Merge branch 'master' into careminster
2009-12-31 23:31:45 +00:00
Revolution
3ec502f551
Readds llCollisionFilter and adds llPassCollision.
...
Applied with whitespace cleanup
Signed-off-by: Melanie <melanie@t-data.com>
2009-12-31 23:29:32 +00:00
Melanie
fa0621b486
Merge branch 'master' into careminster
2009-12-22 00:41:56 +00:00
Melanie
e530180c1e
Glue code for a couple of new LSL function implementations
2009-12-22 00:26:12 +00:00
CasperW
172e2f4e76
Fix to existing ReaderWriterLockSlim implementations
2009-12-06 17:23:07 +01:00
Melanie
5259a32319
Remove extra forced updates. They're not needed for each prim. Really.
2009-12-06 02:53:50 +00:00
Melanie
e3a22ff37d
Eliminate multiple updates on link/unlink
2009-12-06 02:53:34 +00:00
Melanie
f2891e7738
Remove extra forced updates. They're not needed for each prim. Really.
2009-12-06 00:50:28 +00:00
Melanie
ceccfe02d0
Eliminate multiple updates on link/unlink
2009-12-06 00:02:24 +00:00
Melanie
43a6fa1d01
Merge branch 'master' into careminster
2009-12-05 19:53:54 +00:00
Teravus Ovares (Dan Olivares)
781db43a76
* Fixes the 10x10x10 hard physics limitation. (wierdly, you have to set this for each region in your Regions.ini[PhysicalPrimMax = 10(default)])
...
* Adds a configurable maximum object mass before the mass is clamped. Default is 10000.01. Configurable by changing maximum_mass_object in the [ODEPhysicsSettings] section.
* Clamping the mass is important for limiting the amount of CPU an object can consume in physics calculations. Too high, and the object overcomes restitution forces by gravity alone. This generates more collisions potentially leading to 'deep think'.
2009-12-03 20:21:10 -05:00
CasperW
2e6dce434f
Enforce physical prim max size on single prims.
...
Also convert a lock() to ReaderWriterLockSlim that i missed in the last commit
2009-11-30 21:52:55 +01:00
CasperW
9888f95068
Convert multiple lock()s which directly hinder script performance in linksets to ReaderWriterLockSlim.
2009-11-30 21:17:15 +01:00
Melanie
b9eb244d6d
Reset update flag when a SOG is deleted. This fixes llDie();
2009-11-27 08:59:03 +00:00
Melanie
aa695e92f7
Reset update flag when a SOG is deleted. This fixes llDie();
2009-11-27 08:58:26 +00:00
Melanie
06f41bb017
Merge branch 'master' into careminster
2009-11-26 17:27:03 +00:00
Melanie
9d63f90467
Remove the old (Remoting) region crossing code. Fix the new code to
...
pass script state and assembly again properly. Reintroduce respecting tht
TrustBinaries flag. Changes the interregion protocol! No version bump
because it was broken anyway, so with a version mismatch it will simply
stay broken, but not crash. Region corssing still doesn't work because
there is still monkey business with both rezzed prims being pushed across
a border and attached prims when walking across a border. Teleport is
untested by may work.
2009-11-26 17:03:09 +00:00
KittoFlora
873c9098d8
Merge branch 'careminster' into tests
2009-11-16 01:40:15 +01:00
Diva Canto
d5c18f6149
Make GroupRootUpdate be a terse update. This method is not used by opensim (it should), but it's used by external modules.
2009-11-14 14:14:08 -08:00
John Hurliman
ec2ebf2598
Removing EntityBase.Rotation
2009-11-04 16:08:10 -08:00
John Hurliman
1927945053
Another race condition fix in SceneObjectGroup
2009-11-02 15:09:07 -08:00
John Hurliman
59eb378d16
Small performance tweaks to code called by the heartbeat loop
2009-10-28 23:10:16 -07:00
John Hurliman
1c9696a9d2
Always send a time dilation of 1.0 while we debug rubberbanding issues
2009-10-28 15:11:01 -07:00
KittoFlora
1113b3b6eb
Merge branch 'vehicles' into tests
...
Conflicts:
OpenSim/Region/Physics/Manager/PhysicsActor.cs
OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
2009-10-27 22:42:55 +01:00
John Hurliman
d199767e69
Experimental change of PhysicsVector to Vector3. Untested
2009-10-26 18:23:43 -07:00
KittoFlora
8428b25939
Add llRotLookat pt1.
2009-10-26 00:10:23 +01:00
John Hurliman
730930955a
Changing Scene.ForEachClient to use the synchronous for loop instead of Parallel. This is quite possibly the source of some deadlocking, and at the very least the synchronous version gives better stack traces
...
* Lock the LLUDPClient RTO math * Add a helper function for backing off the RTO, and follow the optional advice in RFC 2988 to clear existing SRTT and RTTVAR values during a backoff
* Removing the unused PrimitiveBaseShape.SculptImage parameter * Improved performance of SceneObjectPart instantiation * ZeroMesher now drops SculptData bytes like Meshmerizer, to allow the texture data to be GCed * Improved typecasting speed in MySQLLegacyRegionData.BuildShape()
* Improved the instantiation of PrimitiveBaseShape
2009-10-25 00:40:21 -07:00
John Hurliman
62f1a5e36d
Implemented a "FrontBack" prioritizer, using distance plus the plane equation to give double weight to prims/avatars in front of you
2009-10-23 02:38:59 -07:00
John Hurliman
588361e2a2
Experimental change to use an immutable array for iterating ScenePresences, avoiding locking and copying the list each time it is accessed
2009-10-23 01:02:36 -07:00
Melanie
c4969d47d9
Merge branch 'master' into vehicles
2009-10-22 07:12:10 +01:00
John Hurliman
142008121e
* Change Util.FireAndForget to use ThreadPool.UnsafeQueueUserWorkItem(). This avoids .NET remoting and a managed->unmanaged->managed jump. Overall, a night and day performance difference
...
* Initialize the LLClientView prim full update queue to the number of prims in the scene for a big performance boost
* Reordered some comparisons on hot code paths for a minor speed boost
* Removed an unnecessary call to the expensive DateTime.Now function (if you *have* to get the current time as opposed to Environment.TickCount, always use DateTime.UtcNow)
* Don't fire the queue empty callback for the Resend category
* Run the outgoing packet handler thread loop for each client synchronously. It seems like more time was being spent doing the execution asynchronously, and it made deadlocks very difficult to track down
* Rewrote some expensive math in LandObject.cs
* Optimized EntityManager to only lock on operations that need locking, and use TryGetValue() where possible
* Only update the attachment database when an object is attached or detached
* Other small misc. performance improvements
2009-10-19 15:19:09 -07:00
John Hurliman
4b75353cbf
Object update prioritization by Jim Greensky of Intel Labs, part one. This implements a simple distance prioritizer based on initial agent positions. Re-prioritizing and more advanced priority algorithms will follow soon
2009-10-15 16:35:27 -07:00
Melanie
6deef7d0f3
Merge branch 'master' into vehicles
2009-10-15 21:14:13 +01:00
Dan Lake
5976ac16b0
Optimized heartbeat by calling Update() only on updated objects.
...
During the heartbeat loop, Update() is called on every SceneObjectGroup which in turn checks if any SceneObjectPart has changed. For large regions (> 100k prims) this work consumes 20-30% of a CPU even though there are only a few objects updating each frame.
There is only one other reason to check every object on every frame, and that is the case where a script has registered the object with an "at target" listener. We can easily track when an object is registered or unregistered with an AtTarget, so this is not a reason to check every object every heartbeat.
In the attached patch, I have added a dictionary to the scene which tracks the objects which have At Targets. Each heartbeat, the AtTarget() function will be called on every object registered with a listener for that event. Also, I added a dictionary to SceneGraph which stores references to objects which have been queued for updates during the heartbeat. At each heartbeat, Update() is called only on the objects which have generated updates during that beat.
2009-10-13 19:32:59 -07:00
Melanie
46955f4260
Merge branch 'master' into vehicles
2009-10-02 19:04:46 +01:00
dr scofield (aka dirk husemann)
2107b67f1b
- cleaning up LandData/ILandObject capitalization issues
...
- adding LandDataSerializer to OAR mechanics
2009-10-02 11:31:30 +02:00
Melanie
212e132e79
Revert "* Adding Scale to EntityBase * Fixing the incorrect initialization of EntityBase.Rotation * Removed SceneObjectGroup.GroupRotation and added overrides for Scale/Rotation/Velocity"
...
This reverts commit 39842eb4af
.
2009-10-02 00:47:01 +01:00
Melanie
d6301db382
Revert "* Adding Scale to EntityBase * Fixing the incorrect initialization of EntityBase.Rotation * Removed SceneObjectGroup.GroupRotation and added overrides for Scale/Rotation/Velocity"
...
This reverts commit 39842eb4af
.
2009-10-02 00:45:31 +01:00
Melanie
41ff39414b
Merge branch 'master' into vehicles
2009-10-01 14:08:15 +01:00
John Hurliman
cb26878f96
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2009-09-30 17:51:34 -07:00
Jeff Ames
606e831ff5
Formatting cleanup.
2009-10-01 09:38:36 +09:00
John Hurliman
acfe2d9f4e
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2009-09-30 15:28:23 -07:00
Kitto Flora
07df0e0ab0
Merge branch '0.6.7-post-fixes' into vehicles
2009-09-30 19:07:18 +02:00
opensim
827b0fb199
Commit initial version of KittoFlora's vehicle changes
2009-09-30 18:51:02 +02:00
Jeff Ames
ee205e7e81
Formatting cleanup.
2009-10-01 01:17:47 +09:00
Teravus Ovares (Dan Olivares)
2bb513329a
* Does a full battery of tests to ensure that the object isn't an attachment before border crossing
...
* Fixes 'Inconsistent Attachment State' when teleporting into another region besides the SW most region slot on a MegaRegion.
* Fixes a host of other unintended attachment border cross edge cases that lead to Inconsistent attachment state.
2009-09-25 16:06:04 -04:00
John Hurliman
39842eb4af
* Adding Scale to EntityBase * Fixing the incorrect initialization of EntityBase.Rotation * Removed SceneObjectGroup.GroupRotation and added overrides for Scale/Rotation/Velocity
2009-09-16 17:17:40 -07:00
John Hurliman
f42d085ab1
SceneObjectGroup cleanup. Removes the default constructor and unnecessary null checks on m_rootPart
2009-09-16 15:06:08 -07:00
Teravus Ovares (Dan Olivares)
9505297fb1
* One last attempt to get the bordercrossing/primcrossing/attachmentcrossing right in the new border framework.
...
* This also contains some inactive preliminary code for disconnecting combined regions that will be used to make one root region a virtual region of a new root region.
2009-09-02 04:39:00 -04:00
Melanie
f32de6fe88
Thank you, dslake, for a set of patches to improve OpenSim startup
...
and idle performance.
2009-09-02 03:33:31 +01:00
Teravus Ovares (Dan Olivares)
b997174d08
* Fix attachment cross issues with new borders.
2009-08-31 20:07:33 -04:00
Teravus Ovares (Dan Olivares)
66c40dd3de
* Switch border cross tests over to the new Border class.
...
* Use List<Border> for each cardinal to allow for irregular regions.
2009-08-20 19:24:31 -04:00
Diva Canto
e02062051d
Making attachments work again. Tons of debug more. This needs more testing and a lot of cleaning.
2009-08-16 16:17:19 -07:00
Diva Canto
6808b9109e
Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim into inventory-connector
2009-08-16 08:59:58 -07:00
Jeff Ames
9d9fcac038
Misc cleanup.
2009-08-16 17:14:21 +09:00
Diva Canto
1bbf06405c
Changed FromAssetID to FromItemID
2009-08-15 09:36:45 -07:00
Diva Canto
ea940d98f9
Added ToXml2() to ISceneObject, so that components other than regions can use this abstraction.
2009-08-06 16:41:24 -07:00
Melanie
17bdc45c5c
Add plumbing for the SceneObjectDeleter to wait for the script engine to
...
allow final deletion of objects. Meant to support the attach(NULL_KEY) event,
2009-08-04 03:17:13 +01:00
lbsa71
169a353cca
* minor ccc
2009-07-24 06:59:27 +00:00
Teravus Ovares
bb4b81d70f
* patch from jonc
...
* Fixes scaling a group in some situations.
* fixes mantis #3886
* Thanks jonc!
2009-07-17 21:32:35 +00:00
MW
acea31518b
fixed the bug where changing the rotation of a selection of prims in a linkset, made each of those prims rotate around its own centre rather than around the geometric centre of the selection like they should do (and like the client expects).
...
This involved adding a new OnUpdatePrimSingleRotationPosition event to IClientAPI so that we can get the changed position from the client.
Btw adding new events to IClientAPI is really tedious where you have to copy the change across to at least 5 or 6 other files.
[Note this doesn't fix the bug where any rotation changes to the root prim (but not the whole linkset) cause rotation errors on the child prims.]
2009-07-17 14:58:54 +00:00
MW
a266e6dc4b
Bounding Box/find rez from inventory point code now seems to be working correctly.
...
So next step is to clean up that code and wait for bug reports.
2009-07-15 19:46:32 +00:00
MW
856d5f4375
Yet more work on fixing the boundingbox code.
2009-07-15 18:55:28 +00:00
MW
3a72531e4c
More fixing of the boundingbox code.
...
Still more work needed to get linksets to rezz correctly (not in the ground)
2009-07-15 10:42:27 +00:00
MW
08d4fffdfd
A attemp to fix the boundingBox code that I committed the other day.
2009-07-15 10:26:12 +00:00
Melanie Thielker
fb4067c844
A stab at implementing llSetDamage. Not persistent.
2009-07-15 00:10:01 +00:00
MW
58b05e5cbe
A commit to retrigger panda
2009-07-13 15:14:44 +00:00
MW
c4318136ba
Changed it so that when rezzing prims from inventory, a bounding box containing all the prims in the group is used for working out the rezzing point. So that none of the child prims are underground. Or at least thats what it is meant to do, still needs more testing and there are still some issues with link sets getting rezzed too high above the ground/target prim.
2009-07-13 14:42:46 +00:00