* Should work in multi-region standalone and grid modes
* This should also solve other non-home region caps issues (map requests, RC client inventory requests, etc)
* We now pass CAPS information on to the destination region on region crossing, and set up a CAPS object when an agent becomes a master
* Current limitation is that this will only work if your http_listener_port is 9000
* This is a very early code cut (lots of bad practice, hard coding and inefficiency). However, I wanted to get this out there for feedback and my own sanity. Next few patches will clean up the mess.
* This reveals that the problem with saving scripts in a non-home region in multi-region configurations is due to a CAPS setup issue
* For some reason the client is still using the CAPS on the region it just came from, causing the ScenePresence lookup to fail (since the presence is now, correctly, a child agent).
* Remember, your admin user and estate managers can move locked objects that are not owned by them. That functionality differs from the Linden way of thinking and it's by design! It is not a bug! Create a non-god user and use that as your normal account.
* The warning will be
[USER TEXTURE DOWNLOAD SERVICE]: Received {0} requests for already dispatched texture {1} from client {2}
This is to see whether the texture packet queue memory leak is caused by clients continually re-requesting textures they should already have
* Should help stop any InvalidOperationExceptions caused by concurrent read/write
* The extra locking should be okay, but I'm really surprised we've got away without mucho crashes due to this...
structs (such as LLUUID) are considered values by mono. comparing them against null makes no sense and the mono compiler will flag that as evaluating to always false --- except if "cleverly" disguised. the attached patch fixes such an occurrence in OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/AsyncCommandPlugins/SensorRepeat.cs.
[yes, i'm on a crusade against comparing structs against null, go ask jradford from libsl ;-)]
* If a user logs in and they are noted as agentOnline. Set agentOnline = false and send a 'you're already logged in' message to the user asking them to wait 5 minutes. These 5 minutes are not enforced (because there's no foolproof interlock release yet without the grid operator getting a support call for every little sim crash). When the user gets the message, they can log-in immediately after it, but the user can expect weird results if they don't wait 5 minutes and log-in to the region they were in previously.
Here's a diff of the changes I have made in support of the following LSL
script functions.
llSetScriptState
llGetScriptState
llCSV2List
llListRandomize
llList2ListStrided
llListFindList
llResetOtherScript
llGetScriptName
It was necessary to modify ExecutorBase in support of the ScriptState
implementations.
I also modified SceneObjectPart and SceneObjectPart.Inventory to
corrects a quoting mismatch in the commentary that through off live
parsing of the files.
I also simplified the State definition at the start of BuiltinCommands.
So this commit doesn't actually fix inventory in that client, it just stops the "loading" message being displayed forever next to a folder, and instead shows empty folders.
Next part will be to fill in the details of the items in the folders.