Changes erroneous return value of llGetLinkname() to "" for nonexistent
prims. Corrects an issue where the root prim of a linked set, upon
delink, retains the part number 1.
llAxes2Rot now implemented. Important note: quaternion <x,y,z,s>
is equal to <-x,-y,-z,-s>. The result may be different from LSL
output, but it is correct. A problem of rounding caused an error
of square rooting of zero as negative number, corrected by squaring
again. Function tested 360° along 3 axes. Vector fwd, left and up
have to be normalized.
Implements additional unlink modes (unlink root prim from link set, some
multi-set operations). Linking (single and mutiple) fully implemented.
Consistent numbering of links while in world. Link/delink with predictable
link numbering. Correct link numbers in LSL.
Not all multi-set ops implemented. Link numbers still change when taken and
re-rezzed.
llRot2Left and llRot2Up functions modified, using fast algebric
calculations instead of vectors and quaternions products.
The accuracy is the same. Normalization is now implemented.
llRot2Fwd function modified, using fast algebric calculations
instead of vectors and quaternions products. The accuracy is
the same. Normalization is now implemented.
The previous implementation of llEuler2Rot was not mathematically
incorrect, but it was an awkward way of posing the problem that
led to a few degenerate cases which were not handled correctly -
for example, PI rotations around X and Z axes were wrong. I put
some comments in the source about how I arrived at the current
implementation, which I think is easier to read, and gives
results that match SL.
When using math operators +,-,*,/ in an LSL script with an LSLFloat
and an integer literal the wrong result is returned. This patch
adds operators to the LSLFloat type to handle this case.
I needed to apply the patch a little better then last night
for: Dot product operator in LSL_Types.cs incorrectly returns
a component-wise vector multiplication; it should return a
scalar dot product. Thanks to M. Igarashi for the patch.
Dot product operator in LSL_Types.cs incorrectly returns a
component-wise vector multiplication; it should return a scalar
dot product. Thanks to M. Igarashi for the patch.
Patch 7 of the region patches. Finish off the region parts of the estate dialog. Full user functionality. Terrain textures, heights, water, avatar counts, prim bonus, debug settings and region toggles can now be set from the dialog on a per-region basis. Estate stuff defaults to sane values where there are no defaults, to estate_settings.xml otherwise. Sun still b0rked :(
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 -,*,/)