* We should not be using ASCII anywhere except for legacy compatibility reasons.
* A large number of UTF8 Encoders are being used in places where we should be using Util.StringToField instead. These have been tagged with // ENCODING FAULT
* This should fix Mantis#799 - Japanese Profile Text does not work.
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 ;-)]
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.
* Added osSetPrimFloatOnWater(BOOL) to make Physical prim float at the water level.
* osSetPrimFloatOnWater(TRUE); or osSetPrimFloatOnWater(FALSE);
* By default, prim do not float at the water level.
* More work is needed on the floating, but it's a start.
Also added osSetDynamicTextureDataBlend and osSetDynamicTextureURLBlend that will allow the various textures to be blended together, but currently there are still a few bugs in them. So not ready for use yet.
* Enabled new TerrainModule. (The king is dead, long live the king!)
* Use the console command: "script terrain save file.r32" / "script terrain load file.r32" to load/save terrain. Now uses the extension to determine file format.
* MANY of the old terrain features do not have a replacement function in the new module yet, this needs to be corrected, but has not been done so far. This being said, the new module is faster and more efficient and should be a good replacement.
* Impelements llInstantMessage
* Reimplements llOwnerSay as llInstantMessage(llGetOWner(),msg).
* Try's to better identify the "True Name" of objects in llDetectedName
by checking for avatar name, scene Object Part name and entity name.
* Uses similar logic in the llSensor and llSensorRepeat functions.
This patch is intended to implement the following functions:
llIntegerToBase64
llBase64ToInteger
llParseStringKeepNulls
None of these functions are dependent upon state elsewhere in the SIM,
so they are appropriately self-contained. I've tested them out of
context, and from a script attached to an object in my test region.