Add a config option to OpenSim.ini to select between script compilers
in the XEngine without recompile.
Set UseNewCompiler=true in OpenSim.ini and try it out.
Creates the ICodeConverter interface and adapts the new compiler to it.
This patch limits the maximum size of prims that can be created using libsl bots
or modified clients to 65536mper side. It also limits LSL functions to that size.
If a prim is already physical, the enforced constraint is 10m.
A prim that is larger than 10m cannot be turned physical, either via script or UI.
Linksets are handled correctly, so scaling of physical linksets is constrained by
the size of it's largest component prim. Also, turning linksets physical is based
on the size of it's largest ptim.
LSLInteger + literal integer is not an LSLInteger.
The included patch fixes the issue: LSLInteger + literal
integer is not an LSLInteger (also fixed for -,*,/)
added void osSetParcelMediaTime(double time) command to script engines.
which sets the position of the media that is playing. Time is in seconds.
Doesn't do any security checking (should be checking that the object/script is owned by the parcel owner). So could be abused, if it is then we should remove it, or add the security.
Only tested in dotnet scripting engine, but should work in XEngine too.
In LSL, the state command should have an immediate effect.
The OpenSim script engine seems to wait until the function
ends to process the state transition.
This patch adds the ability to set the prim type using llSetPrimitiveParams().
Seems to work ok, but there are a staggering number of cases to test,
so I have not yet tested them all.
It would appear that calling llResetScript() in state_entry() causes deadlock of region.
Probably due to llResetScript calling state_entry again. llResetScript should see who called it,
and not recall state_entry() after a state/variable reset. Once this script is in a prim,
the region/world/debug/script window shows it consuming the server (from 2,400 to 800,000 milliseconds).
Another new OSSL function for returning the name of the script engine
currently running, osGetScriptEngineName, added to both DotNet and XEngine
OSSL API.
* This means that we will no longer pointlessly repersist all the prims in the scene when OpenSim first starts up
* This also means that force-update on the console will not trigger repersistence.
* Also, in other places persistence is no longer done where it wasn't actually necessary
* I think I changed the code for all instances correctly, but it's not possible that I missed some and some things which did persist properly have stopped
* Please patch or mantis if this is the case