* 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
* 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)
* 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.
* 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.
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.
* 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.
* 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)
* 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!
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.
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.