Commit Graph

362 Commits

Author SHA1 Message Date
Homer Horwitz
09378da127 Use only one (static) (de-)serializer for (de-)serializing SOPs.
That improves performance drastically, at least for Mono, as the
(de-)serializers can then be optimized (and won't use reflection anymore).
On my system, before this change de-/serialization took ~9s/9s, whereas
after the change it takes ~.5/.2s.
2009-01-02 17:22:24 +00:00
Dahlia Trimble
6e68a11082 Thanks Gerhard for a patch that implements part 3 of VolumeDetection / persistance 2008-12-22 09:29:59 +00:00
Teravus Ovares
a973825db6 * Fixes edit linked parts rotating the root prim in a linkset. One more bug to go.. and that's editing multiple prim in a linkset at the same time. Don't try that now, as it'll bust the linkset. 2008-12-22 00:03:18 +00:00
Teravus Ovares
bf9e8cb987 * Fixes linking multiple linksets together. They no longer explode
* Not out of the weeds yet.  Rotating the root part with 'edit linked parts' still borks all child part rotations and rotating a selection of child parts with 'edit linked parts' still borks the position/rotation of the child parts selected
2008-12-21 14:50:58 +00:00
Charles Krinke
62dd67b8b8 Mantis#2796. Thank you kindly, Gerhard for a patch that addresses:
On a call of llVolumeDetect(1) (or any other number !=0) volume 
detection is enabled. Together with VD, the phantom flag is set to the GUI.
On a call of llVolumeDetect(0), vd detection is switched of again, 
also the phantom state is removed. On a call to llSetState(STATE_PHANTOM, 
false) while VD is active, also VD is switched off. The same is true for 
unchecking the phantom flag via GUI. This allows to take back VD without 
the need to script just by removing the phantom flag.
Things missing in this patch: persistance of the volume-detection flag. 
This needs more discussion and will be included in another patch soon.
2008-12-20 21:36:42 +00:00
Justin Clarke Casey
b4680f653d * Implement 'Save Object Back to My Inventory'. On the Linden client this is in the Tools menu available when editing an object
* This facility allows you to save changes to an object that you've rezzed into a region back into their original inventory item without having to take a copy of the rezzed 
object.
2008-12-17 16:11:03 +00:00
Teravus Ovares
8ad6f575eb * Implements the torque/Rotational Impulse methods in the PhysicsAPI and the ODEPlugin and pipes them to their respective LSL method.
* NBody will need to be updated, this is an API change.   Torque property and AddAngularForce
2008-12-14 14:30:28 +00:00
Melanie Thielker
287c724b55 A try to better attachment crossing. 2008-11-29 01:33:10 +00:00
Justin Clarke Casey
df9b0e9e11 * refactor: Replace derez destiation magic numbers with an enumeration 2008-11-28 17:18:10 +00:00
Melanie Thielker
3efdccbb12 Committing the LCO database layer. Native MySQL, no ADO. New reconnect
mechanism to prevent prim loss. Preserve link order on sim restart
and drag copy. Fix drag-copied prims' inventories. Fix persistence
of child prim inventories.
2008-11-26 07:34:38 +00:00
Melanie Thielker
bb982ab57f Try to keep autoreturn from IM spamming users if the prims take a bit
longer to be deleted
2008-11-23 06:57:38 +00:00
Melanie Thielker
ba723a4cf6 Refactor: Scene.ExternalChecks -> Scene.Permissions. Also make all
the internals of the permissions module adapter sane
2008-11-21 22:14:57 +00:00
Justin Clarke Casey
915593bfbc * refactor: Rip out SOP inventory from the partial into a separate class
* SceneObjectPartInventory.cs isn't a particularly good name but it's probably not got a long life
* A proper inventory interface to follow
* Parallel changes for other inventory partial classes to follow at a later date
2008-11-21 21:16:42 +00:00
Jeff Ames
ecac5c9c5a Update svn properties, minor formatting cleanup. 2008-11-21 18:44:48 +00:00
Melanie Thielker
ee4d4d784e Fully implement object return from the parcel dialog 2008-11-21 07:33:13 +00:00
Sean Dague
e6f92044ca From: Christopher Yeoh <cyeoh@au1.ibm.com>
Attached is a patch which fixes mantis bug 2645 where scripts in child
prims
freeze after being unlinked from the root prim. This got introduced
some time after the 0.6 freeze. Have checked test suites
pass even after nant clean  ;-)

