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.
* Fixes:
* -- duplicating Active physical object causes objects to explode in opposite directions
* -- Rezzing objects too close to you avatar causes avatar to shoot around in odd directions
* Vanity
* This fixes a *bunch* of Mantis bugs related to the following
* -- Neighbouring simulators not appearing after relog
* -- Login to simulator only to be logged off by simulator.
* -- ThreadAbort
* -- Unable to shutdown circuitCode: x
* added Util.Clip(value, min, max)
* modified asset cache's numPackets calculation to use max packet size (600) instead of 1000
* removed a few magic numbers
* Added Incomplete Handling of the EstateCovenantRequest packet
* Added Incomplete Handling of the EstateOwnerMessageRequest.ChangeEstateCovenantid method
* Fixed a race condition with avatar animations
* Removed unchecked TryParse, replaced with Parse as we were not checking for success and could lead to weirdness if an exception is ignored.
* Removed unused variable m_newAvatar
* Removed several unused try{}catch(Exception e){}'s.
* Added null assignment in simpleapp to prevent warning.
* I've fundamentally changed a few things, so this is experimental
* The routine that I used needs to be tested on Linux. I don't expect it to cause a problem, but hey, it might.
* Child agents are still not logged off properly, so when the first set time out, the second set get logged off also, on the second log in if the second login is initiated before the first one fully times out.
* SelectAABB + Radio Button Action + 'brush size' + Apply works now.
* There's something wrong with the byte for brush size that causes it to be unpredictable sometimes causing massive spikes. This appears to have always been this way, however it's more noticeable now that you can apply the effect to a selection of terrain.
* 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.
* Now sending South and East cords to the terrain editor..
* No new functionality from a user perspective
* Programming wise, there's enough information to get the select based terrain editor working in an upcoming revision.
This patch makes some enhancements to the llRemoteData functions. The
module is now a shared module, and allows remote data channels to be
created among multiple regions in the same sim. The port is controlled
from the remoteDataPort property under the [Network] section in
OpenSim.ini. If this setting is not present or = 0, the module is
disabled and no port is opened. llRemoteData commands have not effect
when module is disabled.
This patch implements the llHttpRequest function via a region module,
HttpScriptsRequest. There were bits and peices in LSLLong_cmd_handler,
which I moved into the region module, and just check for completed
requests and dispatch the http_response callback event instead.
works for me as of r2674
* Removed hackish timer based client notification about regions up (no longer needed)
* Added a comment about an inventory based login failure that causes me lots of greif testing and debugging. Comment includes *why* it's failing.
llFrand, llSetColor, llGetColor, llSetTexture, llGetTexture,
llSetAlpha, llGetAlpha, llRotateTexture, llScaleTexture,
llOffsetTexture, llGetTextureOffset, llGetTextureScale, llGetTextureRot.
With these changes the "kan-ed" script #2 should be working.
* Fixes weirdness when typing and sitting at the same time
* Should fix bug #32 (getting stuck in edit appearance pose)
* Crouchwalk and possibly jump may need more looking into
Refractored the TextureDownloadModule (but currently to make debugging easier, it is running as a non shared module, so this results in a instance of this module being created for each region (and a extra thread per region), this will be changed back soon.
Removed the old texture handling/sending code from AssetCache.
A few other small changes/fixes.
* Added List<RegionInfo> m_neighbours to Scene
* Hooked up the OnRegionUp event to m_neighbours list
* Modified RegionInfo to have a bool commFailTF value so that we can skip neighbors that fail. (when the region comes up, this gets reset to false and the region will try again.
* Added SetChildAgentThrottle(byte[]) to IClientAPI
* Several other insignificant changes related to passing child pertanant agent data from sim to sim.
Note: this mainly improves Standalone mode, as in grid mode the appearance data isn't passed between region servers. Although people should notice a improvement when moving between regions in the same instance.
* 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)
me on Mono 1.2.4, which led to client crashes. I think the Timer.Stop()
wasn't doing what was desired on Mono. The Queue refactoring should address
the readability issues lbsa71 was working on as soon as I get the merge together.
This patch adds x, y, and z offsets to the load-xml command.
If you had a prim at 100,100,20 thats where it would get loaded everytime.
This patch lets you place it at an offset from 100,100,20.. as such:
load-xml <filespec> -newUI 3 1 2
Loading the prim at 103, 101, 22
* 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.
To use append "-newUID" to the end of the command, so new format is : "load-xml <filename> -newUID".
If you don't add the "-newUID", then the uuids in the xml file will be kept.
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.
* Locking on value, then changing it does not make sense - lock will happen on old reference
* Taking a local copy of the shared resource then locking on the copy does not make sense - lock will happen on copy
Deleted the CreateTerrainTextureInitial Method which was a 99% duplicate of CreateTerrainTexture, with just a bool field setting difference. That bool is now passed to CreateTerrainTexture as a param.