Justin Clark-Casey (justincc)
f57e29372b
On a teleport, lock m_agentsInTransit whilst we grab the value to check for completion just to be sure we're not using a thread cached version.
2013-04-02 22:31:44 +01:00
Justin Clark-Casey (justincc)
e185ed6e69
minor: disable logging on regression TestCrossOnSameSimulator() that I accidentally left on a few commits ago.
2013-04-02 22:31:40 +01:00
Justin Clark-Casey (justincc)
27d5a3ce35
Fix regression test which needs slightly different setup on 0.7.4-extended
2013-04-02 22:31:01 +01:00
Justin Clark-Casey (justincc)
78ae1d34ec
Add file missing from last commit 36651be
2013-04-02 22:15:37 +01:00
Justin Clark-Casey (justincc)
44ca6c01ea
On the later forms of teleport failure, tell the user if this was because viewer couldn't/didn't connect with destination or if destination didn't signal teleport completion.
...
Also adds regression test for the case where the viewer couldn't connect with the destination region.
Also refactoring of regression test support code associated with entity transfer in order to make this test possible and the code less obscure.
2013-04-02 22:15:27 +01:00
Justin Clark-Casey (justincc)
9dd7fb8142
Fix "show attachments" command probably broken in commit addab12
(Wed Jan 2 21:38:00 2013)
...
This break was not connected with the recent attachment code changes.
2013-04-02 22:11:04 +01:00
Justin Clark-Casey (justincc)
e50b27047d
Force a viewer object update for attachments at the end of the final Scene.CompleteMovement() in order to make all multi-attachments appear on the destination region.
...
For some reason, sending updates before this will not have this effect.
This may be something related to some viewers (e.g. LL 3.3.4) or something OpenSimulator isn't getting quite right.
2013-04-02 22:10:57 +01:00
Robert Adams
67ffb085e1
For the moment, disable the output of the 'scene' statistics in SimExtraStatsCollector
...
and thus for the command 'show stats' because it is ugly and most of the information
is already output in the formatted printout that appears before.
2013-04-02 22:10:30 +01:00
Justin Clark-Casey (justincc)
38767d5984
Finally remove the 'REST' ApplicationPlugins code which has been non-functional and largely commented out for many years.
2013-04-02 22:09:08 +01:00
Melanie
fbb738a627
Make the LSL memory functions virtual so script engines can override them if they have different memory management.
2013-04-02 22:08:58 +01:00
Justin Clark-Casey (justincc)
95cdaf81a3
refactor: Reuse Get() method in AssetService to eliminate some copy/paste in other Get methods
2013-04-02 22:08:48 +01:00
Justin Clark-Casey (justincc)
2e9c57f644
Fix bug in AssetService where requesting data only for an asset would throw an exception if the asset did not exist.
2013-04-02 22:08:40 +01:00
Justin Clark-Casey (justincc)
eafcc6f2b2
minor: log an error rather than info if a connector fails to load.
2013-04-02 22:08:34 +01:00
Robert Adams
f8067f02fe
Fix server statistics always reporting zero for total network bytes in/out.
...
Clean up some parameter code in Statistics.Binary.
2013-04-02 22:08:10 +01:00
Justin Clark-Casey (justincc)
515324a1aa
refactor: make llGetLinkName() and llGetLinkKey() use a common GetLinkEntity() method
2013-04-02 22:08:02 +01:00
Justin Clark-Casey (justincc)
cc24ba3a91
Fix llGetLinkKey() to return the last sat avatar as the last link number.
...
As per http://wiki.secondlife.com/wiki/LlGetLinkKey
This is done by keeping a scene-object wide list of sitters.
This also fixes bugs in this function where linknums 0 and 1 weren't treated properly if there were sitting avatars on a single prim.
This also fixes a minor race condition for multiple concurrent sitters on a prim with no current sitters by locking on the object-wide list rather than individual sop lists
Addresses http://opensimulator.org/mantis/view.php?id=6477
2013-04-02 22:04:34 +01:00
Justin Clark-Casey (justincc)
556817e279
minor: remove mono compiler warnings in LSL_Api.cs
2013-04-02 21:57:44 +01:00
Justin Clark-Casey (justincc)
2a81f4db2e
Log same environment information to Robust log as is already done for simulator logs, for debug purposes
2013-04-02 21:57:39 +01:00
Justin Clark-Casey (justincc)
3098ad4ab9
refactor: minor cleanup in osGetAvatarList()
2013-04-02 21:57:33 +01:00
Justin Clark-Casey (justincc)
9f1aac82b2
Fix bug in osCauseHealing() if called with an avatar ID for an avatar that is not in the scene.
2013-04-02 21:57:29 +01:00
Justin Clark-Casey (justincc)
60060e7be9
minor: Use more compact libomv primitive constructors in osNpcGetPos() and osNpcGetRot()
2013-04-02 21:57:24 +01:00
Justin Clark-Casey (justincc)
785abe070d
Fix minor race conditions in OSSL_Api functions where a parcel could be misidentified for moving prims.
2013-04-02 21:57:20 +01:00
Justin Clark-Casey (justincc)
5526177c32
refactor: Use LSL_Vector(Vector3) constructor in llCastRay()
2013-04-02 21:57:14 +01:00
Justin Clark-Casey (justincc)
cbb4086e82
refactor: Use ILandChannel.GetLandObject(Vector3) in LSL_Api rather than having to continually take intermediate Vector3s to avoid race conditions
2013-04-02 21:57:10 +01:00
Justin Clark-Casey (justincc)
6804549428
Add ILandChannel.GetLandObject(Vector3 position) as this is a very common input to GetLandObject()
...
This conforms to the existing ILandChannel.ParcelsNearPoint() method
2013-04-02 21:57:06 +01:00
Justin Clark-Casey (justincc)
cf52e8072c
Fix minor race condition in llGetCameraRot() where inconsistent information could be returned for a rotating camera
2013-04-02 21:57:01 +01:00
Justin Clark-Casey (justincc)
ac063b4681
Fix minor race condition in llGetCameraPos() where an inconsistent post could be returned for a moving camera
2013-04-02 21:56:56 +01:00
Justin Clark-Casey (justincc)
eb29597c6e
Fix minor race condition in llParcelMediaCommandList() where a parcel could be misidentified for a moving prim
2013-04-02 21:56:51 +01:00
Justin Clark-Casey (justincc)
a935440513
Fix minor race conditions in LSL_Api.GetPrimParams() for PRIM_POSITION, PRIM_SIZE and PRIM_ROT_LOCAL
...
This function is used by all the various ll*Params() and os*Params() functions
2013-04-02 21:56:44 +01:00
Justin Clark-Casey (justincc)
b9d4266400
Fix minor race condition in llGetGeometricCenter() if this was changing whilst the function was called.
2013-04-02 21:56:39 +01:00
Justin Clark-Casey (justincc)
3b13dd56cd
refactor: use LSL_Rotation(Quaternion) constructor in lLGetRootRotation()
2013-04-02 21:56:34 +01:00
Justin Clark-Casey (justincc)
213f0e3a12
Fix minor race condition in llGetRootPosition() where inconsistent results could be returned for moving prims
2013-04-02 21:56:29 +01:00
Justin Clark-Casey (justincc)
75c169ffe5
Fix minor race conditions in detecting current parcel for llAddToLandPassList(), llSetParcelMusicURL() and llGetParcelMusicURL() for moving prims
2013-04-02 21:56:23 +01:00
Justin Clark-Casey (justincc)
1c12697232
refactor: use LSL_Vector(Vector3) constructor in llGroundNormal()
2013-04-02 21:56:19 +01:00
Justin Clark-Casey (justincc)
051f21ff65
minor: Reuse ground LSL_Vector in llGroundSlope() rather than creating a new one.
2013-04-02 21:56:13 +01:00
Justin Clark-Casey (justincc)
c46a00a1fe
Fix minor race conditions in llTeleportAgent(), llTeleportAgentGlobalCoords(), llEjectFromLand() and llOverMyLand() where the wrong parcel could be identified for very fast moving avatars.
2013-04-02 21:56:07 +01:00
SignpostMarv
49a2cfacb9
Implementing operators & constructors for Quaternion
2013-04-02 21:53:42 +01:00
SignpostMarv
4a35f0a305
refactoring for Vector3 operator & constructor tweaks
2013-04-02 21:51:52 +01:00
Justin Clark-Casey (justincc)
078617cff4
refactor: Use LSL_Vector(Vector3) constructor in llGetCenterOfMass()
2013-04-02 21:49:39 +01:00
Justin Clark-Casey (justincc)
6ed5561057
Fix a minor race condition in llInstantMessage() where slightly wrong origin co-ordinates could be given for a fast moving prim
2013-04-02 21:41:59 +01:00
Justin Clark-Casey (justincc)
4531b2274e
Fix minor race condition in llGetOmega() where inconsistent results could be returned (accidentally stated that commit 1774c631
was this fix).
...
Commit 1774c631
was actually a fix for a similar minor race condition in llGetAccel()
2013-04-02 21:41:39 +01:00
Justin Clark-Casey (justincc)
b025cdf6be
Fix minor race condition in llGetOmega() where a call whilst a prim was changing angular velocity could return inconsistent results
2013-04-02 21:41:33 +01:00
Justin Clark-Casey (justincc)
99a0f76998
refactor: Use LSL_Vector(Vector3) constructor in llGetVel()
2013-04-02 21:41:29 +01:00
Justin Clark-Casey (justincc)
681b07f668
refactor: Use LSL_Vector(Vector3) constructor in llGetTorque()
2013-04-02 21:41:25 +01:00
Justin Clark-Casey (justincc)
608a569bd5
Fix minor race condition in llGetLocalRot() where inconsistent results could be returned if the prim was rotating during the call
2013-04-02 21:41:21 +01:00
Justin Clark-Casey (justincc)
66749eafdd
refactor: use cleaner LSL_Rotation quaternion constructor in LSL_Api.GetPartRot()
2013-04-02 21:41:15 +01:00
Justin Clark-Casey (justincc)
2fd9456f4f
minor: save some commented out log lines which will be useful again in future debugging of VectorRenderModule
2013-04-02 21:39:33 +01:00
Justin Clark-Casey (justincc)
7af13bcca3
Make C# scripts return correct error line and column numbers instead of failing because they have no linemap.
...
Adapted fix from http://opensimulator.org/mantis/view.php?id=6571
Thanks Nickel Briand
2013-04-02 21:39:21 +01:00
Justin Clark-Casey (justincc)
85a327dc59
Add DisableInterRegionTeleportCancellation option in [EntityTransfer] section of OpenSim.ini. False by default.
...
This option allows the simulator to specify that the cancel button on inter-region teleports should never appear.
This exists because sometimes cancellation will result in a stuck avatar requiring relog.
It may be hard to prevent this due to the protocol design (the LL grid has the same issue)
In small controlled grids where teleport failure is practically impossible it can be better to disable teleport cancellation entirely.
2013-04-02 21:39:15 +01:00
Justin Clark-Casey (justincc)
adfc8ade9a
Improve teleport cancellation in some circumstances, though cancelling teleports is still not recommended.
...
Previously, hitting the cancel button on a teleport would cancel on the client side but the request was ignored on the server side.
Cancel would still work if the teleport failed in the early stages (e.g. because the destination never replied to early CreateAgent and UpdateAgent messages).
But if the teleport still completed after a delay here or later on, the viewer would become confused (usual symptom appears to be avatar being unable to move/reteleport).
This commit makes OpenSimulator obey cancellations which are received before it sends the TeleportFinish event queue message and does proper cleanup.
But cancellations received after this (which can happen even though the cancel button is removed as this messages comes on a different thread) can still result in a frozen avatar.
This looks extremely difficult and impossible to fix.
I can replicate the same problem on the Linden Lab grid by hitting cancel immediately after a teleport starts (a teleport which would otherwise quickly succeed).
2013-04-02 21:39:09 +01:00