http://opensimulator.org/mantis/bug_update_page.php?bug_id=2645

Also removes a redundant ResetIDs call

Regards,

Chris
2008-11-20 00:13:15 +00:00
Melanie Thielker
9d7e503ce3 Prevent a nullref when building new prims while others watch 2008-11-18 17:21:33 +00:00
Melanie Thielker
a8e40bed52 Set group on newly rezzed objects to the rezzer's (or rezzing object's)
group
2008-11-17 21:44:09 +00:00
Justin Clarke Casey
99bd7cce2b * Make sure that deleted objects do not send further object updates to the client 2008-11-17 16:33:41 +00:00
Justin Clarke Casey
c41903077d * Eliminate SOG.FakeDeleteGroup() since it is now identical with DeleteGroup() (except that is didn't lock the parts, which was a potential race condition)
* Removed fake delete code from LSL_Api.SetFlexi - this code was never activiated anyway and didn't appear to make much sense on the surface
2008-11-17 16:06:50 +00:00
Justin Clarke Casey
d54b6608a7 * Stop nulling SOG.m_rootPart and parts on object deletion
* This renders RootPart == null checks useless - the replacement is to check SOG.IsDeleted.  However, in many cases this will not be necessary since updates to deleted parts 
will not be sent to the client
* This should remove any remaining race conditions where an object is deleted while another thread is yet to obtain the root part to perform some operation
* Doing this is probably a necessary prerequisite to moving to a model without a separate SOG and SOP
* Unfortunately it's not possible to eliminate all RootPart == null checks since in some contexts it is currently used to check whether an object was created successfully
2008-11-17 15:40:27 +00:00
Adam Frisby
29eec33506 * Abstracted some methods from SceneObjectGroup to allow them to be overridden more easily. Specifically object creation from XML. 2008-11-16 04:40:36 +00:00
Melanie Thielker
27e557eb98 Introduces the message transfer module. It splits the transfer mechanics off
the IM module and makes it into a module of it's own, which can be used by
all other modules. Removes some ugly hacks. Refer to the IM module to see
how it's used. Also fixes the persistence issue (Mantis #2598)
2008-11-16 00:47:21 +00:00
Homer Horwitz
21b69ac515 Mantis #2621: Thanks idb, for a patch that will persist regularily changed objects better.
Objects will be persisted now MinimumTimeBeforePersistenceConsidered seconds
after the last change, but latest MaximumTimeBeforePersistenceConsidered after
the first change (both are configurable in OpenSim.ini.example and are set to
60 and 600 as default).
2008-11-15 17:52:00 +00:00
Melanie Thielker
b43c056c5f Detach dropped attachments from the scene presence so they don't get cleaned
on logout
2008-11-14 15:30:15 +00:00
Justin Clarke Casey
cec112c87a * refactor: as per a recent opensim-dev thread, rename InnerScene to SceneGraph to make it more descriptive of its intended function 2008-11-12 20:16:46 +00:00
Justin Clarke Casey
0bda2cf5bc * refactor: clean up SOG xml2 reloading to reuse more code 2008-11-10 21:06:26 +00:00
Justin Clarke Casey
b044a0f139 * refactor: Make xml (orig format) loading method reuse existing set root part method
* miscellaneous doc/log message changes
2008-11-10 20:54:34 +00:00
Justin Clarke Casey
13cf89bf3b * minor: remove useless exception catch 2008-11-10 20:10:23 +00:00
Justin Clarke Casey
0e180b0ad3 * refactor: Expose SOG.SetRootPart for outsiders to use rather than setting RootPart and adding the part separately
* Make RootPart read only
2008-11-10 20:04:55 +00:00
Justin Clarke Casey
2d89e562d7 * Refactor the callers of SOG.SetPartAsRoot() to use common code 2008-11-10 19:47:13 +00:00
Justin Clarke Casey
5d1d5a22a9 * Extend basic scene test to retrieve the object from the scene and match uuids
* Decouple sog and sop by removing the need to pass the sog to the sop when it is created - most of the code was doing this operation (and hence duplicating it) anyway
* Remove unused constructors
2008-11-10 18:10:00 +00:00
Melanie Thielker
2589acc5d1 Keep dropped prims from being temp-on-rez and getting cleaned up 2008-11-10 16:11:22 +00:00
Melanie Thielker
fc6f3edec6 Stop attachments from causing an update to be sent on every frame in which
an avatar moves.
2008-11-10 05:21:51 +00:00
Jeff Ames
bbb8d6fc51 Remove empty OSUUID.cs file. Add copyright headers. Minor formatting cleanup. 2008-11-08 14:28:43 +00:00
Justin Clarke Casey
bf9384d594 * Apply http://opensimulator.org/mantis/view.php?id=2582
* Send prim flags as booleans from LLClientView rather than in the native LL array
* Thanks idb
2008-11-07 22:57:32 +00:00
Justin Clarke Casey
4ace67a81d * Fix bug in r7162 where avatars could not move
* Was caused by the lack of a local id.  Local ids are now given from the same sequence as prims, rather than a separate one
* I don't believe this will cause any problems, but please revert to a separate sequence if it does
2008-11-07 22:49:36 +00:00
Justin Clarke Casey
fb694fb177 * Rename PrimIDAllocate() to more effectively convey what it does, and put the verb at the front 2008-11-07 21:50:03 +00:00
Justin Clarke Casey
54e10e5b61 * Stop requiring local ids in the SOG constructors.
* These are assigned when the object is attached to the scene
2008-11-07 21:07:14 +00:00
Justin Clarke Casey
af35f4cb4a * refactor: stop unnecessary passing of scene to sog copy constructor
* this is now done in AttachToScene()
2008-11-07 19:49:22 +00:00
Justin Clarke Casey
f3edbcfa3b * Stop prim attach being signalled twice (it is already been done outside AttachToScene()) 2008-11-07 19:30:20 +00:00
Justin Clarke Casey
e34eaec553 * Remove more UpdateParentIDs() calls that are now duplicates 2008-11-07 19:17:24 +00:00
Justin Clarke Casey
e08c4376f7 * Apply http://opensimulator.org/mantis/view.php?id=1883
* Fix llSetStatus() and llSetPrimitiveParams()
* Thanks idb
2008-11-07 19:02:55 +00:00
Justin Clarke Casey
cd96a33976 * Stop now unnecessary separate local id allocation for restored objects
* remove a debug line I accidentally left in there
2008-11-07 18:52:28 +00:00
Justin Clarke Casey
ebd9f22b29 * refactor: allocate local ids to prims only when an object is attached to a scene 2008-11-07 18:46:11 +00:00
Melanie Thielker
48c6d052d9 Attachments, attachments, and, did I say attachments?
Too many fixes to list.
2008-11-07 05:48:44 +00:00
Justin Clarke Casey
eec8c6cd6e * Remove SceneObjectPart.AttachToScene() since the remaining instruction can be done by other means 2008-11-06 23:40:58 +00:00
Justin Clarke Casey
0d17ba2a76 * refactor: Attach a scene object to a scene separately from its construction 2008-11-06 22:21:25 +00:00
Adam Frisby
84136c70d8 * Minor cleanup
* Added additional error message when a Object/SOG DB save fails so we can trace why.
2008-11-01 22:20:54 +00:00
Justin Clarke Casey
9366a234cf * refactor: Convert most non SOP methods to use SOG.IsAttachment rather than SOP.IsAttachment 2008-11-01 22:04:35 +00:00