Commit Graph

81 Commits (8d0364e228ea038902e9249ea4550668d3a23f7d)

Author SHA1 Message Date
lbsa71 8d0364e228 * changed nonsensical PermissionMask and ObjectFlags mixup; if this causes perms weirdness, let's all work together to find the real cause. 2008-01-22 15:07:30 +00:00
Justin Clarke Casey dfb84d0d37 Change misleading placeholder error messages for attempts to persist non-script items to prim inventory 2008-01-21 22:34:14 +00:00
Justin Clarke Casey 57519b6dba * Store task inventory when an object is taken into agent inventory
* This means that you can take an object from a region and rez it somewhere else, with its inventory intact.
* As for earlier, at this stage only scripts can be placed in inventory
* This isn't an efficient implementation, a better one will probably need to come along soonish
2008-01-16 18:35:34 +00:00
Teravus Ovares 45e945616b * Pass 2 of collidable (non physical) linksets
* Linkset status is now persistent
* Tweaked a physics child prim positioning hack to generate less database saves
* Re-factored physics object creation calls into ApplyPhysics.  To create a new physics representation of an object or linkset, it's only necessary to call *group*.ApplyPhysics(bool m_physicalPrim).  *lbsa has been waiting for this refactoring*
* We have collidable linksets now. (they don't become phantom anymore)
2008-01-15 04:14:27 +00:00
Adam Frisby b25f9f322c * Mother of all commits:
* Cleaned up copyright notices in AssemblyInfo.cs's
* Added Copyright headers to a bunch of files missing them
* Replaced several common string instances with a static constant to prevent reallocation of the same strings thousands of times. "" -> String.Empty is the first such candidate.
2008-01-15 02:09:55 +00:00
Justin Clarke Casey 796ae57bea Prim inventory script saving phase 2.
* It is now possible to edit and save scripts directly from prim inventories
* On saving, the script will be restarted in the region
* Doesn't appear that it's yet possible to drag inventory contents back to agent inventory.  Not quite sure why this is yet - the perms all look very permissive.
2008-01-09 15:46:45 +00:00
Justin Clarke Casey 0428701da7 Minor prim inventory method refactoring 2008-01-07 22:32:10 +00:00
Justin Clarke Casey 348b79d801 Trigger persistence of the scripts in a prim's inventory when that inventory is changed/updated/deleted (before the trigger only happened if the prim was moved).
This is still development code - experimental prim inventory persistence cannot yet be enabled by users.
2008-01-07 22:11:26 +00:00
Justin Clarke Casey eadfbf3ba2 Very minor refactoring. Remove unused prim inventory bool returns for now 2008-01-07 03:09:00 +00:00
Justin Clarke Casey 6b4b041902 Refactor Scene.Inventory.RezScript to use newer script starting code 2008-01-07 03:02:13 +00:00
Justin Clarke Casey 3e75dede1b Persistent prim inventory phase 5. Restart scripts contained in persisted prims on region start.
No user functionality exposed yet - no ini switch to enable persistence or restore.  A bit more initial work to do.
2008-01-07 02:12:06 +00:00
Teravus Ovares 32438ab1b9 * This update rolls back the packetpool and LibSL changes. Please retest and then patch these changes back in. Currently it's not quite ready for 0.5. The down side to this action, is that we loose some performance to the garbage collector for now. Given that the target date for 0.5 is *Two days* from now, I'm taking the initiative to work towards a real stable version.
* This update also fixes scripting and some weird physics reactions
2007-12-30 06:18:17 +00:00
lbsa71 3e8df2b868 * Extracted out old RezObject method placing at absolute pos without the raytracing
* Ignored some bins
2007-12-29 19:53:07 +00:00
Teravus Ovares f64d94f8ca * Rezzing items from Inventory on top of other prim rezzes them 0.5 meters above the 'hit' prim instead of buried in the ground somewhere.
* Various Refactorings
2007-12-28 14:24:14 +00:00
lbsa71 efd90b56b7 * Optimized usings
* shortened references
* Removed redundant 'this'
* Normalized EOF
2007-12-27 21:41:48 +00:00
Justin Clarke Casey 01de4bbfbd If a prim is persisted in the region, scripts dragged into its inventory after a server restart would not appear (though the script they contain would still be invoked). This
change fixes that problem.
2007-12-26 20:21:06 +00:00
Justin Clarke Casey e9efd5bee2 Small non-functional inventory changes 2007-12-25 18:11:56 +00:00
Justin Clarke Casey 280a5cba8b Prim inventory script saving phase 1. Create necessary CAPS structures for correctly accepting prim inventory script updates.
No user functionality yet.
Refactoring to follow.
2007-12-24 22:35:01 +00:00
Justin Clarke Casey c470efea57 Make copying of scripts into prim inventories more reliable on the first attempt when the asset server is lagging by formalising the de facto polling.
This may not be the best solution in the long run, but should improve things for now.
This may also improve reliability when updating inventory item metadata (e.g. renaming an item) and in retrieving textures
for the main map view.
2007-12-22 19:48:01 +00:00
Justin Clarke Casey ed0f8bd572 minor refactor 2007-12-22 16:45:44 +00:00
Justin Clarke Casey e52c217e44 Put in some race revealing warning messages triggered when a user rezzes a script to prim inventory 2007-12-22 14:34:05 +00:00
Justin Clarke Casey 1ac57290ae Initial hookup of update task inventory event. No functionality yet. 2007-12-22 02:52:35 +00:00
Jeff Ames be2ad79e52 Added patch from Johan. First attempt to solve the LibSL.Packet GC problem. Works with LibSL rev>1532 2007-12-20 05:43:02 +00:00
Charles Krinke a990c64698 Thank you to Kiryu for a patch to fix an out of Sync
error in Scene. Affects 6 files and is Mantis#201
2007-12-17 16:41:28 +00:00
Justin Clarke Casey c63369017f * Make inventory operations sync rather than async. This is to alleviate race conditions such as that in mantis #190
* Make inventory messages more verbose.  Hopefully they aren't now too verbose
* This may resolve some grid instability but it's likely there's much more out there.
2007-12-15 19:42:23 +00:00
Teravus Ovares a0d1496475 * Fixed a cause of an ODE 'invalid operation for locked space ' 2007-12-14 17:32:13 +00:00
Teravus Ovares 5e6483f209 * In our quest for sim heartbeat stats, we're a touch closer to accurate object count on sim stats.
* Fixed a rare, but possible NullReferenceException
2007-12-12 18:03:37 +00:00
Brian McBee beca2373e1 Allow moving, deleting, and restoring objects in inventory.
Note: only tested in grid mode, and emptying trash is still not implemented.
2007-12-08 19:13:10 +00:00
Adam Johnson 3d938f76b7 Updates to LibSL revision 1498. Thanks Johan! 2007-12-07 08:54:31 +00:00
Teravus Ovares 57f666497b * Added hacked support for 'anyone can move' and 'anyone can copy'.
* BACKUP YOUR PRIM BEFORE UPDATING TO THIS and then double check the prim permissions after applying it with a different avatar (then the master avatar or the prim owner avatar).
* Also, beware that any objects created under the old permission scheme may react oddly.  They may automatically allow anyone to modify them, (which you'll then have to un-set).  
* It's hacked support because when 'anyone can move is set', any avatar can modify the prim (texture, shape, scale, etc)
2007-12-07 07:42:03 +00:00
Jeff Ames 73599c0f25 removed obsolete Verbose() function 2007-12-06 18:17:44 +00:00
Sean Dague c5c0df74e6 Do not create a new asset on item metadata change
From Justin Casey (IBM)
2007-12-05 18:58:55 +00:00
Teravus Ovares bb824eadee * Refactored Permissions into ScenePresence as requested by MW
* Un-hackerized generating the client_flags 
* Now handling the ObjectPermissions Update packet 
* Warning: Backup your prim before updating.  If you fail to do so and something goes wrong then, All Yr prim are belong to us!
2007-12-05 06:44:32 +00:00
Jeff Ames f195725db4 keeping opensim safe for children -- made some namespace references less explicit 2007-12-04 22:14:53 +00:00
Sean Dague 8f58a9a107 From Justin Casey (IBM)
While exploring what it would take to get the 'new script' button working,
I encountered the fact, some way down in the rabbit hole, that if a user
renamed an item in their inventory and logged out (without a restart of
the simulator), on log in the new name was not preserved.

As far as I can see, this was because any updates which didn't occur
inside a transaction were ignored by opensim.  This patch pays attention
to those changes.  It generates a new asset when an item is updated and
changes the user's inventory properties appropriately.  I believe this
behaviour is in line with the copy-on-write semantics used in the Second
Life protocol - perhaps it could be optimized if we knew for sure that the
only copy of the object was in the user's inventory.

This also means that if you rename an item (e.g. a script) before you drag
it into an object's inventory, the inventory will receive the item's most
recent name and description.
2007-12-03 20:06:01 +00:00
Sean Dague c29105aa3e This is a simple patch which just renames an IClientAPI method to
SendInventoryItemCreateUpdate() in order to reflect the actual packet it
sends (UpdateCreateInventoryItem).

From Justin Casey (IBM)
2007-12-03 17:24:27 +00:00
MW cac98171e5 Very partial Avatar Appearance (ie, clothes/body parts) "storage". In standalone mode it will mean that when you log off and log back on ,as long as the region server hasn't been restarted , your avatar will start with wearing the clothes that it wore on log off. In grid mode its even more limited in that wearing/removing clothes/body parts are only stored in the region server instance you are one. so if you are in a different region to your login region (which are on different region server instances), and then change clothes, those changes won't be remembered. So as said, its very limited but is a small step towards having proper appearance persist.
Just need to store this data out to a database.
2007-12-02 14:56:23 +00:00
MW 0a2425432a Rezzing multiple copies of a inventory prim should now work. 2007-12-01 21:52:10 +00:00
MW 96ac8f00c7 Due to popular demand, a rezzed prim should no longer delete the original inventory item. (hasn't been tested to make sure no conflicts happen if that new rezzed object is then taken back into inventory but don't think there will be any) 2007-12-01 21:16:42 +00:00
MW 495cf040be Attempted fix for mantis issue# 66 2007-12-01 15:20:49 +00:00
MW 27f182ac54 Part 1 of a commit. This revision will not compile, part 2 will be added in a couple of minutes that should fix that.
Some work towards persisting Avatar Appearance (what is being worn).
Added OnAvatarNowWearing event to IClientAPI that is triggered by AgentIsNowWearing packets.
stub code to subscribe to this event in AvatarFactoryModule. 
Todo: code needs to be added to AvatarFactoryModule to save the uuids to a database and then read them back when that modules TryGetIntialAvatarAppearance() method is called.
Done some changes to Scene to make it easier to subclass it: including changed some private fields to protected and made some methods virtual.
2007-12-01 14:20:37 +00:00
lbsa71 d2b1b54f49 * Removed permissions flag appliance from Xml deserialization
* Various code convention compliance
2007-11-30 08:08:14 +00:00
lbsa71 7704bb6f63 * Fixed neighbour range bug
* Various refactorings
2007-11-29 15:27:57 +00:00
Teravus Ovares 5a71d03b7a *Huge* structural changes in ODE/OdePrim to get all of the calls in threadlocked code. ODEPrim was almost completely re-written.
Copy/Space test needed.
2007-11-20 04:38:08 +00:00
Jeff Ames d10c79d421 first stab at implementation of CopyInventoryItem 2007-11-18 13:50:46 +00:00
Teravus Ovares 46ccfa1741 * Found several cases where prim set physical were not subscribing to physics events. 2007-11-18 13:37:02 +00:00
Jeff Ames a473289738 minor cleanup of some dodgy bits 2007-11-17 08:14:17 +00:00
Teravus Ovares ec77e1eb17 * adds flag in OpenSim.ini for disabling physical prim. Look at OpenSim.ini.example in the bin folder for an example. 2007-11-11 00:08:18 +00:00
Jeff Ames f86a65f14b refactored some duplicate SceneObjectGroup searching code in Scene 2007-11-07 02:42:18 +00:00
MW 039f2c46c0 Added support for OpenSim application plugins (as requested by Adam), which use Mono.addins for loading/management. (which is a pure .net solution so works on both Mono and MS .net, and is under the MIT license, will add the source code for the library later). I also suggest we look into switching to using Mono.addins for our Region module loading management.
A little bit more refactoring of Scene.
2007-11-04 13:48:15 +00:00