resending, timeouts, packet discarding. Add notification event for
packet discarding. Add priority scheduling for packet queues.
Add outgoing duplicate detection facility. Correct packet sequencing.
Make provisions for automatic server side throttle adjustments (comes
in next installment)
* This should allow multiple copies of an archive to be loaded into different regions on the same region server
* This shouldn't affect existing operations.
Terrain revert using the PaintBrushes appears to work OK,
however when using 'apply to selection' the RevertArea
FloodEffect calculates the revert height incorrectly
unless the strength passed in from the viewer is 1.0
Attaching a patch to correctly reset the selected area
to the heights in the revertmap.
Add a test event handler (which would fire after a minute if a terrain packet hadn't been acked) to scene to handle the OnUnackedTerrain event, which currently just resends the terrain patch.
The idea of this packet tracking is for the region level application to be able to know if the client stack gave up on sending a packet.
I found a problem trying to get s value directly from a quaternion q.
Compiling a script which directly access to q.s value, caused the
following error:
CS0103: 'The . symbol cannot be used in LSL except in float values
or vector components'. Detected around: q.s
I did a small change to allow alphabetic letter "s" to be interpretated
as valid identifier. This solves the problem.
* refactored some member names for readability and ccc (code convention conformance)
* took away two refs from Rest.Inventory since
* System.IO is part of System
* System.Xml.Serialization is part of System.Xml
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.
crossing is also a sim crossing. Prevents the CAPS handler from being set
up for a banned user,making them redmap out.
Dirty hack, temporary until I can work out how to do it right.
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.
Returns true whenever the LLUUID references a user who is either an EM or
the region owner.
Please note that ownership is region-scoped, while EM is estate-scoped.
Makes the estate dialog fully functional. Implements all client facing functionality. Moves estate data from estate_settings.xml, which is used to provide defaults, to the region data store. Creates one estate for each region, and places the region in it. Converts all region bans to estate bans.
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.
* Potentially useful for diagnostics without needing to log in a client
* Packet queue statistics commented out for now pending a better way to cope with the information overload