Commit Graph

5580 Commits (2f6c78b88895c0934179fb8eb70ae1dc08883d5f)

Author SHA1 Message Date
Justin Clark-Casey (justincc) 1d19e1bbd0 Add naive implementation of controlled incoming HG attachments to manage load.
Instead of processing all incoming attachment scene object concurrently, process them consecutively to eliminate potential overload from this source.
This is a naive implementation because it does not currently account for slow foreign asset services.
Although it may take longer, this approach may also improve attachment visibility for HG avatars
since the scene object is now always added to the scene after receiving assets from the foreign service and not before.
2014-11-25 23:23:10 +00:00
Justin Clark-Casey (justincc) ec8d21c434 Label all threadpool calls being made in core OpenSimulator. This is to add problem diagnosis.
"show threadpool calls" now also returns named (labelled), anonymous (unlabelled) and total call stats.
2014-11-25 23:23:10 +00:00
Justin Clark-Casey (justincc) 3a1ce2715a Add "wearables check" console command
This checks that all the wearable assets and any assets for a given logged in avatar exist in the asset service
2014-11-25 23:23:09 +00:00
Justin Clark-Casey (justincc) a9dde81753 minor: Correct letter accidentally added to copyright notice on top of Scene.cs (almost five years ago!) 2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc) b7ef6009a7 In Scene.AddNewAgent(), avoid a situation where an exception can result in a client being added to the manager without IClientAPI.SceneAgent being set.
This is done by adjusting the order of code so that SceneAgent will always be set before adding the client.
Various parts of the code (rightly) assume that a a client registered to the manager will always have a SceneAgent set no matter what.
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc) 1c9529aa9e If JobEngine is active, then use it to copy/rez attachments for an avatar entering the scene that isn't initially logging on. This will execute tasks consecutively rather than concurrently.
This has two aims
1) Reduce initial teleport failures when a foreign Hypergrid user enters a region by not holding up the teleport for attachment rez (this can be particularly costly when HG gets all assets in the object graph.
2) Reduce server load that may impact other simulator activities.
This complements existing JobEngine options that perform initial login attachment rez and appearance send in consecutive tasks.
2014-11-25 23:21:38 +00:00
Justin Clark-Casey (justincc) fc878a33ed refactor: consistently put all test classes in the OpenSim.Tests.Common package rather than some in OpenSim.Tests.Common.Mock
the separate mock package was not useful and was just another using line to always add
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc) b9b483151f Eliminate a few unnecessary calculations in the maintenance loop.
Also uses wait event instead of sleep for periodicity control.
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc) 7d30bb13be Fix recent minor regression where the default frame time wasn't being set if there was no startup config section.
Caused some regression tests to fail.
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc) 7bababaab6 Improve frame time stability by taking a few unnecessary repeated calculations out of the main scene loop.
Also uses a wait event to sleep rather than a Thread.Sleep to allow the loop to be interrupted in a more controlled manner when necessary.
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc) 5b6fb7245a Set ThreadPriority on main scene thread to highest.
This will only have an effect on Windows systems or mono with the (not recommended) mono-3.2.8 debug patch https://gist.github.com/justincc/31e52218d098529b4696 applied
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc) 9fb3065d33 Temporarily add root agent rez attachments work to job engine if it is running rather than as a fire and forget.
Experiment to see if serializing attachment rez and send initial data jobs improves other parts of sim performance.
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc) 859b1c5ba4 Add experimental job engine to see if queueing some existing async work during root agent entry to a region improves perf rather than always attempting to execute everything concurrently
Job engine is controlled via "debug jobengine start|stop|status".
Can only currently be enabled and disabled dynamically at runtime.
Currently only applies to code sending initial region data (objects, other avatar data) to a client.
2014-11-25 23:18:37 +00:00
Justin Clark-Casey 3247a7cb3e refactor: capitalize SOP.moveToTarget() and stopMoveToTarget() in accordance with code guidelines and the rest of the methods. 2014-11-19 20:12:28 +00:00
UbitUmarov 6bebb9206c fix stopMoveToTarget in attachments case ( similar to core fix) 2014-11-19 20:11:16 +00:00
Justin Clark-Casey 7a2c77e7ea If calling llStopMoveToTarget() on an in-world prim, don't send an unnecessary object update if the prim was not moving to target.
This involves making PhysicsActor.PIDActive get as well as set.
On physics components that don't implement this (all characters and some phys engines) we return false.
2014-11-19 20:06:56 +00:00
Justin Clark-Casey bdebd525db Remove SOP.StopMoveToTarget scheduled update which is now being done in SOG.stopMoveToTarget() as of last commit 67e568 2014-11-19 19:16:03 +00:00
Justin Clark-Casey 67e56872f3 If llStopMoveToTarget() is called on an attachment, then stop the avatar if it was moving to target.
Same behaviour as on Linden Lab grid.
Will probably also address http://opensimulator.org/mantis/view.php?id=7369 by not generating spurious object updates when llStopMoveToTarget() is called in attachments where the avatar is not moving.
2014-11-19 19:08:33 +00:00
UbitUmarov bb5ab05482 fix rez position being for root or center for a single object case 2014-11-19 18:20:30 +00:00
UbitUmarov 7bcb68d7c4 some steps to rez center or root of prim inventory object at requested
position ( does nothing diferent still )
2014-11-19 16:59:11 +00:00
UbitUmarov b4a91f5dde return bbox and offsetHeight to RezObject 2014-11-19 16:43:56 +00:00
Justin Clark-Casey 5aa8ba1b45 Fix issue where llRemoteLoadScriptPin() would treat 0 (the default) as a valid set pin in a destination prim rather than the unset no pin state
Adds regression test for this case.
2014-11-11 17:59:56 +00:00
Melanie Thielker bec456c2a5 Remove the Invisible stuff and add more baked caching. Refactor selection of textures to save to Bakes module. 2014-11-11 07:09:30 +01:00
Melanie Thielker 64deb6ae6f Second part of invisible base avatar option 2014-11-10 19:49:58 +01:00
Melanie Thielker 46424a4a77 Add a new baked texure module methid to support baked texturing mesh avatars 2014-11-10 04:47:37 +01:00
Melanie Thielker 6d2e924f24 Call the bake module each time we see a new attachment to see if the attachment
needs textures
2014-11-10 04:46:51 +01:00
UbitUmarov fdb0598446 remove duplicated lines 2014-11-08 00:25:44 +00:00
UbitUmarov caddabb5c4 scale ChildAgentThrottles with distance (internal to child server and not
root as was done before )
2014-11-06 22:25:16 +00:00
UbitUmarov ead78764ab allow drawdistance to change between 32 and MaxDrawDistance, configurable
value default to 256, so should have no effect. Next steps needed: reduce
 client udp Throttles with distance, update childreen connections with
 significat movement and view range changes, Make disconnect be delayed in time, make disconnects be receiving region action not sender on region changes. Allow distance less than 256 to only connect to visible regions, even none. Make this be relative to camera and not agent position or region centers as it is now.
2014-11-06 19:03:25 +00:00
UbitUmarov a6ffcbb7f9 always write physicsShapeType on sop serialization since default value
can't be guessed in some cases
2014-11-03 00:56:48 +00:00
UbitUmarov 37a5eab0f5 BUG FIX prevent references to null scene (as happens on mesh uploads) 2014-11-03 00:03:53 +00:00
Melanie Thielker 30f3de549a Merge branch 'avination-current' 2014-10-30 01:32:36 +01:00
Melanie Thielker 3afd64f2f7 Fix a script load issue 2014-10-30 01:29:03 +01:00
UbitUmarov e4d84d8ff6 try to make a avatar usesable if its siting part didn't cross, or crossed
back. This situation points to that sitted avatars should be sent in same
 http connection that crosses the object
2014-10-28 13:52:00 +00:00
UbitUmarov bc4d0179b3 remove debug message 2014-10-26 12:38:22 +00:00
UbitUmarov b07ea475bf delete keyframes on temporary backup group 2014-10-26 12:30:11 +00:00
UbitUmarov 525322efa2 bug fix 2014-10-26 12:24:12 +00:00
UbitUmarov b43ce909aa Debug... ( restored TriggerOnSceneObjectPreSave) 2014-10-26 11:28:24 +00:00
UbitUmarov cfc8de096b remove lock that did nothing, DEBUG disable TriggerOnSceneObjectPreSave 2014-10-26 10:48:53 +00:00
UbitUmarov 6600282fe9 another try to prevent double crossing 2014-10-26 10:08:13 +00:00
UbitUmarov 139044fc79 keep intransit flag even if deleted, dont set sog position if in transit 2014-10-26 01:25:28 +00:00
UbitUmarov 639f128d2c some cleanup, localID coerence fix.. 2014-10-26 01:27:43 +01:00
UbitUmarov d9d58a7b33 some code reorder/minor changes 2014-10-25 23:00:41 +01:00
UbitUmarov 16608ffb01 don't backup in transit SOGs 2014-10-24 21:51:38 +01:00
UbitUmarov 4571e5bc3e try to make SOG crossings full async. Simplify some borders checking.... 2014-10-24 18:10:28 +01:00
UbitUmarov 31c036c044 refuse crossings if logins disabled
Please enter the commit message for your changes. Lines starting
2014-10-21 19:22:51 +01:00
UbitUmarov b1ccf3f110 make sure we return false if catch() is triggered on crossing 2014-10-21 13:04:26 +01:00
UbitUmarov 59413adcee do agent crossing async, including QUERYACCESS ( need to check vehicles for
this also ), so it doesn't stop heartbeat
2014-10-21 11:57:47 +01:00
UbitUmarov afa9b4a002 Assume childreen don't need to know caps seeds 2014-10-20 09:14:27 +01:00
UbitUmarov f44c29effb try to fix propagation of seeds to all relevante regions 2014-10-19 15:51:12 +01:00
UbitUmarov b7708b9d1f change child agents creation/notification. As before this assumes that
sending regions close out of view connections.
2014-10-18 18:27:38 +01:00
UbitUmarov f9588730cf debug makeroot timing 2014-10-17 14:36:02 +01:00
UbitUmarov 2bea66ed27 send motion control state in update to childs. Reset CollisionPlane on
makechild
2014-10-17 14:07:11 +01:00
Melanie Thielker 14259b5f99 Fix an obscure permissions exploit. Taking items from a friend's prim could
possibly result in a privilege escalation
2014-10-16 03:53:56 +02:00
Melanie Thielker 04612f41a7 Fix transferring inventory from prims to agent inventory 2014-10-16 03:46:45 +02:00
UbitUmarov c0a75fcc03 fix targetOmega resend on deselect on the right place, can't be at sop
but packethandlers
2014-10-06 00:17:41 +01:00
UbitUmarov 57caf468e8 bug fix: resend part targetOmega on deSelect 2014-10-04 08:30:04 +01:00
UbitUmarov 6f149ef6ae bug fix: leave jumping state only to landing, without fallback into
onsurface, etc
2014-10-04 07:49:05 +01:00
UbitUmarov 4ae960a4f0 bug fix: revert back check on creating link 2014-10-04 03:43:20 +01:00
Justin Clark-Casey (justincc) cbd428cff3 Add LSL transaction_result event.
This is cinderblocks' transaction_result.diff from http://opensimulator.org/mantis/view.php?id=7329 but I have used lsl.parser.cs and lsl.lexer.cs files generated directly from opensim-libs rather than those supplied in the patch.
I also added scriptEvents.transaction_reuslt.
The required parser/lexer generation file changes were made in commit d564f28 in the opensim-libs repo.
Thanks!
2014-10-04 00:16:47 +01:00
UbitUmarov 94f42cef90 added a missing angularVelocity.Zero on sitting, removed odd camera based
movement vectors, plus little other things
2014-10-03 18:32:52 +01:00
Justin Clark-Casey (justincc) 57e75d7c03 Do not add attachments to the region scene object backup list.
Attachment persistence is not handled in this way and this just results in a load of busy work until a check in each SOG terminates a backup check for attachments anyway.
2014-10-02 22:30:44 +01:00
Justin Clark-Casey (justincc) afa85e6b3c Set appearance refresh to false by default.
This setting was originally added some time ago to deal with issues where appearance was not received properly by all users.
However, it does not scale well with large numbers of agents.
Disabling to see if the original problem has abated or whether this will have to be tackled in another way.
2014-10-02 22:30:44 +01:00
UbitUmarov 6d1f1103f3 clean up coments, use a even faster XY move request detection 2014-10-01 16:36:06 +01:00
UbitUmarov 4c8819a143 removed useless unreal inworld movement vector estimation. Do animation state using movement control flags only, on avatar frame of reference. This will hold
valid until the up direction is allowed to be diferent from the world one.
2014-10-01 04:32:19 +01:00
UbitUmarov b9be9097aa fix a incomplet landing handling case 2014-09-30 17:02:24 +01:00
UbitUmarov 2af7205813 keep same animation if in transit 2014-09-30 00:13:52 +01:00
UbitUmarov 3052a53889 change avatar physics and motion control. Still not that good :( 2014-09-29 20:17:05 +01:00
Justin Clark-Casey (justincc) 530b0cbbf1 Move expired objects cleaning trigger to the maintenance thread of a region rather than it's main scene loop.
[Startup] default setting UpdateTempCleaningEveryNFrames becomes UpdateTempCleaningEveryNSeconds.
Default becomes 180s instead of effective 182s (which would also vary with any changes in frame time or extra long frames)
2014-09-27 00:23:52 +01:00
UbitUmarov 09e05d48b9 refuse to do a inventory link if provided asset type is not a link or
folderlink
2014-09-26 13:28:24 +01:00
UbitUmarov d29a04fc20 remove debug msgs 2014-09-26 03:52:10 +01:00
UbitUmarov 598ab37b97 debug msg 2014-09-26 02:52:44 +01:00
Justin Clark-Casey (justincc) 9fcee73326 Make "generate map" console command also trigger upload to maptiles as well as asset generation without performing tile generation twice. 2014-09-26 01:02:19 +01:00
UbitUmarov 8c68772624 bug fix: add missing attach to region heartbeat event to update animations 2014-09-26 00:54:06 +01:00
UbitUmarov c9079360b9 coment out stack trace at newUserConnection, add log msh at createAgent 2014-09-24 18:37:59 +01:00
UbitUmarov 46bf6d1640 add stack trace debug message 2014-09-24 18:29:23 +01:00
UbitUmarov 4206c1248f same thing on another lock(acd) 2014-09-24 01:51:36 +01:00
UbitUmarov d96fe6eaf5 replace a lock on a unkown origin object with a lock on a well defined
one.
2014-09-24 01:37:51 +01:00
Justin Clark-Casey (justincc) c015cb3134 Remove an unnecessary check at the bottom of Scene.CloseAgent()
At this point sp != null so no check required.
2014-09-24 00:50:24 +01:00
UbitUmarov 6d2cdd31fe populate collision lists with LinkNumber, and detected structure in
Xengine
2014-09-23 23:59:05 +01:00
UbitUmarov f37364b56f Merge branch 'master' into ubitworkmaster 2014-09-23 23:20:28 +01:00
Melanie Thielker 309cfeff88 If an agent is logging in, rather than teleporting, make sure all known
circuits for that agent are closed.
2014-09-23 21:53:09 +02:00
AliciaRaven 1e22091193 Modifications to previous IAR commits to bring them more inline with existing OpenSim code conventions. Also include new IAR save switch in console help print out. 2014-09-23 00:04:59 +01:00
AliciaRaven 5bc3bbbcf3 Add an event callback for loading IAR files. The callback for creating them already existed but not for loading. This is of interest for use by region modules. Also includes reporting numbers of items saved and items filtered to the completed log printout. 2014-09-23 00:04:53 +01:00
AliciaRaven 08675d44a7 Change existing IAR save to use UUID for its callback reference instead of Guid. This is for uniformity as discussed on IRC. 2014-09-23 00:04:50 +01:00
UbitUmarov 79e47eb60e some changes in link/unlink code, bypassing complex variables set methods 2014-09-22 23:32:55 +01:00
UbitUmarov c82e456345 debug show stack trace 2014-09-22 21:13:36 +01:00
Melanie Thielker 4cc552162e Merge branch 'ubitworkmaster' 2014-09-22 18:50:06 +02:00
Melanie Thielker 0bfba122f0 When a ghosted avatar is removed, also remove any remaining CAPS 2014-09-22 18:49:08 +02:00
UbitUmarov ea4a526095 a few more changes on link/unlink 2014-09-22 16:09:39 +01:00
UbitUmarov b7fca5bcac same in a few more spots 2014-09-22 14:44:47 +01:00
UbitUmarov fe3c1b9e98 send to world or backup, after setting finding information 2014-09-22 14:32:56 +01:00
UbitUmarov bcaf202e34 update scenegraph group find by part information in sog link, so script link functions do update that also. 2014-09-22 13:59:23 +01:00
UbitUmarov a70ed79c39 compile fix 2014-09-21 23:26:17 +01:00
UbitUmarov d1ccc6d5cc release lock a bit sooner when not needed, add a try on more complex db
store call
2014-09-21 23:23:20 +01:00
UbitUmarov adda696cd0 protect getting the item 2014-09-21 22:46:44 +01:00
UbitUmarov 51ec2d83ac remove redundant code 2014-09-21 22:43:17 +01:00
UbitUmarov 9c552212a9 exclude npcs from baked cache 2014-09-19 16:51:51 +01:00
UbitUmarov 242bb425f3 fix positions on same frames transitions 2014-09-19 01:07:20 +01:00
BlueWall 519c753e46 This fixes the Scene thread renaming issue 2014-09-17 20:25:27 -04:00
BlueWall 96a2449122 Undo "Revert "Small changes to threading to send thread names to unmanaged threads. Needs Mono 3.6+ to see thread names in utilities like top -H . Some formatting of the thread name to fin in the 16 byte limit on Linux. Please test on Windows to see if the work has any adverse effects.""
Fix for break in next commit

This reverts commit 376fab1402.
2014-09-17 20:03:54 -04:00
Edward 427240f935 Changes to be committed: modified: OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs modified: OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs This solves mantis bug# 5005: llRegionSay script does not trigger ChatFromWorld event. This was solved by adding World.SimChat() command to the llRegionSay() function (per suggestion of DrCuriosity). Additionally this fixes llRegionSayTo() which was also not functioning by adding a World.SimChat() command and adding a new SimChatToAgent() overrided function to Scene.PacketHandlers.cs This is the second patch revision. Corrections made to the position of World.SimChat() and removal of tabs per suggestion by justincc. 2014-09-17 23:37:18 +01:00
BlueWall 376fab1402 Revert "Small changes to threading to send thread names to unmanaged threads. Needs Mono 3.6+ to see thread names in utilities like top -H . Some formatting of the thread name to fin in the 16 byte limit on Linux. Please test on Windows to see if the work has any adverse effects."
This reverts commit af286d5fcb.
Issue with Jenkins builds
2014-09-17 18:11:41 -04:00
BlueWall af286d5fcb Small changes to threading to send thread names to unmanaged threads. Needs Mono 3.6+ to see thread names in utilities like top -H . Some formatting of the thread name to fin in the 16 byte limit on Linux. Please test on Windows to see if the work has any adverse effects. 2014-09-17 17:56:10 -04:00
UbitUmarov 1953a0f4e0 Dont add to physics in a child update. It is missing several checks like
sit. makeroot should to it
2014-09-17 13:36:39 +01:00
UbitUmarov affcdcce8b try to send fly state on tps 2014-09-16 21:25:06 +01:00
Melanie Thielker 8ab5f2ce84 When CloseAgnt is called with an agent id that doesn't have a presence, check for stray clients and clean them up instead of failing. 2014-09-13 16:39:56 +02:00
UbitUmarov ffe5ede550 taskInventory request: give each transfer a diferent filename, Add more
agressive lock
2014-09-12 11:48:43 +01:00
Justin Clark-Casey (justincc) 70953dbfcd Fix issues where setting llSetTextureAnim(FALSE... did not work properly).
I ended up amalgamating patches from http://opensimulator.org/mantis/view.php?id=7313 and http://opensimulator.org/mantis/view.php?id=7318
Thanks a lot to both bobshaffer2 and cinderblocks.
2014-09-12 00:34:39 +01:00
Justin Clark-Casey (justincc) a3bd708e77 Fix regression from recent a02dae5 where stand positions are no longer correct when a sit target is specified.
Adjusts stand position using just avatar position relative to the root prim instead.
Fixes http://opensimulator.org/mantis/view.php?id=7315 and preserves previous fix for http://opensimulator.org/mantis/view.php?id=7299
2014-09-11 20:59:20 +01:00
UbitUmarov df8eae1957 handle AO sit ground case 2014-09-10 20:55:00 +01:00
UbitUmarov f66b58cf00 *TEST* add movement states SIT and SITGROUND. ScenePresence on SIT,
SITGROUND or STAND, sets directly the state, and desired sitAnimation for
default sits
2014-09-10 19:30:57 +01:00
Melanie Thielker 0caa59b286 Fix a nullref that can hit Vivox voice 2014-09-10 02:43:51 +02:00
UbitUmarov e37fd5e716 force update of movement animation 2014-09-09 22:27:21 +01:00
UbitUmarov 9d815e2d2a on SetAnimationOverride do a UpdateMovementAnimations(); 2014-09-09 22:07:03 +01:00
UbitUmarov 016e58e354 *test* 2014-09-09 21:53:27 +01:00
Melanie Thielker 87a4abac50 Plumb the rest of the serverside AO 2014-09-09 20:50:41 +02:00
Melanie Thielker 339904bc52 Merge branch 'ubitworkmaster' 2014-09-09 20:16:43 +02:00
Melanie Thielker 2d2823f1de Add some case magic and send an anim pack when an override is set 2014-09-09 20:16:02 +02:00
UbitUmarov 002a2deaf9 add full delete if uuid iz zero and state is ALL 2014-09-09 19:09:06 +01:00
UbitUmarov 46abe0c86d Merge branch 'master' into ubitworkmaster 2014-09-09 13:54:00 +01:00
UbitUmarov 683f2cc892 only cancel attchment needed update type on sending sheduled updates.
This is wrong but its as original worked
2014-09-09 13:32:22 +01:00
UbitUmarov 4ed3461573 huds bug fix 2014-09-09 05:20:43 +01:00
Melanie Thielker 347c5b3070 Add perms check 2014-09-09 05:20:53 +02:00
Melanie Thielker aa84ad369c Add some forgotten calls 2014-09-09 04:35:08 +02:00
Melanie Thielker d2324b64c7 Add missing file 2014-09-09 04:12:58 +02:00
Melanie Thielker 18023169e7 Actually do the overriding 2014-09-09 04:12:10 +02:00
UbitUmarov 17154fbffa set default LinksetPhysPrims to 0 so max number of prims for physical
object is disabled
2014-09-09 02:22:07 +01:00
UbitUmarov d00aa403e0 Merge branch 'master' into ubitworkmaster 2014-09-09 02:05:44 +01:00
Melanie Thielker f2390f7c72 Plumb llSetAnimationOverride 2014-09-09 03:01:05 +02:00
UbitUmarov 51697944b6 dont send fullObjectUpdate on deselect 2014-09-09 00:09:39 +01:00
UbitUmarov 8e15d4ad57 limit number of prims on physical objects. Not all cases covered still 2014-09-08 23:58:49 +01:00
Justin Clark-Casey (justincc) 41f2f3132b For monitoring purposes, start non-timeout tasks (which do not currently use a threadpool) via Watchdog.RunInThread() rather than Util.RunThreadNoTimeout()
The functionality is the same but this allow us to monitor such tasks via "show threads" and abort them for test purposes, etc.
Also extends thread names to provide more info (e.g. SendInitialDataToClient says what client the task is for).
2014-09-05 23:20:59 +01:00
UbitUmarov cf1d58d164 do not send objectproprieties on sop.SetGroup(). I many cases this will
arrive before creating the object in viewer with respective full update
2014-09-05 15:16:13 +01:00
Justin Clark-Casey (justincc) ac866a1c46 Add [EntityTransfer] AllowAvatarCrossing setting to determine whether avatars are allowed to cross regions at all.
Defaults to true.  For test purposes.
2014-09-03 00:25:56 +01:00
Justin Clark-Casey (justincc) d582db6132 Fix recent regression from 473c5594 where camera started to judder on moving vehicles.
Other parts of OpenSimulator are relying on SP.Velocity == 0 for vehicles.
So add and use SP.GetWorldVelocity() instead when we need vehicle velocity, along the same lines as existing SP.GetWorldRotation()
2014-09-02 23:39:52 +01:00
Justin Clark-Casey (justincc) 473c559478 As per the LL grid, if an avatar is sitting then return it's velocity relative to the region rather than relative to its seat.
Resolves http://opensimulator.org/mantis/view.php?id=7175
2014-08-30 01:09:33 +01:00
Justin Clark-Casey (justincc) a02dae566c Fix issue where moving a seated avatar would not adjust their subsequent stand position.
Addresses http://opensimulator.org/mantis/view.php?id=7299
2014-08-30 00:26:18 +01:00
Justin Clark-Casey (justincc) 099212167b Implement STATUS_BLOCK_GRAB_OBJECT in llSetStatus()/llGetStatus() and correct effect of STATUS_BLOCK_GRAB
As per http://wiki.secondlife.com/wiki/LlSetStatus
Setting STATUS_BLOCK_GRAB_OBJECT prevents or allows move of a physical linkset by grab on any prim.
Setting STATUS_BLOCK_GRAB prevents or allows move of a physical linkset by grab on a particular prim.
Previously, setting STATUS_BLOCK_GRAB would prevent drag via all prims of the linkset.
2014-08-29 23:40:21 +01:00
Justin Clark-Casey (justincc) 1b75ec5647 Ignore whitespace when reading serialized XML objects.
This was previously effectively being done by XmlDocument in the multiple passes through the XML.
This change tells XmlReader to ignore whitespace.  This also means changing arguments to use XmlReader instead of XmlTextReader (a descendent of XmlReader) directly.
XmlReader.Create() has been the recommend way to create XML readers since .NET 2.0 as per MS SDK and is the only way to specific ignore whitespace settings.
2014-08-29 19:08:23 +01:00
Justin Clark-Casey (justincc) 1a3ffda852 minor: Eliminate more unnecessary code copying individual parameters for Vector3 copying in Scene - this is not necessary as Vector3 is a value type 2014-08-28 18:37:34 +01:00
Justin Clark-Casey (justincc) f132f642b2 On code section that rezzes single objects and attachments, reduce CPU use by reading asset XML a single time with a stream reader rather than multiple times.
Reading large XML documents (e.g. complex attachments) is CPU expensive - this must be done as few times as possible (preferably just once).
Reading these documents into XmlDocument is also more resource intensive than using XmlTextReader, as per Microsoft's own publication "Improve .NET Application Performance and Scalability"
Optimization of other cases will follow if this change is successful.
2014-08-28 18:15:33 +01:00
UbitUmarov 38fc1cc445 try to make child presence know its root region. Incomplete, some paths dont send the information. 2014-08-28 00:44:59 +01:00
UbitUmarov b871029a30 dont create a cadu that is not used. Add a root region global position 2014-08-27 18:05:40 +01:00
UbitUmarov 73cdafd6c9 dont mess throotles values sent to child presences. Some cleanup 2014-08-27 15:57:12 +01:00
Melanie Thielker 012d0b07bc Merge branch 'ubitworkmaster' 2014-08-27 11:25:17 +02:00
UbitUmarov 07ee101a05 bug fix. Was not deleting attachments if on public parcel 2014-08-27 01:09:11 +01:00
UbitUmarov 620443f858 on TPs to nearby regions, only send kills if needed by parcel privacy 2014-08-27 00:37:05 +01:00
Justin Clark-Casey (justincc) b1ff78f4d8 Don't allow update timer to invoke another scene update if the previous is still active. 2014-08-26 18:52:09 +01:00
Justin Clark-Casey (justincc) 42bb122232 Fix frame times when updating scene on timer. 2014-08-26 18:13:38 +01:00
Justin Clark-Casey (justincc) 64f640f901 Implement experimental non-default mechanism to update scene via a timer rather than a persistent thread with sleep.
This is to see if an inaccuracy in sleep times under load is responsible for increase in frame times even when there is spare time still available.
Can currently only be activated by setting "debug scene set update-on-timer true".
Can be switched between timer and thread with sleep updates whilst the scene is running.
2014-08-26 18:13:38 +01:00
UbitUmarov dde2ac2544 still testing 2014-08-26 02:22:25 +01:00
UbitUmarov 3ee6144d0c even less kills on tps 2014-08-26 00:00:21 +01:00
UbitUmarov 6857afe2a4 *test* back to no sog kills, little retouch on attachment updates,
NameValue AttachItemID is a root part thing only
2014-08-25 23:31:04 +01:00
Melanie Thielker 56081dc5e1 Merge branch 'ubitworkmaster' 2014-08-25 20:33:12 +02:00
UbitUmarov b1f14ad62f back to just kills 2014-08-25 14:15:53 +01:00
UbitUmarov 385fcbb75e *test* send kills and hack 2014-08-25 13:58:50 +01:00
UbitUmarov f4a6be8654 clean sendKill a bit, remove a IsChild that is set too early in a calling
path
2014-08-24 00:44:14 +01:00
UbitUmarov 06b6238d00 send avatar kills after attachments, send otherattachments before rest of
sog ( updates will mess this again but well... )
2014-08-23 22:24:28 +01:00
Melanie Thielker 9ce1fd7a3c Merge branch 'avination-current' 2014-08-23 19:39:31 +02:00
Melanie Thielker 1fc5dadc60 Add an admin message to refesh a region's map tile. Will be used to periodically
rebuild the world map to clean out unused tiles.
2014-08-23 19:38:08 +02:00
UbitUmarov 8fd836c299 back to sending attachment sog kills in place of the hack. This is the
official way of doing it
2014-08-23 12:03:55 +01:00
UbitUmarov 1aa335078a sop SendFullUpdate() goes by presence if it is a attachment 2014-08-22 21:54:00 +01:00
UbitUmarov 0295e6822d some cleanup ( well or not ) 2014-08-22 20:01:07 +01:00
UbitUmarov c95fd60806 revert the kills, they seem even worse 2014-08-22 00:28:05 +01:00
UbitUmarov 0da7f8e863 silly... 2014-08-22 00:01:50 +01:00
UbitUmarov be02fb3904 replace hack by sog kills on tp out 2014-08-21 23:43:06 +01:00
UbitUmarov d5bb80798d make the hack more extensive. Forbid sog/sop updates if Intransit but
release it sooner
2014-08-21 23:18:51 +01:00
UbitUmarov 6674548af0 replace AgentHasMovedAway + KillEntity by a hacked version on teleports 2014-08-21 22:42:45 +01:00
UbitUmarov ad83b18634 some cleanup.. 2014-08-21 14:07:55 +01:00
UbitUmarov b68c814bc6 ... 2014-08-21 10:53:59 +01:00
UbitUmarov 114144407b variations.. 2014-08-21 09:32:36 +01:00
UbitUmarov 5f1cb6542d test 2014-08-21 06:35:11 +01:00
UbitUmarov ad6f942279 add filter sog updates 2014-08-21 06:11:19 +01:00
UbitUmarov d98d64a61a bug fix 2014-08-21 05:28:35 +01:00
UbitUmarov d2f3a19838 test 2014-08-21 05:00:51 +01:00
UbitUmarov 6acfa77919 test 2014-08-21 04:35:04 +01:00
UbitUmarov 87f03c040c bad test 2014-08-21 04:07:23 +01:00
UbitUmarov 5bf145a397 add a direct sendpartfullUpdate to send a full object update to a part,
optionally overriding its parentID. check what it does to attachments
2014-08-21 00:49:10 +01:00
UbitUmarov 88587b4e73 reserve updates priority queue 2 for attachments, send them by it on
BestAvatarResp scheme. Attachments cannot be sent on imediate queues,
 since they will block everything. Changed distance to priority math,
 keeping identical result, shifted to start at queue 3.
2014-08-20 21:41:16 +01:00
UbitUmarov 16cf3967b4 Reserve a extra localID for a presence ( it will be localID + 1 ) 2014-08-20 17:54:23 +01:00
UbitUmarov b21b6532b0 sending attachment kills before putting them back doesnt cover all cases
and seems heavy for viewers
2014-08-20 17:48:10 +01:00
UbitUmarov d16f7df673 also send attachment pre-kills on crossings 2014-08-19 20:33:26 +01:00
UbitUmarov 6aa60a5d97 test .... 2014-08-19 19:56:43 +01:00
UbitUmarov cca2ae3c89 test 2014-08-19 19:47:41 +01:00
UbitUmarov ca43a7fe63 variationsss... 2014-08-19 09:42:45 +01:00
UbitUmarov b0253362c7 remove the silly sendTerseUpdates. I was fooled by wingridproxy not
decoding updates correctly
2014-08-19 09:18:29 +01:00
UbitUmarov e883fb519b test 2014-08-19 06:53:02 +01:00
UbitUmarov 65983cc4fc test 2014-08-19 06:23:30 +01:00
UbitUmarov 1c9af8727d send the avatar data after sending attachments, by the same Entity updates
path
2014-08-19 05:13:18 +01:00
UbitUmarov 42a58101cf HACK force GetPriorityByBestAvatarResponsiveness ignoring configuration 2014-08-19 04:56:33 +01:00
UbitUmarov 9914e371af minor changes to GetPriorityByBestAvatarResponsiveness code 2014-08-19 04:54:25 +01:00
UbitUmarov e77fafe12d *test* send attachments in sync, resend avatar at end 2014-08-19 02:15:01 +01:00
UbitUmarov ffcc1d7fa2 undo the hack.. its useless 2014-08-18 23:14:04 +01:00
UbitUmarov d31f361e89 moved hacks to scene presence completemovement, possible only needed
there?
2014-08-18 19:41:16 +01:00
UbitUmarov 73b8dc4183 missing file for previus commit 2014-08-18 19:19:25 +01:00
UbitUmarov 83e545df93 *DANGER* *HACKS* on reusing child presences: partA send kills to
viewers, partB keep using same localID (as before)
2014-08-18 19:14:53 +01:00
UbitUmarov 96de2a2fd2 reduce the kills sent, hide attachments kills on origin 2014-08-18 04:07:40 +01:00
UbitUmarov f8e4805d98 NOT GOOD. Changed hide code on crossing/tp. Send needed avatar and attachments
kills, visible so we can see what is going on, to try to improve later
(this are always needed, hidding just made issues more visible )
2014-08-18 01:34:16 +01:00
UbitUmarov 31a2c07e83 put bake bakes, plus a missing change forcing animations to pass by
scenepresence
2014-08-17 09:54:38 +01:00
UbitUmarov f8b8cf3d8f more detailed timing on completmovement 2014-08-16 22:16:15 +01:00
UbitUmarov f6642a1cc8 minor low resolution debug timming 2014-08-16 21:53:45 +01:00
UbitUmarov dc178959c5 change how avatar data, appearance and animations are sent, specially
the order
2014-08-16 14:52:09 +01:00
Justin Clark-Casey (justincc) e0c6bfa81e If a user moves back in sight of a child region before the agent has been closed on teleport, don't unnecessarily resend all avatar and object data about that region. 2014-08-15 21:47:34 +01:00
Justin Clark-Casey (justincc) 91e1aaa5d4 On teleport to a region that already has a child agent established (e.g. a neighbour) don't resend all the initial avatar and object data again.
This is unnecessary since it has been received (and data continues to be received) in the existing child connection.
2014-08-15 21:47:34 +01:00
UbitUmarov ca28062722 dont mess with Throttles in code also used to send to main regions. Use
full parameters on appearance cloning so its clear we want it all
2014-08-14 12:34:07 +01:00
Justin Clark-Casey (justincc) 4c781db572 Make RootTerseUpdatePeriod and ChildTerseUpdatePeriod configurable in [InterestManagement] in OpenSim.ini for experimental purposes.
If n > 1 for RootTerseUpdatePeriod only every n terse update is actually sent to observers on same region, unless velocity is effectively zero (to stop av drift).
If n > 1 for ChildTerseUpdatePeriod only every n terse update is sent to observers in other regions, unless velocity is effectively zero.
Defaults are same as before (all packets are sent).
Tradeoff is reduction of UDP traffic vs fidelity of observed av mvmt.
Increasing n > 1 leads to jerky observed mvmt immediateley for root, though not on child, where experimentally have gone to n = 4 before jerkiness is noticeable.
2014-08-14 01:39:26 +01:00
Justin Clark-Casey (justincc) 6ea82ad48a Make some existing reprioritization values changeable outside the scene for test purposes, and use more consise property syntax.
No functional change.
2014-08-14 01:16:58 +01:00
Justin Clark-Casey (justincc) bc0895c758 On entity transfer of scene presence, replace polling sleep in SP.WaitForUpdateAgent() with a triggered event instead.
Rapid polls are more expensive than triggered events (several polls vs one trigger) and may be problematic on heavily loaded simulators where many threads are vying for processor time.
A triggered event is also slightly quicker as there is no maximum 200ms wait between polls.
2014-08-13 23:45:51 +01:00
Justin Clark-Casey (justincc) 0d2a25b477 Remove redundant origin region lock in SP.CompleteMovement()
This is already going to be correctly set by WaitForUpdateAgent() earlier on in that method, which is always called where a callback to the originating region is required.
2014-08-13 23:11:32 +01:00
UbitUmarov 483afe6867 remove creative hack and try to fix 2014-08-13 18:52:13 +01:00
UbitUmarov 3f0138c967 Merge branch 'master' into ubitworkmaster 2014-08-13 15:50:12 +01:00
UbitUmarov 92117d48af remove the region where we are root from the list of Neighbours and
childSeeds
2014-08-13 03:54:13 +01:00
UbitUmarov 444b41b22a reverted last change since it did nothing usefull 2014-08-13 03:11:55 +01:00
UbitUmarov 0a1ffad07c TEST do a Animator.UpdateMovementAnimations() when making root ( in
validate appearence just before sending animation
2014-08-13 03:01:49 +01:00
Melanie Thielker 96d89c5906 Merge branch 'ubitworkmaster' 2014-08-12 22:46:28 +02:00
UbitUmarov bf269c871a use Vector3.normalize in place of util.GetNormalize 2014-08-12 20:59:36 +01:00
UbitUmarov c7e3e59953 try no send current LookAt, remove redundant incomplete position height
check
2014-08-12 20:37:34 +01:00
UbitUmarov 4997a9e87a fix VS creative indentation 2014-08-12 18:42:18 +01:00
UbitUmarov a0f26dc6ec change XMLIrpgGroups attach to events, using the more correct
\addons\Groups\...  model
2014-08-12 18:28:01 +01:00
Melanie Thielker 37921c66e5 Avination's Dynamic Floater Module. This works with Singularity viewer only.
It's WIP in that a dialog builder is on it's way. For now, the XML needs to
be handmade.
2014-08-12 01:04:29 +02:00
Melanie Thielker 22d472e34a Merge branch 'ubitworkmaster' 2014-08-11 18:45:39 +02:00
UbitUmarov 2cc8e90bd2 remove a land.SendLandUpdateToClient() since its now done for all cases in
completmovement and not only that specific one
2014-08-11 02:51:34 +01:00
UbitUmarov ba33d78af9 dont do ParcelCrossCheck() on child avatars 2014-08-11 01:44:12 +01:00
Melanie Thielker 0eaabef1dc Fix a condition check 2014-08-11 02:31:29 +02:00
Melanie Thielker 519df0d2a3 Fix a condition check 2014-08-11 02:30:09 +02:00
Melanie Thielker 036017bba7 Make texture anims work right on singu 2014-08-11 02:08:17 +02:00
Melanie Thielker 01e381fa33 Make texture anims work right on singu 2014-08-11 02:07:23 +02:00
UbitUmarov 7fcd1068e7 TEST move parcelRegionCross to EntityTransferModule cross so it works on
sitting avatars. (may be bad) comented out sending root avatars
information to the child that was just a root it should have it all
already. Dont turn a sitting avatar physical,  that needs to be a stand at SOG
2014-08-10 20:09:02 +01:00
UbitUmarov dc7b9c1cc3 dont do for children what is for growups ( root agents) ( needs check) 2014-08-09 15:12:02 +01:00
Justin Clark-Casey (justincc) 30f1b424bb Change RootRotationUpdateTolerance from 0.01 to 0.1 in code as well. 2014-08-08 23:47:53 +01:00
UbitUmarov b7f24bacce bugg 2014-08-07 06:09:56 +01:00
UbitUmarov c3f9c99fb3 DANGER... changed bakedtextures caching. Assuming grid baking is cache
only, reduced number of accesses to it. TESTING
2014-08-07 05:20:45 +01:00
Oren Hurvitz e36e416637 Fixed crash when using Allowed/Denied Viewers, and the viewer's name is shorter than one of the test strings
This fixes http://opensimulator.org/mantis/view.php?id=7294
2014-08-06 19:02:15 +03:00
Justin Clark-Casey (justincc) 78ccadb27e Add RootPositionUpdateTolerance, RootRotationUpdateTolerance, and RootVelocityUpdateTolerance parameters to [InterestManagement] in OpenSimDefaults.ini
These govern when AgentUpdates are sent to observers on position, rotation and velocity changes to an avatar (including the avatar themselves).
Higher values reduce AgentUpdate traffic but at a certain level will degrade smoothness of avatar and perceived avatar movement.
2014-08-06 00:53:14 +01:00
Justin Clark-Casey (justincc) 961cb9cc77 refactor: Rename recent new Client*UpdateTolerance to Root*UpdateTolerance for better accuracy and consistency with other similar parameters 2014-08-06 00:35:26 +01:00
UbitUmarov e1a5a1f829 apply objectSlamSale to all roots of coalescence objects. replace the
single object condition for renaming
2014-08-05 23:25:08 +01:00
UbitUmarov 3c321e5bb3 dont mess with names and descriptions on coalescence objects. Inventory
name can change for inventory purposes only.
2014-08-05 22:49:41 +01:00
UbitUmarov 2c4908578e revert to old avn-current code, not using ApplyPermissionsOnRez() till its
reviewed/fixed
2014-08-05 21:55:42 +01:00
UbitUmarov c80322f1e6 dont change agentItem.BasePermissions where avination-current didn't
change
2014-08-05 19:03:11 +01:00
UbitUmarov 507a29d581 diference fix 2014-08-04 21:55:58 +01:00
UbitUmarov 3cca5ec667 check... 2014-08-04 21:52:29 +01:00
UbitUmarov 3d81f25e34 Revert "start sending terrain in scenePresence after well defined avatar. Minor"
This reverts commit 05a2feba5d.
2014-08-04 20:32:11 +01:00
UbitUmarov 05a2feba5d start sending terrain in scenePresence after well defined avatar. Minor
change on significante AgentUpdate check.
2014-08-04 19:57:47 +01:00
UbitUmarov b07b0ff555 missing child login parcel overlay 2014-08-04 00:16:56 +01:00
UbitUmarov bad01fbb41 some mess cleanup 2014-08-03 22:57:08 +01:00
UbitUmarov 0d71a2bb8f mess update ( hide avatars ) 2014-08-03 22:38:50 +01:00
UbitUmarov ca8b0e6a1d replace debug msgs by others 2014-08-03 19:00:01 +01:00
UbitUmarov ed47874197 several debug msgs, need to be removed asap 2014-08-03 18:22:00 +01:00
UbitUmarov bcab663ad7 debug... 2014-08-03 06:16:30 +01:00
UbitUmarov cc16fe68cc .... 2014-08-03 02:26:39 +01:00
UbitUmarov b9443b186e test... 2014-08-03 02:09:07 +01:00
UbitUmarov 53e95803a5 test not rezzing attachments on a FireAndForget 2014-08-03 01:20:34 +01:00
UbitUmarov 9f5e19127d comment out a debug msg. more on gods being Gods 2014-08-03 00:22:21 +01:00
UbitUmarov addca0737c testing... 2014-08-02 23:38:18 +01:00
UbitUmarov 009e8ee76c testing 2014-08-02 23:04:18 +01:00
UbitUmarov e87f70e277 god also read local chat 2014-08-02 22:45:28 +01:00
UbitUmarov 580604c231 let gods see hidden avatars ( test ) 2014-08-02 22:32:51 +01:00
UbitUmarov 35616339f3 remove the groups restrictions for npcs since they do nothing usefull 2014-08-02 21:01:44 +01:00
UbitUmarov 46da95d1b7 bug hunt: disable group for npc 2014-08-02 19:33:38 +01:00
UbitUmarov 74447d14cd add some filters for NPCs 2014-08-02 18:32:28 +01:00
UbitUmarov b0864a2f0f crossing into a hide parcel may work now. Not nice fix.. need get back to
this later
2014-08-02 14:17:00 +01:00
UbitUmarov 20eeeba0d2 initial state change 2014-08-02 03:17:39 +01:00
UbitUmarov c11c4c0daa add a hide check at end of region arrival 2014-08-02 02:26:54 +01:00
UbitUmarov 46add98071 remove a few more 2014-08-02 01:45:32 +01:00
UbitUmarov bdac5058c8 remove some ischild tests 2014-08-02 01:21:24 +01:00
UbitUmarov e296f25445 sitting avatars hidding by their position. This is not as SL that uses
avatar sitting on root prim. All cases have good and bad situations, this is
simpler. Only SOG position changes triggers checks, rotation alone will
not. ( as happens in other cases ) (UNTESTED, as usual )
2014-08-01 19:52:55 +01:00
UbitUmarov ef1f37cf20 handle change of hide avatars flag. Parcel limits edition still need work 2014-08-01 18:59:08 +01:00
UbitUmarov 0a1e9d731d work on hide avatars 2014-08-01 00:34:52 +01:00
UbitUmarov a5e9429f2b MESS: changes in MakeRootAgent and CompleteMovement reordering things.
Added sending of land overlay and parcel information. This in order to
only send avatar related information after having its position well
defined and on the right parcel. THIS MAY STILL BE BAD :)
2014-07-31 03:10:50 +01:00
UbitUmarov 17f9f1c247 restrict other avatar sounds to parcel flags ( untested ) 2014-07-30 16:32:25 +01:00
UbitUmarov 2a2a772408 mute avatar collision sounds if parcel doesnt allow 2014-07-30 15:36:49 +01:00
Justin Clark-Casey (justincc) fcf5fb5dfd Implement "scene debug set root-upd-per" for dropping 1 in N root agent updates except to originator
For experimental purposes.
Also corrects a previous bug where each terse update sent was counted rather than each set of terse updates to agents.
2014-07-29 18:54:16 +01:00
Justin Clark-Casey (justincc) 0f87a99e54 Add debug mechanism for only sending 1 in N AgentUpdate packets to child agents.
Allows experiments in manually reducing updates under heavy load.
Activated by "debug scene set client-upd-per" console command.
In a simple test, can send as few as every 4th update before observed movement starts becoming disturbingly rubber-banded.
2014-07-29 18:09:11 +01:00
Justin Clark-Casey (justincc) f54fccba1e Make it possible to change avatar position update, rotation and velocity tolerances on the fly.
This is done via "debug scene set client-pos-upd, client-rot-upd, client-vel-upd".
For testing purposes.
2014-07-29 03:13:10 +01:00
Justin Clark-Casey (justincc) 3654ae8d8c Allow the "debug scene set physics false|true" command to work when bulletsim physics is running in a separate thread.
This will also allow the "disable physics" setting in the region debug viewer dialog to work in this circumstance.
2014-07-29 01:21:15 +01:00
Justin Clark-Casey (justincc) f6f7585ec5 Add a "debug scene set child-repri <double>" command that allows child reprioritization distance to be changed on the fly.
This governs when child agent position changes are sent to neighbouring regions.
Corresponding config parameter is ChildReprioritizationDistance in [InterestManagement] in OpenSim.ini
For test purposes.
2014-07-29 00:13:29 +01:00
UbitUmarov c3b5a6c2ab change how sounds work. May be bad.. needs testing 2014-07-27 08:18:27 +01:00
UbitUmarov 5a7a609683 remove forgotten lines 2014-07-27 08:11:27 +01:00
UbitUmarov eb55e69d4a serialize sound parameters for llLoopSound 2014-07-27 08:08:01 +01:00
UbitUmarov 43cf184603 clear script controls on crossing (untested)(possible should be done
elsewhere/othe way)
2014-07-26 16:56:21 +01:00
UbitUmarov b6af41ec11 dont standup avatar on crossing 2014-07-26 05:59:38 +01:00
UbitUmarov 4aa55204a2 allow reset default animation to default as core does 2014-07-26 05:27:36 +01:00
UbitUmarov 8808549669 on sit use root prim camera at and eye if child as neither 2014-07-23 23:09:13 +01:00
UbitUmarov f6af5f4996 change last commit setting intransit without messing flight 2014-07-23 22:28:51 +01:00
UbitUmarov f9ae7ea2e6 do CompleteMovement with InTransit set as core 2014-07-23 21:14:35 +01:00
UbitUmarov 237075ce21 cleanup a bit presence CheckForBorderCrossing removing dead code 2014-07-23 20:31:54 +01:00
UbitUmarov d64a50ac9b changed locations of m_originRegionID setting to where current core has
them. Changed avatar AbsolutePosition, it still didnt assume m_pos as
 relative to root prim. ( forgot to commit before) ( this sit may still
 have loose ends, specially around the use of OffsetPosition that is now
 relative to root prim and was relative to prim)
2014-07-23 19:56:06 +01:00
UbitUmarov 0331159d2c clamp avatar standup position within region 2014-07-22 21:34:21 +01:00
Justin Clark-Casey (justincc) 3a87cce2e0 Fix recent regression in 3c6becd5 where login or hg login to variable sized regions failed with outdated simulator message.
I forgot that a null 'their version' would not be passed over the wire and ends up as an empty string instead (like older simulators).
So instead pass through the correct simulator protcol version instead (SIMULATOR/0.3) when querying from login or hg login.
Also removes a debug console write for agent limit accidentally left in for the same commit.
Relates to mantis 7276
2014-07-22 18:04:28 +01:00
UbitUmarov fe900b28c6 CrossPrimGroupIntoNewRegion does keyframes and physics crossing fails, so
revert previus change assuming it didnt. remove a no longer needed else {}
2014-07-22 15:56:20 +01:00
UbitUmarov ed905418b3 consider that CrossPrimGroupIntoNewRegion removes DIE_AT_EDGE and
RETURN_AT_EDGE from simulation
2014-07-22 15:47:42 +01:00
UbitUmarov f9fdf26ec3 make ResetChildPrimPhysicsPositions only do what it is supposed to do and
not what AbsolutePosition does
2014-07-22 15:13:37 +01:00
UbitUmarov cf132430ae tell scripts about positions changes after they are actually changed 2014-07-22 14:50:17 +01:00
UbitUmarov 5269511339 dont try to cross with avatars on DIE_AT_EDGE or RETURN_AT_EDGE sog 2014-07-22 14:31:47 +01:00
UbitUmarov 0e4a9e35c7 bug fix. Child position got broken because first prim i parts array may
not be the root prim
2014-07-22 04:10:51 +01:00
UbitUmarov 243499ea4e send updates on selected attachments as sl ( warinin if reverted then a
fix is needed elsewhere since the changes are never sent)
2014-07-22 01:11:18 +01:00
Justin Clark-Casey (justincc) 3c6becd524 On login and first HG entrance to a foreign grid, perform query access checks before proceeding. 2014-07-21 23:53:33 +01:00
UbitUmarov 5cdd205ee7 change presence movetotarget avoiding trying to go undergroud or fly when
it can walk. ( still needs better code )
2014-07-21 21:31:48 +01:00
Oren Hurvitz 899bcb7acd Fixed: after a Hypergrid teleport, attachments often either disappear, or appear both on the avatar AND as in-world objects.
Another manifestation of this bug is that after a Hypergrid teleport, when you click on one of the avatar's attachments the object doesn't show its name. This means that the viewer knows the attachment is there, but the simulator does not.

The problem was caused by treating Hypergrid teleports as if they're Logins (because the teleport flag ViaLogin is enabled).

This may fix: http://opensimulator.org/mantis/view.php?id=7238
This may fix: http://opensimulator.org/mantis/view.php?id=7220
2014-07-21 09:29:51 +01:00
Oren Hurvitz 4c5d7d4683 Fixed problems if an avatar tries to cross regions when the previous cross hasn't completed yet
This caused the client to stop responding, and even the simulators to have problems. The solution is to disallow crossing before the previous cross has completed.
2014-07-21 09:23:13 +01:00
Oren Hurvitz f94b3bbe0f Minor: changed "existant" to "existent" 2014-07-21 09:15:05 +01:00
Oren Hurvitz 99ac770abb Close streams immediately when we finish using them 2014-07-21 08:30:03 +01:00
UbitUmarov 719880a6ff make sittarget camera relative to root prim
Please enter the commit message for your changes. Lines starting
2014-07-20 20:20:59 +01:00
UbitUmarov 5f364dbed5 another change to standup 2014-07-20 16:09:34 +01:00
UbitUmarov d6f56a4f99 change avatar standup code 2014-07-20 16:03:05 +01:00
UbitUmarov 79aea3e588 physicsSit SendSitResponse also relative to parent prim 2014-07-20 09:21:00 +01:00
UbitUmarov 32b060a608 physics engine cannot change internal positions of linksets, at least not
in teaseupdates
2014-07-20 05:54:51 +01:00
UbitUmarov dc717303d4 replace old Attachoffset by AttachedPos. Comented out possible merge
artifacts
2014-07-20 01:15:33 +01:00
Melanie Thielker e1b2ecdfdc Merge branch 'avination-current'
Conflicts:
	OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
2014-07-19 22:32:07 +02:00
UbitUmarov 95b89dd450 fix attachments 2014-07-19 22:18:12 +02:00
UbitUmarov fc1bd4567d Merge branch 'avination-current' of ssh://3dhosting.de/var/git/careminster into avination-current 2014-07-16 16:16:37 +01:00
Dev Random 4e92b55231 Call RemoveScriptInstance when removing from inventory 2014-07-14 18:06:24 +01:00
Diva Canto 82b875317b On logout, delay the removal of AgentCircuitData until the very end, because that data structure contains important information about the agent that may be needed by modules. 2014-07-04 14:36:11 -07:00
Diva Canto 60ad72357e This fixes the bug related to rebooting neighboring varregions while avatars are logged in; the avies would not see the region anymore until they relogged. Same problem as before: inconsistent calculation of scope. 2014-07-04 11:45:30 -07:00
Diva Canto d99c8e68a7 It turns out that child agent management has had a bug for a while: there was an inconsistency in the scope between opening and closing child agents in neighboring regions. For opening (in EnableChildAgents), the region's DrawDistance was being used; for closing (in IsOUtsideView) , the viewer's (SP) DrawDistance was being used. This fixes this inconsistency, therefore eliminating bugs observed in TPs between, at least, neighboring varregions. 2014-07-04 10:13:53 -07:00
Justin Clark-Casey (justincc) 4ba396b81c Temporarily disable new regression test TestLifecycle() until I have a chance to fix it
This was working for me locally because it was still picking up all my *.ini config files, which jenkins won't have in its test env
2014-07-03 00:30:42 +01:00
Justin Clark-Casey (justincc) c3923a1aa6 Re-enabled TestLifecycle regression test logging so I can get some idea of why it's failing on jenkins but not locally 2014-07-03 00:01:47 +01:00
Justin Clark-Casey (justincc) 889194db63 Actually call Close() for shared region modules when the simulator is being shutdown.
Adds regression test for this case.
2014-07-02 23:49:25 +01:00
Justin Clark-Casey (justincc) fe6dab7f13 minor: Change default max phys prim size in code to match OpenSimDefaults.ini 2014-06-28 00:20:09 +01:00
Justin Clark-Casey (justincc) cd031d129a minor: change allow script crossings default in code to true in order to match OpenSimDefaults.ini 2014-06-28 00:18:00 +01:00
Melanie Thielker 159fcbf150 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
2014-06-21 00:39:55 +02:00
Justin Clark-Casey (justincc) 5450b1b024 Change assembly versions to 0.8.1 2014-06-17 18:37:15 +01:00
Diva Canto 807fb8339b Revert "Let HG users be gods too, if they have local permission to be so."
HG gods are not safe at this point. It's better to disallow this until
they can be made safe.

This reverts commit e86c765be3.
2014-06-09 22:00:10 -07:00
Diva Canto e86c765be3 Let HG users be gods too, if they have local permission to be so. 2014-06-09 21:46:24 -07:00
Robert Adams 0aa0dad478 Send multiple terrain patches per terrain update packet if terrain
draw distance optimization is enabled. Makes terrain editting a lot
snappier.
2014-06-01 19:23:49 -07:00
Robert Adams 0300ec45eb Modifications to debugging printouts. No functional changes. 2014-05-31 12:19:51 -07:00
Robert Adams 22dade6463 varregion: More tweeking to only sending patches within avatar draw distance.
Still has problems with child avatars.
2014-05-31 12:19:50 -07:00
Robert Adams db5a42ffac varregion: send terrain patches from where the avatar outward if the parameter
[Terrain]SendTerrainUpdatesByViewDistance=true.
This tracks which patches have been sent to each client and outputs the
patches as the avatar moves.
2014-05-31 12:19:49 -07:00
Diva Canto d6f9f690e5 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2014-05-31 08:22:56 -07:00
Justin Clark-Casey (justincc) bf5320eb26 minor: rename velocidyDiff -> velocityDiff 2014-05-30 22:21:13 +01:00
Justin Clark-Casey (justincc) 3c992b028c minor: Add some commented out logging to ScenePresence.SendTerseUpdateToAllClients() which is extremely helpful when investigating presence update triggers. 2014-05-30 22:18:07 +01:00
Diva Canto 0eede1467f Moved these two estate-related interfaces to the projects where they belong. 2014-05-30 13:11:46 -07:00
Diva Canto e19c830a6c Fixes a bug where map search results pertaining to varregions would only send the SW-most corner of the varregions; the other areas, when clicked, would result a blue circle, meaning that the viewer didn't know about those areas. This is still not quite right, as all the areas appear to be in the same coordinates, but it's good enough for now. 2014-05-27 10:13:24 -07:00
Oren Hurvitz 33cc847c4a When saving an OAR in "Publish" mode, also discard Group information 2014-05-26 15:33:13 +01:00
Oren Hurvitz 5aeaa7fcdd Prevent login to a region if the Telehub or Landing Point are in a banned parcel 2014-05-25 15:37:28 +01:00
Justin Clark-Casey (justincc) 5015b0b485 If one is sitting on a child with an unset camera-eye and so using one set in a root prim, the focus should remain on the root prim.
Matches behaviour just tested on the Linden grid.
2014-05-23 01:55:05 +01:00
Justin Clark-Casey (justincc) c78a8271c4 Add any camera at compensation for sat upon child prims to any existing camera-at value, rather than replace. 2014-05-23 01:38:05 +01:00
Justin Clark-Casey (justincc) fbed245596 Compensate camera-at and camera-eye for child prim rotation when sitting on child prim with camera-eye set 2014-05-23 01:34:02 +01:00
Justin Clark-Casey (justincc) 3fbaef9275 If the root prim has a camera-at or camera-eye setting and a sat upon child prim does not, use the root prim offsets.
This matches behaviour just tested on the Linden Lab grid.
2014-05-22 23:52:28 +01:00
Justin Clark-Casey (justincc) 16bf38e1ab Fix issue where llSetCameraAtOffset() and llSetCameraEyeOffset() in non-root prims moved camera/focus to wrong position.
For non-root prim, eye offsets now need to be made relative to root prim if either camera-at or camera-eye are set.
Probably a regression since November 2013 when all sits were made relative to root prim to match viewer expections (and fix other bugs).
Addresses http://opensimulator.org/mantis/view.php?id=7176
2014-05-22 23:39:22 +01:00
Justin Clark-Casey (justincc) 1b156b7fe8 Add regression test for in-range chat between neighbouring regions from east to west. 2014-05-22 19:18:24 +01:00
Diva Canto b7c7293c7a Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2014-05-22 10:16:19 -07:00
Diva Canto f7b2aa0f49 Fixed a problem with detaching attachments in situations where the user's asset server is not the same as the simulator's asset server. Unfortunately this still continues to be wasteful -- new assets are created every time an attachment is detached, but the process of storing the new asset goes through the InventoryAccess module, which does all sorts of checks regarding the users' inventory. 2014-05-22 10:16:01 -07:00
Justin Clark-Casey (justincc) 5b433e101d minor: Comment out currently unused log setup in TerrainCompressor 2014-05-20 23:59:08 +01:00
Justin Clark-Casey (justincc) d93275745b minor: Remove some unused fields in ScenePresence 2014-05-20 23:57:03 +01:00
Justin Clark-Casey (justincc) 32070fa5f4 minor: remove compiler warning in SceneObjectPartInventory 2014-05-20 23:54:49 +01:00
Justin Clark-Casey (justincc) 9479f64778 Fix issue where avatar and script chat could sometimes be heard from anywhere in neighbouring regions.
This was due to a silent uint overflow in ScenePresence.UpdateChildAgent() corrupting child agent positions
when the child agent was in a region with a greater x or y map co-ord than the root agent region
Probably introduced in beeec1c.
This still will not function properly with very high region map co-ords (in the millions) but other parts of the code don't handle this properly anyway.
Looks to address http://opensimulator.org/mantis/view.php?id=7163
2014-05-20 23:52:07 +01:00
Oren Hurvitz 47b84875fd Tell QueryAccess explicitly whether the user is coming in via Teleport or Cross, because the permission checks are different.
Previously we used a heuristic of checking if the entry position is 0 to differentiate between Teleport and Cross, but that doesn't work anymore since we've started providing the precise entry position for cross, too. That's required in order to ensure that the user is allowed to enter the parcel that he's walking into.
2014-05-19 11:19:11 +01:00
Oren Hurvitz dd30a29ba0 Return more specific error messages if an attempt to enter a region fails due to permissions (in QueryAccess and IsAuthorizedForRegion) 2014-05-19 11:11:30 +01:00
Diva Canto ab1472e5b7 Don't trigger ItemUploaded when no item has been uploaded. 2014-05-18 23:01:55 -07:00
Diva Canto 922f76a3a7 Don't fetch assets from the server when doing simple inventory operations like copy-paste items in inventory. 2014-05-18 07:49:01 -07:00
Justin Clark-Casey (justincc) 7c12dfe185 On ScenePresence.MakeChildAgent(), reset the m_originRegionID as this is currently being used as a flag to orchestrate destination simulator threads on teleport.
If not reset, it's possible that teleports back and forth between simulators may not restart scripts in attachments.
2014-05-14 22:08:06 +01:00
Justin Clark-Casey (justincc) 2f7539a25b Remove a race where the client's SP.CompleteMovement() thread could attempt to restart attachment scripts before the source simulator's SP.UpdateAgent() thread had added them.
This commit changes the order of code so that attachments are re-added before the CompleteMovement() thread is released.
Relates to http://opensimulator.org/mantis/view.php?id=7148
2014-05-14 21:49:29 +01:00
Justin Clark-Casey (justincc) 484aa72ff8 minor: Add some method doc to IMessageTransferModule 2014-05-12 23:49:37 +01:00
Justin Clark-Casey (justincc) 87e2668529 For XmlRpcGroups (Flotsam) module, when MessageOnlineUsersOnly = true, handle notices to offline users directly as known undeliverable messages rather than discarding or attempting delivery.
Offline notices can still be controlled with the [Messaging] ForwardOfflineGroupMessages setting.
Looks to address more of http://opensimulator.org/mantis/view.php?id=7037
Only for Flotsam now for testing, but if approach works should be possible with core offline notices as well.
2014-05-12 23:38:48 +01:00
Diva Canto f4cba27105 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2014-05-07 17:00:12 -07:00
Dev Random 78015bbbdc Console commands for Estate Mgmt 2014-05-06 18:55:42 +01:00
Vegaslon 0faba7dc33 Fix avatars going to corner of region when they are sitting on a child prim and the prim is deleted. 2014-05-06 17:41:13 +01:00
Oren Hurvitz 614b9e14c4 When moving an item from a prim to a user's inventory, don't delete the item from the prim until it was successfully copied to the user 2014-05-06 07:28:46 +01:00
Oren Hurvitz eb79c882ea Show more meaningful error messages when failed to move an item from a prim to a user's inventory.
Also, actually show the error to the user in more cases. (Previously, sometimes the operation failed without telling the user anything.)
2014-05-06 07:28:45 +01:00
Oren Hurvitz 1e5cff32fc Show more meaningful error messages when failed to give an item to another user 2014-05-06 07:28:44 +01:00
Diva Canto 13b2ac1425 Makes it possible to support grids in which all the simulators share all central services of a Robust server EXCEPT assets. In other words, grids where the simulators' assets are kept in one DB and the users' inventory assets
are kept on another. When users rez items from inventory or take objects from world, an HG-like asset copy takes place between the 2 servers, the world asset server and the user's asset server. This makes the simulators independent of the central asset server.

Note that this an advanced configuration and requires some security strengthening coming up.
2014-05-04 20:54:42 -07:00
Justin Clark-Casey (justincc) 5fc61942e0 minor: convert back some tabs to spaces that got into ScenePresence via recent patch bc969a6b 2014-04-29 20:15:29 +01:00
Justin Clark-Casey (justincc) d4eee213a9 Restore terrain height and flying adjustments that were eliminated from non-megaregion paths in ScenePresence.MoveToTarget() by recent patch bc969a6b 2014-04-29 20:05:08 +01:00
Melanie Thielker d97896d39a Differentiate between requests only the owner should be able to do and those
that managers can do when setting parcel data
2014-04-26 20:32:27 +02:00
Justin Clark-Casey (justincc) 2e216aa056 Add missing [Test] decorator to actually get the basic scene creation test from 2227f51b to run 2014-04-25 23:35:20 +01:00
Justin Clark-Casey (justincc) 9664273df6 Add basic regression test for creating a var region 2014-04-25 23:34:30 +01:00
Justin Clark-Casey (justincc) 2227f51b29 Add basic sanity regression test for creating a scene. 2014-04-25 23:16:07 +01:00
Justin Clark-Casey (justincc) 904baa6da6 Fix issue where terrain height values > 327 caused chaotic spiked terrain.
Per http://wiki.secondlife.com/wiki/Tips_for_Creating_Heightfields_and_Details_on_Terrain_RAW_Files#Notes_for_Creating_Height_Field_Maps_for_Second_Life
terrain heights up to 508 are possible on the LL grid (and were available on previous releases of OpenSimulator).
The obvious way to allow both this and equivalent -z values, is to rewiden the internal terrain height storage from short to int.
The memory tradeoff is most noticeable on the maximum 8192x8192 var region (equiv to 1024 normal regions), where it adds 128mb to resident use (128k on a normal region)
This is still better than the double used in previous releases.
This does not affect physics or data storage since they already use float and double respectively.
This may not be the final solution if we actually want to sacrifice -z, >327 or something else.
Relates to http://opensimulator.org/mantis/view.php?id=7076
2014-04-25 22:56:25 +01:00
Diva Canto 1d9a9e6004 Fixes a long-standing bug related to god-mode change ownership of objects permissive, where the permissions of the children prims' inventory items were not changed. As a consequence, we couldn't control some of the objects imported via HG and OARs even in god mode. 2014-04-24 14:11:42 -07:00
Justin Clark-Casey (justincc) 7a5699224e Fix regression test break on previous commit 328bc3b 2014-04-23 19:46:58 +01:00
Justin Clark-Casey (justincc) 328bc3b76e Adjust avatar sit positioning on a target to pretty much exactly match that of the LL grid.
This uses an offset of 0.05 on the up vector of the sit orientation, after extensive analysis on
http://opensimulator.org/mantis/view.php?id=7096 and https://wiki.secondlife.com/wiki/Talk:LlSitTarget
This supersedes the previous adjustment in 5b73b9c4 which had been wrongly applied.
The maximum change is about 0.1 with a maximum height avatar.
This patch is all Aleric's work - I am applying manually in order to add these additional notes
2014-04-23 19:19:09 +01:00
Oren Hurvitz 998d7009a6 Eliminated many warnings 2014-04-23 16:37:36 +03:00
Oren Hurvitz a893fd90cd Fixed KeyframeMotion to work with very slow movement.
Previously, if the movement speed was below 0.05/sec then it didn't work correctly.

Fixes http://opensimulator.org/mantis/view.php?id=7117
2014-04-22 10:19:11 +01:00
lillith_xue bc969a6b46 Possible solution for #7120 and #7051
Signed-off-by: Robert Adams <misterblue@misterblue.com>
2014-04-21 05:58:29 -07:00
Oren Hurvitz a780e01a54 Fixed: the parcel flag "Allow Scripts from Group" should only check if the parcel has a Group set; it doesn't have to be *deeded* to the group
Also some cleanup of the use of Group ID's (with no change to functionality).
2014-04-20 06:23:35 +01:00
Robert Adams c8914d22eb BulletSim: reduce the terrain collison margin to be the same as other
objects in the world.

This was originally changed in an attempt to make vehicles work better
but the effect was not that large and it causes avatars to float
above the terrain.
2014-04-12 17:37:57 -07:00
Oren Hurvitz c725ad1577 Fixed: when teleporting between grids, the avatar name wasn't always updated.
When an avatar is in their home grid, their name appears as "First Last". In other grids the name appears as "First.Last @grid.example.com". However, viewers have a bug and they don't always show the new name. We use a trick (changing the Group Title briefly) in order to make the viewers show the new name. This is only done after a Hypergrid teleport.
2014-04-09 15:00:54 +01:00
Oren Hurvitz 06e0528d0b In teleports, pass the source region to the destination (similar to an HTTP referrer) 2014-04-09 09:22:20 +01:00
Oren Hurvitz 85d51e57a9 When sending QueryAccess to a region, also send the user's Home URI 2014-04-07 07:32:36 +01:00
Oren Hurvitz 55cc8044cb Refactored: use Scene.GetAgentHomeURI() to get the Home URI of a user 2014-04-07 07:26:44 +01:00
Justin Clark-Casey (justincc) cacbb5c165 Don't re-retrieve sit part in SP.HandleAgentSit() when we already have it (this time with the right code change) 2014-04-05 02:16:14 +01:00
tglion 8b8e1b88ec fixed object-collision issue after uncheck phantom-flag
Signed-off-by: Michael Cerquoni <nebadon2025@gmail.com>
2014-04-04 12:29:44 -04:00
Justin Clark-Casey (justincc) aec723b955 Fix sp.AbsolutePosition when agent is sitting on a child prim, which in turns fixes llDetectedPos(), llGetLinkPrimitiveParams() and similar functions.
Add regression test for this case.
In relation to http://opensimulator.org/mantis/view.php?id=7043
2014-04-03 23:22:57 +01:00
Robert Adams 9406db3047 Fix problem with floating avatar by passing avatar size information
to the physics engine.

This operation was accidentally removed while in the middle of improving
the computation of the avatar height. This is a temp fix until the real
solution is added.
2014-04-02 21:52:24 -07:00
Justin Clark-Casey (justincc) e756457703 Remove redundant part.SitTargetAvatar setting from SP.MakeRootAgent as part.AddSittingAvatar already does this. 2014-04-03 01:21:50 +01:00
Justin Clark-Casey (justincc) 6ac9c9c972 refactor: Use m_sittingAvatars to maintain the list of sitting avatars instead of two independent structures that do exactly the same thing
m_sittingAvatars code also already properly handles locking to avoid races.
2014-04-03 01:14:39 +01:00
Justin Clark-Casey (justincc) 5cb4044539 Don't clear avsToCross in SOG.AbsolutePosition.set(), this is unnecessary since the structure is local and never reused after the clear 2014-04-03 00:26:55 +01:00
Justin Clark-Casey (justincc) e6d0dcd4e8 Fix bug where crossing to a neighbouring region and back again would trigger an exception, and a second recross would stop the user moving until relog
Also fixes an issue where sitting avatar counts became inaccurate after any cross.
Part of the problem was due to cloning code using MemberwiseClone() but not resetting certain collection structures.
Adds regression test for this case.
In relation to http://opensimulator.org/mantis/view.php?id=7050
2014-04-03 00:19:53 +01:00
Oren Hurvitz 0301c81b01 Made GetScenePresence() case-insensitive when searching by user name. This makes it easier to use console commands such as "show appearance". 2014-04-02 13:08:31 +01:00
Justin Clark-Casey (justincc) 7bafee28fa Removing warning from SceneObjectLinkingTests.TestLinkDelink2SceneObjects() by actually checking whether delinked grp3 is not null 2014-04-02 01:26:58 +01:00
Dev Random 43eab5e163 Console command to rename Estate 2014-04-02 01:17:41 +01:00
Justin Clark-Casey (justincc) 7cb1690589 minor: disable logging in recently added scene object crossing tests and remove some unnecessary test config 2014-04-02 01:01:53 +01:00
Justin Clark-Casey (justincc) 0af8886400 Fix problem where moving an object to another region on the same simulator was failing, with the object returning to its original position.
Root cause was that PrimLimitsModule was not properly handling the case where the parcel it was asked to check was outside the current region's bounds.
If this is the case, we can abort the check since the receiving region will perform it.
Added a regression test for this case.
2014-04-02 00:58:33 +01:00
Oren Hurvitz 1fe504fee5 Better skipping of "SculptData" when parsing XML 2014-03-28 12:52:06 +03:00
Oren Hurvitz f360b687d6 Removed "SculptData" from the serialized XML format of prims 2014-03-28 07:51:21 +01:00
Justin Clark-Casey (justincc) 99308d64c6 minor: Add some doc to Scene.Backup() detailing its direct invocation if the indepedent backup thread is not running (e.g. in a regression test) 2014-03-26 00:43:17 +00:00
Oren Hurvitz e131e73652 Run slow operations in a separate thread, instead of using FireAndForget (which has a 1-minute timeout)
Resolves http://opensimulator.org/mantis/view.php?id=6945
2014-03-25 08:01:55 +01:00
Melanie Thielker a30ad71651 Guard against Scene being null in attachments it the wearing avatar is in the process of logging out. 2014-03-25 03:17:44 +01:00
Oren Hurvitz 1769e93c42 Fixed parsing of coalesced objects if the XML starts with an XML Declaration ("<xml ...>")
Resolves http://opensimulator.org/mantis/view.php?id=6944
2014-03-24 18:18:29 +01:00
Oren Hurvitz 5fd9411143 Refactored Load IAR: created a generic mechanism to modify the SOG's as they are being loaded
Resolves http://opensimulator.org/mantis/view.php?id=6942
2014-03-24 18:17:35 +01:00
Oren Hurvitz 89945f8829 Refactored: ExternalRepresentationUtils should be the only place where the "CreatorData" field is calculated, to ensure uniformity
Resolves http://opensimulator.org/mantis/view.php?id=6933
2014-03-24 18:00:59 +01:00
Oren Hurvitz 7496d0b0f7 Fixed unit tests for delinking objects 2014-03-24 15:05:39 +02:00
Oren Hurvitz 921f0052f4 Get the full viewer name even if it's (incorrectly) sent in the 'Channel' field
Recent versions of Firestorm and Singularity have started sending the viewer name in the 'Channel' field, leaving only their version number in the 'Viewer' field. So we need to search both of these fields for the viewer name.

This resolves http://opensimulator.org/mantis/view.php?id=6952
2014-03-24 12:26:52 +01:00
Oren Hurvitz 773ffcafc3 Removed "hacktastic" code that is no longer needed.
We no longer set the object's AbsolutePosition in this place, so the IsAttachment hack doesn't do anything anymore.

This resolves http://opensimulator.org/mantis/view.php?id=6936
2014-03-24 12:05:25 +01:00
Oren Hurvitz 62b3bdf0fc When linking two groups, and then deleting the combined group: delete *all* of the combined group's prims, including those that came from the second subgroup
This fixes http://opensimulator.org/mantis/view.php?id=6175
2014-03-24 11:44:48 +01:00
Justin Clark-Casey (justincc) ccf18fd2ef Rename SOG.InSceneBackup to CanBeBackedUp to reflect its actual functionality.
It does not indicate that a SOG has been set to be backed up or not.  It indicates that a SOG can be backed up in principle.
In practice, this was added by lbsa71 in 2007 and is set to always true, albeit as a virtual property.
2014-03-22 01:36:21 +00:00
Justin Clark-Casey (justincc) a5800f479e If an object has it's temporary flag unset after being set, put it back in the persistence list.
Effectively uses the patch in http://opensimulator.org/mantis/view.php?id=7060
But also adds a regression test and exposes the necessary property to allow this to work.
2014-03-22 00:29:13 +00:00
Jak Daniels 61353dde80 Allow Region specific static maptiles to be loaded from file. 2014-03-18 22:18:50 -07:00
Justin Clark-Casey (justincc) beba20846f When sending group notices through group messaging, allow the agent ID to use for fetching group data to be different from im.fromAgentID
This is because xmlrpcgroups currently always checks visibility for the requesting agent ID (unlike Groups v2, which can accept UUID.Zero)
But group notice IMs have a from agent which is the group rather than the sending agent.
Further addresses http://opensimulator.org/mantis/view.php?id=7037
2014-03-12 19:31:04 +00:00
Robert Adams 742f505440 Change terrain update sending to be triggered by frame tick rather
than everytime terrain is changed.

The TerrainModule now hooks the frame event and, if terrain has changed,
sends terrain updates to the clients. This polling pattern replaces
the previous push on change pattern and will make it easier to do per
client throttling and per scene presence terrain update ordering.
2014-03-10 22:05:18 -07:00
Oren Hurvitz 0237d9113d Don't start KeyframeMotion timers until all the regions are ready. This prevents problems in megaregions (prims that think they've crossed over to other regions). 2014-03-11 00:55:58 +00:00
Justin Clark-Casey (justincc) 77e7bbcbf7 Send group notices through the same messaging module mechanism used to send group chat to avoid timeout issues when sending messages to large groups.
Only implementing for XmlRpcGroups initially to test.
May require MessageOnlineUsersOnly = true in [Groups] to be effective.
In relation to http://opensimulator.org/mantis/view.php?id=7037
2014-03-11 00:11:18 +00:00
Justin Clark-Casey (justincc) 39ed382ddf Don't request a terse update after local teleport - this will be done by the main frame loop anyway and has the potential to race that thread. 2014-03-05 00:59:27 +00:00
Justin Clark-Casey (justincc) c9415fd763 If an avatar is sitting, send out position updates to clients for any change, not just those outside the usual tolerances.
This is to allow small adjustments of less than 0.05m in functions such as llSetPrimitiveLinkParams() to work
This is another fix for http://opensimulator.org/mantis/view.php?id=7044
Extends regression test for this case.
2014-03-05 00:38:38 +00:00
Robert Adams 0f03c64a0c Make Scene.DefaultDrawDistance to be the max of the region size and the
user setting. Seems this parameter has many side effects.
2014-02-23 21:56:37 -08:00
Robert Adams 0b213af675 Fix problem of hurricane speed winds. Thanks Vegaslon. 2014-02-22 15:04:28 -08:00
dahlia a2866b85f3 add newRegion parameter to CrossAgentToNewRegion event and trigger the event after crossing thread is invoked 2014-02-20 00:18:28 -08:00
dahlia 269a6410a0 add EventManager event OnCrossAgentToNewRegion 2014-02-19 17:52:38 -08:00
Robert Adams c26f01ff8c varregion: make scene default draw distance to be the maximum size of the
region. This is a temp fix for the use of draw distance to compute child
regions. Eventually must use the draw distance from the viewer for the
computation.
2014-02-19 09:51:49 -08:00
Robert Adams fc9930e420 Repair check for if in region position (I mean || is kinda like &&). 2014-02-15 18:49:40 -08:00
Robert Adams 7fc289c039 Properly restore position on crossing failure for mega-regions.
Fix odd "cannot cross into banned parcel" viewer error message when crossing
into non-existant region. Proper permission failure messages are now returned.
2014-02-15 17:02:53 -08:00
Robert Adams 877bdcdce1 Rewrite of mega-region code to use new form of border checking.
This commit eliminates all of the 'border' class and list code and replaces
it with testing if in the current region.
Impacts: can make a mega-region out of varregions of the same size; and
mega-region combinations must be rectangular (not square but rectangular)
2014-02-15 16:01:43 -08:00
Justin Clark-Casey (justincc) 4fed301e65 Don't request group information in SP.MakeRootAgent() if the presence belongs to no group (UUID.Zero)
This was trigger the XmlRpcGroups errors described in http://opensimulator.org/mantis/view.php?id=6986
Introduced in commit 5b73b9c4 (Wed Dec 11 01:39:56 2013)
2014-02-14 23:43:07 +00:00
Robert Adams c0cc5e0fa4 varregion: Send large region patches for wind and clouds. 2014-02-11 21:07:55 -08:00
Robert Adams 1b41ec0a85 Fix raw32 terrain heightmap reader so it estimates terrain size from
the size of the input stream. This is required since the raw heightmap
format (.r32) does not contain any size information.
The estimation relies on terrain being square.
2014-02-03 21:23:32 -08:00
Robert Adams 9c97fb8e12 Implement terrain merging in TerrainChannel.
Modify archiver to use terrain merging when loading oars.
This makes displacement AND rotation properly work on terrain when loading oars.
Especially useful when loading legacy region oars into large varregions.
2014-02-02 11:17:49 -08:00
dahlia a8e64cd59a Overload INPCModule.CreateNPC() to allow agentID to be specified. Note: this is intended for use in region modules and is not exposed to scripts. 2014-02-01 04:09:20 -08:00
Oren Hurvitz abb193ec94 In UuidGatherer, gather materials referenced in the prim's TextureEntry
Signed-off-by: dahlia <dahlia@nomail>
2014-02-01 02:56:15 -08:00
Melanie c6e9db5866 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Framework/RegionSettings.cs
	OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
	OpenSim/Region/Framework/Interfaces/IInterregionComms.cs
	OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs
2014-01-28 21:02:20 +00:00
Melanie 4ccb15290e Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
	OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2014-01-28 20:47:36 +00:00
Robert Adams 8eec717f5f Merge branch 'master' into varregion 2014-01-28 08:50:28 -08:00
Justin Clark-Casey (justincc) a4017ee1eb Reinsert attachments list taking code in SP.MakeRootAgent()
Locking attachments then launching script instances on a separate thread will not work, attachments will simply be unlocked and vulnerable to race conditions.
2014-01-27 23:47:43 +00:00
Justin Clark-Casey (justincc) 1b86239f79 refactor: Remove identical part.ParentGroup.AddAvatar(UUID); calls which occur no matter which branch of the conditional is executed 2014-01-27 23:17:09 +00:00
Robert Adams 4c362a83f9 Merge branch 'master' into varregion 2014-01-21 11:31:51 -08:00
dahlia 7bd42fc42f Add back code to UuidGatherer to retrieve UUIDs for materials stored in DynAttrs. This is unfortunately still necessary until a better solution for handling existing legacy materials can be implemented 2014-01-20 15:01:18 -08:00
Justin Clark-Casey (justincc) 5fc871027e Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2014-01-20 19:38:47 +00:00
Justin Clark-Casey (justincc) 2cf7478b9a Merge branch 'justincc-master' 2014-01-20 19:34:55 +00:00
Mic Bowman 2e78e89c36 Clean up orphaned json stores. This can happen when an object is
removed, when a script is removed, or when a script is reset. Also
added a stats command to track the number of json stores used by
a region. Will probably add some more commands later.
2014-01-20 11:33:49 -08:00
Justin Clark-Casey (justincc) 8e72b53edc Stop exceptions being generated on agent connection if a telehub object has been deleted or has no spawn points. 2014-01-20 19:16:19 +00:00
Oren Hurvitz 3018b2c5d7 Materials module: a) Store materials as assets; b) Finalized it (removed the "Demo" label; removed most of the logging); c) Enabled by default
Changed UuidGatherer to use 'sbyte' to identify assets instead of 'AssetType'. This lets UuidGatherer handle Materials, which are defined in a different enum from 'AssetType'.
2014-01-20 00:38:42 -08:00
Robert Adams 6fbfb47b92 varregion: add --noterrain and --noparcel to 'load oar'.
--noterrain suppresses the loading of the terrain from the oar.
--noparcels suppresses the loading of parcel information from the oar.
2014-01-19 11:03:08 -08:00
Robert Adams dd6db72939 varregion: add --displacement parameter to 'load oar'.
Adds displacment to all objects and terrain loaded from the oar.
As an example, if you have a 512x512 region and an old 256x256 oar, doing
  load oar --displacement "<128,128,0>" oarFile.oar
will load the object (and terrain) into the middle of the 512x512 region.
If displacement is not specified, 'load oar' works like it always has.
If you have a 5
2014-01-19 10:09:43 -08:00
Robert Adams f127e4b4ee Merge branch 'master' into varregion 2014-01-19 07:38:53 -08:00
Robert Adams 813f0da00b Add J2K decoder routine that converts directly to an image. 2014-01-19 07:32:41 -08:00
Justin Clark-Casey (justincc) b52b50ee56 minor: reinsert some method doc back into IEntityTransferModule 2014-01-17 23:36:23 +00:00
Justin Clark-Casey (justincc) 4fa843ff19 Reorder checks in SP.CompleteMovement() to fix test failures 2014-01-16 23:44:17 +00:00
Justin Clark-Casey (justincc) f467121c51 Merge branch 'justincc-master' 2014-01-16 23:33:30 +00:00
Justin Clark-Casey (justincc) 3bc669ffc7 Actually put IsChildAgent = true inside the lock, otherwise there is still a small window for race conditions on duplicate CompleteMovement calls 2014-01-16 23:31:50 +00:00
Justin Clark-Casey (justincc) 3ffd90496a Prevent duplicate invocations or race dontision in SP.CompleteMovement()
This can happen under poor network conditions if a viewer repeats the message send
If this happens, physics actors can get orphaned, which unecessarily raises physics frame times
2014-01-16 20:23:31 +00:00
Justin Clark-Casey (justincc) 1a8b56fa87 Merge branch 'justincc-master' 2014-01-16 00:33:04 +00:00
Justin Clark-Casey (justincc) e99a7d879e Remove old IInterRegionComms and references. This hasn't been used since 2009 and was superseded by ISimulationService 2014-01-16 00:05:04 +00:00
Robert Adams 3760d10cd0 varregion: remove unnecessary border checking code in ScenePresence. 2014-01-11 21:59:22 -08:00
Robert Adams 1cf17a3cf7 Merge branch 'master' into varregion
Conflicts:
	OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
	OpenSim/Region/Framework/Scenes/SceneBase.cs
	OpenSim/Services/Interfaces/IGridService.cs
	OpenSim/Services/LLLoginService/LLLoginResponse.cs
(conflicts were debug statements that are commented out in master branch)
2014-01-11 08:52:23 -08:00
Justin Clark-Casey (justincc) 68cbccb288 Merge branch 'justincc-master' 2014-01-10 20:37:14 +00:00
Oren Hurvitz da47bcae3e When moving the root prim of an attachment: a) Change the attach position; b) Move the other prims in the reverse direction to compensate 2014-01-10 20:24:11 +00:00
Justin Clark-Casey (justincc) 5e72de1908 Merge branch 'justincc-master' 2014-01-10 20:19:38 +00:00
Oren Hurvitz 91fd9c4670 Refactored: use a single function to apply an object's folded permissions to its main permissions 2014-01-10 19:50:03 +00:00
Oren Hurvitz 13f31fdf85 Refactored setting permissions when rezzing items: use the same function when rezzing from user inventory and prim inventory.
Also, fixed a bug: when rezzing a coalesced object from a prim's inventory, apply the coalesced object's name and description only to the first sub-object; not to all the objects in the coalescence. (This was already done correctly when rezzing from a user's inventory.)
2014-01-10 19:37:59 +00:00
Justin Clark-Casey (justincc) 32e9c16957 Merge branch 'justincc-master' 2014-01-08 01:04:26 +00:00
Justin Clark-Casey (justincc) 0155d42b80 If an agent is sitting, then do send the rotation in the agent update instead of zeroing it to resolve mouselook camera problems
Addresses http://opensimulator.org/mantis/view.php?id=6892
Thanks to tglion for this spot.
This resolves a recent regression from 17b32b764a
2014-01-08 00:54:39 +00:00
Melanie e79fab91db Intermediate commit. Sill errors.
Merge branch 'master' into careminster

Conflicts:
	OpenSim/Data/SQLite/SQLiteUserProfilesData.cs
	OpenSim/Framework/RegionInfo.cs
	OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueHelper.cs
	OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
	OpenSim/Services/UserProfilesService/UserProfilesService.cs
2014-01-05 20:12:32 +00:00
Robert Adams 38148bd4b6 Some missing definitions needed for successful compilation. 2014-01-04 19:01:05 -08:00
Robert Adams 7e32313a49 varregion: Add region size to teleport event messages (EnableSimulator,
CorssRegion, TeleportFinishEvent).
Have Simian grid service return the region size.
Many teleport related debug log messages. Can be removed when teleport
works (like that's ever going to happen).

Conflicts:

	OpenSim/Framework/RegionInfo.cs
2014-01-04 19:01:04 -08:00
Robert Adams 9984ecf862 varregion: Add region size to teleport event messages (EnableSimulator,
CorssRegion, TeleportFinishEvent).
Have Simian grid service return the region size.
Many teleport related debug log messages. Can be removed when teleport
works (like that's ever going to happen).
2014-01-03 07:41:06 -08:00
Robert Adams 01c0bbf181 varregion: extract banned region logic into a class for cleanlyness.
Add 'not found' caching in EntityTransferModule.GetRegionContainingWorldLocation
so hitting borders and bad teleports do not continuiously hammer on the GridService.
2013-12-27 08:23:37 -08:00
Robert Adams 2d2bea4aa7 varregion: many more updates removing the constant RegionSize and replacing
with a passed region size. This time in the map code and grid services code.
2013-12-26 22:45:59 -08:00
Robert Adams e5f7c8b6e8 varregion: add lots of DEBUG level log messages. Especially for teleport. 2013-12-24 12:31:26 -08:00
Robert Adams b40b57776b varregion: remove unused Scene.HaveNeighbor routine. Its computation
was wrong for large regions anyway.
2013-12-24 12:28:54 -08:00
Robert Adams 6937eec258 Merge branch 'master' into varregion
Add new region crossing code to varregion

Conflicts:
	OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2013-12-17 06:18:13 -08:00
Melanie fe01e7d1cc Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2013-12-16 22:11:03 +00:00
Melanie f69e91dc2d This is the acutal sitting avatar crossing code. This commit implements the
actual crossing mechanics for seated avatars, using the supporting code from
the previous commits. Physics is not supported yet, although some few bits
for them are already in place due to the earlier code drops. With this commit,
crossing sitting avatar by "editing" the prim across the border, by using
llSetPos or keyframe motion may already be possible. Vehicles will come next.
2013-12-16 22:08:02 +00:00
Robert Adams 13a9a4b653 varregion: rename 'LegacyRegionLocX' back to 'RegionLocX' and same for Y and Z.
Rename 'RegionWorldLocX' to 'WorldLocX' and same for Y and Z.
This keeps the downward compatibility and follows the scheme of 'region'
and 'world' location naming that is happening in the Util module.
2013-12-14 07:53:01 -08:00
Justin Clark-Casey (justincc) ee163b5751 Merge branch 'justincc-master' 2013-12-14 02:23:12 +00:00
Justin Clark-Casey (justincc) e7a294e739 Wrap analysis of the particle system in the UUID Gatherer in a separate try/catch as sometimes it appears that this can be corrupt.
As per Oren's suggestion.
2013-12-14 01:48:03 +00:00
Justin Clark-Casey (justincc) bcb8c4068e Comment out sit position checks in TestSitAndStandWithSitTarget() in SP and NPC tests until positions are known to be stable.
Also resolve issues with NoSitTarget() tests where I was trying to use a destroyed PhysActor
2013-12-14 00:36:25 +00:00
Justin Clark-Casey (justincc) d2d4ae541b Fix build break in test from previous commit 54cc229 - hadn't realized ScenePresence inst var name was slightly different 2013-12-14 00:19:04 +00:00
Justin Clark-Casey (justincc) 54cc229768 Fix TestSitAndStandWithNoSitTarget NPC and SP tests.
These stopped working because current code calculates sit heights based on avatar physics rather than appearance data.
Also changed BasicPhysics to not divide Z param of all set sizes by 2 - there's no obvious good reason for this and basicphysics is only used in tests
2013-12-14 00:10:32 +00:00
Justin Clark-Casey (justincc) 11f177d6a8 Eliminate unnecessary line from my previous commit 1d605642 2013-12-13 23:30:08 +00:00
Justin Clark-Casey (justincc) 1d605642f7 Refix sitting on child prims by reinserting relevant code back into SP.HandleAgentSit() 2013-12-11 23:59:52 +00:00
Melanie 82ebb86d58 Replace proprietary file header with BSD one 2013-12-11 01:51:57 +00:00
Melanie 92aad6f1bb Add missing files *blush* 2013-12-11 01:44:03 +00:00
Melanie 5b73b9c4a8 Committing the Avination Scene Presence and related texture code
- Parts of region crossing code
- New bakes handling code
- Bakes now sent from sim to sim without central storage
- Appearance handling changes
- Some changes to sitting
- A number of unrelated fixes and improvements
2013-12-11 01:39:56 +00:00
Melanie 97934e00e6 This is the Avination Entity Transfer Module. Surprisingly, it still compiles
but I don't know if it runs. Will probably crash and burn as the supporting
code isn't there yet.
2013-12-11 00:12:36 +00:00
Melanie 6d6b9ab791 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
	OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2013-12-07 01:08:49 +00:00
Robert Adams 4eb52eb19e Merge branch 'master' into varregion 2013-12-05 21:07:44 -08:00
Justin Clark-Casey (justincc) 17b32b764a Fix regression where mouse look flight direction no longer worked by zeroing x/y rot before sending agent updates, instead of before any agent update processing
It turns out that the x/y rot data in mouselook is needed to implement this and to push the avatar against the ground if walking in mouselook.
Doing this in the terse send so that we preserve mouselook rotation information
2013-12-05 02:10:46 +00:00
Justin Clark-Casey (justincc) 62a2d7836f Ignore X and Y body rotations when sent by mouse look.
Fixes http://opensimulator.org/mantis/view.php?id=3274
When not in mouselook, avatar only sends rotations around the Z plane (since that's the only way an avatar can rotate).
However, in mouselook it also sends X and Y information.  But sending X and Y in terse updates causes issues with wrong camera movement in mouselook.
So strip out X and Y components for now.  If this is an issue, then could strip out before sending avatar terse update, though this generates more cpu work.
Thanks to mirceakitsune for suggesting an initial fix
2013-12-03 02:27:40 +00:00
Robert Adams 31bacfbb63 Merge branch 'master' into varregion 2013-12-01 15:51:42 -08:00
Robert Adams 6cd0d7a62b varregion: Add MaxRegionSize constant and enforce in RegionInfo.
Intermediate checkin of changing border cross computation from checking
boundry limits to requests to GridService. Not totally functional.
2013-11-30 15:28:39 -08:00
Justin Clark-Casey (justincc) 8ebad90800 Actually use the SP.AgentControlStopSlowWhilstMoving parameter intoroduced for slow walk/run in 4cfe02a rather than the magic number 2013-11-30 01:56:46 +00:00
Justin Clark-Casey (justincc) 96018afab4 Remove unused SP.Updated flag, which appears unused for many years and was only set true once and never reset 2013-11-30 01:52:45 +00:00
Justin Clark-Casey (justincc) 4cde02a2a3 Implement most effects of AGENT_CONTROL_STOP
AGENT_CONTROL_STOP is specified to SP.HandleAgentUpdate if the user holds down the space bar on a viewer.
For a stopped avatar, this prevents fly or walk/run (though not rotate) until released.
For a walking/running avatar, this reduces movement to half speed.
For a flying avatar, this stops the avatar.
These are observed behaviours on the LL grid - there was no previous OpenSimulator implementation
This commit introduces an optional parameter to SP.AddNewMovement(), which means that it will no longer compile on .NET 3.5 or earlier versions of Mono than 2.8
Currently, this does not work for jumping, and if used whilst flying the avatar continues the fly animation even though it does not move
2013-11-30 01:44:30 +00:00
Justin Clark-Casey (justincc) 4bd4f1cd83 Remove nudgehack from SP.HandleAgentUpdate by making MovementFlag a uint rather than a byte 2013-11-30 01:14:12 +00:00
Justin Clark-Casey (justincc) 5f0e763062 Remove unused sp.ParentPosition, which has not been used for some time 2013-11-29 02:48:59 +00:00
Justin Clark-Casey (justincc) 84bfde3bdf Comment out debug sit message accidently left active 2013-11-29 02:45:14 +00:00
Justin Clark-Casey (justincc) 868c0c2746 Fix regression where sitting on ground stopped working.
This was due to the PhysicsActor no longer being recreated on stand from ground.
2013-11-29 01:56:49 +00:00
Justin Clark-Casey (justincc) f9193e3c51 Restore SP.AbsolutePosition to properly return actual absolute position when sitting 2013-11-29 01:50:12 +00:00
Robert Adams 109136c074 varregion: add ITerrainChannel.GetHeightAtXYZ() for eventual mesh terrain.
Implementation of same in TerrainChannel.cs.
Check for bounds in TerrainChannel[x,y] to prevent array access exceptions.
2013-11-28 08:22:41 -08:00
Robert Adams 7aa00632b9 varregion: many replacements of in-place arithmetic with calls to
the Util functions for converting world addresses to region addresses
and converting region handles to locations.
2013-11-28 08:20:16 -08:00
Justin Clark-Casey (justincc) 0785210e29 Fix stand positions rather than having the stand jump to the root prim. 2013-11-27 02:08:22 +00:00
Justin Clark-Casey (justincc) a3c72dafe6 Only translate linked prim specified offset pos by the link prim rotation, not any specified avatar rotation as well.
Don't translate root prim position by avatar rotation.
2013-11-26 01:40:55 +00:00
Justin Clark-Casey (justincc) 36d146bf27 fix position changes when sitting on a prim with position and/or orientation explicitly specified 2013-11-26 00:43:35 +00:00
Melanie 3589acdab1 Merge branch 'master' into careminster
Conflicts:
	.gitignore
	OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs
	OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs
	prebuild.xml
	runprebuild.bat
2013-11-23 19:13:22 +00:00
Justin Clark-Casey (justincc) 60e049ea39 Revert "Fix issue where sitting on non-root linked prims would send camera to wrong position in third-person and mouselook"
Reverting to place on separate branch

This reverts commit ff4e7de776.
2013-11-23 02:31:39 +00:00
Justin Clark-Casey (justincc) 1999b218fd Revert "Add line accidentally left out of recent non-root prim sit fix"
Reverting to place on new branch

This reverts commit ed1029712a.
2013-11-23 02:31:17 +00:00
Justin Clark-Casey (justincc) eb172be541 Revert "Fix non-root prim sit positions for prims where a sit target has been specified as well."
Revert to place on separate branch for now

This reverts commit 70e651a8d1.
2013-11-23 02:28:30 +00:00
Justin Clark-Casey (justincc) 910f07dffa Revert "Refix fix for sitting on non-root linked prims with explicit sit targets."
This reverts commit 78649eb099.
2013-11-23 02:27:26 +00:00
Justin Clark-Casey (justincc) 5aa3236ebe Revert "fix avatar rotation when sitting on a linked part"
Reverting for now to place on separate branch

This reverts commit 65304260af.
2013-11-23 02:27:03 +00:00
Justin Clark-Casey (justincc) 65304260af fix avatar rotation when sitting on a linked part
Need to take into account rotation of linked prim now that we are always specifying sits wrt the root prim
2013-11-23 02:09:03 +00:00
Justin Clark-Casey (justincc) 78649eb099 Refix fix for sitting on non-root linked prims with explicit sit targets.
I forgot that m_post is being set inconsistently between non-explicit and explicit ragets
2013-11-23 01:35:08 +00:00
Justin Clark-Casey (justincc) 70e651a8d1 Fix non-root prim sit positions for prims where a sit target has been specified as well. 2013-11-23 01:32:29 +00:00
Justin Clark-Casey (justincc) ed1029712a Add line accidentally left out of recent non-root prim sit fix
Original commit is ff4e7de7
2013-11-23 01:18:07 +00:00
Justin Clark-Casey (justincc) ff4e7de776 Fix issue where sitting on non-root linked prims would send camera to wrong position in third-person and mouselook
We now specify sits as offsets from the root prim, as the viewer expects.
2013-11-23 00:53:09 +00:00
Robert Adams 604b39cea9 Merge branch 'master' into varregion 2013-11-15 14:56:13 -08:00
Justin Clark-Casey (justincc) 7cab41f422 refactor: replace verbose checks with String.IsNullOrEmpty where applicable.
Thanks to Kira for this patch from http://opensimulator.org/mantis/view.php?id=6845
2013-11-15 21:45:08 +00:00
Robert Adams d67236c09d Merge branch 'master' into varregion 2013-11-13 16:10:25 -08:00
Justin Clark-Casey (justincc) 7da10850b0 Fix bug where removing a physical linkset would only decrement the Active Objects statistic by 1 instead of by the number of prims removed.
Unlike LL, OpenSimulator currently uses this stat to record the number of prims in the physics simulation, even when they are at rest.
Added regression test for this case.
2013-11-13 23:25:54 +00:00
Robert Adams beeec1c467 varregion: elimination of Constants.RegionSize from all over OpenSimulator.
Routines in Util to compute region world coordinates from region coordinates
as well as the conversion to and from region handles. These routines have
replaced a lot of math scattered throughout the simulator.
Should be no functional changes.
2013-11-08 20:53:37 -08:00
Robert Adams cd1a23fc14 varregion: remove uses of region size constant. In particular, update scene
to check for border crossings based on the size of the region.
2013-11-04 22:09:52 -08:00
Melanie ba203ed94f Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2013-11-03 21:34:36 +00:00
Robert Adams 9bf363e9be varregion: send the proper terrain patch layer code for large terrain.
Code cleanups.
2013-11-03 08:14:51 -08:00
Robert Adams ff5885ab23 varregion: push TerrainData implementation up and down the database storage stack.
Implement both LoadTerrain and StoreTerrain for all DBs.
Move all database blob serialization/deserialization into TerrainData.
2013-11-01 11:35:31 -07:00
Robert Adams 39777db8ef varregion: fix problem of X/Y dimensions swapped and incorrect terrain
compression base computation.
Complete replacement of float[] for terrain heightmap with TerrainData instance.
2013-10-31 09:24:06 -07:00
Robert Adams 2be0347f50 Merge branch 'master' into varregion 2013-10-28 09:30:26 -07:00
Oren Hurvitz 0094971186 After finishing to edit an attachment, let other avatars see the changes. (The changes weren't visible before because updates to attachments aren't sent while the attachment is selected.) 2013-10-17 23:10:16 +01:00
Robert Adams 8937a2244d Merge branch 'master' into varregion 2013-10-16 07:53:44 -07:00
Robert Adams 97bc5263de varregion: move the compressed heighmap compression factor from
Constants into TerrainData.
Save compression factor with the terrain blob in the database.
2013-10-16 07:52:30 -07:00
Oren Hurvitz d0c1780839 Fixed rezzing coalesced objects from a prim's inventory
Previously only the first object in the Coalesced Object was rezzed. Now all the objects are rezzed.
2013-10-15 23:59:16 +01:00
Oren Hurvitz f106ba87ca Made terrain uploads thread-safe 2013-10-15 00:12:56 +01:00
Robert Adams 86bf79aa2b Merge branch 'master' into varregion 2013-10-07 13:58:17 -07:00
Robert Adams 7416809077 varregion: plug in TerrainData class and modify TerrainModule and LLClientView to use same. This passes a terrain info class around rather than passing a one dimensional array thus allowing variable regions. Update the database storage for variable region sizes. This should be downward compatible (same format for 256x256 regions). 2013-10-07 13:57:40 -07:00
Robert Adams 25ae59b9eb varregion: remove scattered use of Constants.RegionSize by having routines reference RegionInfo.RegionWorldLoc?. 2013-10-07 13:57:30 -07:00
Robert Adams 9b150194f6 varregion: add new TerrainData and TerrainCompressor routines. TerrainCompressor needed to replace the one in libopenmetaverse that doesn't know about the larger terrain packets. 2013-10-07 13:57:16 -07:00
Melanie 9800c6fa6c Merge branch 'master' of ssh://melanie@3dhosting.de/var/git/careminster into careminster 2013-10-06 18:33:49 +01:00
Melanie 69054ad134 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Framework/Servers/VersionInfo.cs
	OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs
2013-10-06 18:32:20 +01:00
teravus ece2d24077 * Fixes cases where Last Attachment Point gets overwritten with 0 when it shouldn't
* Fixes cases where Last Attachment Point doesn't get written when it should.
* Fixes Null Reference in BaseHttpServer when shutting down, null path provided.
* Drop then Wear retains Last Attachment Point
2013-10-05 17:36:58 -05:00
Justin Clark-Casey (justincc) 42bdf44658 Bump OPenSimulator version and assembly versions up to 0.8.0 Dev 2013-10-04 23:33:47 +01:00
teravus 28d704599e Merge branch 'master' of careminster:/var/git/careminster 2013-10-04 16:52:55 -05:00
Melanie 75c68fa29e Merge branch 'master' into careminster
Conflicts:
	OpenSim/Data/MySQL/MySQLSimulationData.cs
	OpenSim/Data/MySQL/Resources/RegionStore.migrations
	OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs
	OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
	OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs
	OpenSim/Region/CoreModules/World/LightShare/LightShareModule.cs
	OpenSim/Region/Framework/Scenes/Scene.cs
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
	OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCapabilityTests.cs
	OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2013-10-04 20:03:12 +01:00
Robert Adams 8c1d80fdfd varregion: serious rework of TerrainChannel:
-- addition of varaible region size in X and Y
    -- internal storage of heightmap changed from double[] to short[]
    -- helper routines for handling internal structure while keeping existing API
    -- to and from XML that adds region size information (for downward compatibility,
        output in the legacy XML format if X and Y are 256)
Updated and commented Constants.RegionSize but didn't change the name for compatibility.
2013-09-28 07:33:56 -07:00
Robert Adams aea5d3a842 Remove time based terrain storage in SQLite so revision number can be used
to denote terrain format revision.
Add terrain DB format revision codes to ISimulationDataStore.cs.
Setup so legacy compatible terrain storage and fetch is possible while
allowing future format extensions.
2013-09-28 07:33:55 -07:00
Robert Adams 317c04fe17 VarRegion: change RegionInfo storage of region coordinates from region
count number to integer world coordinates.
Added new methods RegionWorldLoc[XY].
Refactored name of 'RegionLoc*' to 'LegacyRegionLoc*' throughout OpenSim.
Kept old 'RegionLoc*' entrypoint to RegionInfo for downward compatability
of external region management packages.
2013-09-28 07:33:52 -07:00
Justin Clark-Casey (justincc) 8996ac1a9c minor: Disable logging left active on regression test TestSameSimulatorIsolatedRegionsV2() 2013-09-27 22:33:42 +01:00
Justin Clark-Casey (justincc) 2cd95fac73 refactor: Rename Scene.AddNewClient() to AddNewAgent() to make it obvious in the code that this is symmetric with CloseAgent() 2013-09-27 22:27:39 +01:00
Justin Clark-Casey (justincc) b16bc7b01c refactor: rename Scene.IncomingCloseAgent() to CloseAgent() in order to make it clear that all non-clientstack callers should be using this rather than RemoveClient() in order to step through the ScenePresence state machine properly.
Adds IScene.CloseAgent() to replace RemoveClient()
2013-09-27 19:14:21 +01:00
Justin Clark-Casey (justincc) 253f8de8cd minor: Add scene name to baked textures in cache log message 2013-09-26 00:33:50 +01:00
Justin Clark-Casey (justincc) 32ddfc2740 Reinsert client.SceneAgent checks into LLUDPServer.HandleCompleteMovementIntoRegion() to fix race condition regression in commit 7dbc93c (Wed Sep 18 21:41:51 2013 +0100)
This check is necessary to close a race condition where the CompleteAgentMovement processing could proceed when the UseCircuitCode thread had added the client to the client manager but before the ScenePresence had registered to process the CompleteAgentMovement message.
This is most probably why the message appeared to get lost on a proportion of entity transfers.
A better long term solution may be to set the IClientAPI.SceneAgent property before the client is added to the manager.
2013-09-25 18:45:56 +01:00
Aleric Inglewood 2dc92e7de1 Preserve attachment point & position when attachment is rezzed in world
Patch taken from
http://opensimulator.org/mantis/view.php?id=4905
originally by Greg C.

Fixed to apply to r/23314 commit
ba9daf849e
(cherry picked from commit 4ff9fbca441110cc2b93edc7286e0e9339e61cbe)
2013-09-22 21:10:01 -05:00
Justin Clark-Casey (justincc) c01db5fbdd Lock around read/write of ScenePresence.m_originRegionID to make sure that all threads are seeing the latest value and not a cached one.
There is a possibilty that some V2 teleport failures are due to the viewer triggered CompleteMovement thread not seeing the change of m_originRegionID by the UpdateAgent thread.
2013-09-20 22:41:53 +01:00
Justin Clark-Casey (justincc) c6dea6ee78 Change some message log levels in Scene.IncomingUpdateChildAgent() for debugging purposes 2013-09-20 20:19:44 +01:00
Oren Hurvitz f1267730ef UUID Gatherer: find assets used in Light Projection, Particle Systems, and Collision Sounds. 2013-09-19 23:01:06 +01:00
Justin Clark-Casey (justincc) 979b17165b For debug purposes, allow simulators to force use of earlier SIMULATION/0.1 teleport protocol even if SIMULATION/0.2 is available.
This is specified in the MaxOutgoingTransferVersion attribute of [EntityTransfer] in OpenSim.ini, see OpenSimDefaults.ini for more details.
Default remains "SIMULATION/0.2"
Primarily for http://opensimulator.org/mantis/view.php?id=6755
2013-09-19 22:45:50 +01:00
Justin Clark-Casey (justincc) b6f10780c2 minor: Make SP.MakeRootAgent() private - no external code has any business calling this method 2013-09-19 21:44:30 +01:00
Justin Clark-Casey (justincc) 03b2b5b77b minor: Make log message at top of ScenePresence.CompleteMovement info level and comment out later log message in ScenePresence.MakeRootAgent()
Need an info message since this is currently important in detecting teleport issue when not at debug log level.
CompleteMovement message occurs before MakeRootAgent() one did
2013-09-19 20:59:27 +01:00
Justin Clark-Casey (justincc) 3a9a8d2113 Revert "Also check user authorization if looking to upgrade from a child to a root agent."
This reverts commit c7ded0618c.
This proves not to be necessary - the necessary checks are already being done via QueryAccess() before cross or teleport
2013-09-19 20:26:26 +01:00
Justin Clark-Casey (justincc) 83c113896e Create regression TestCrossOnSameSimulatorNoRootDestPerm() to check that avatars are not allowed to cross into a neighbour where they are not authorized, even if a child agent was allowed. 2013-09-19 20:26:08 +01:00
UbitUmarov 8ad7f2ce2d Merge branch 'avination-current' of ssh://3dhosting.de/var/git/careminster into avination-current 2013-09-19 11:33:38 +01:00
Justin Clark-Casey (justincc) 8999f06025 minor: correct method name in comment 2013-09-18 23:13:31 +01:00
Justin Clark-Casey (justincc) ddcbd4bb7d refactor: rename *ChildAgentDataUpdate() methods to *UpdateChildAgent()
verb-noun is consistent with other similar methods
2013-09-18 23:09:38 +01:00
Justin Clark-Casey (justincc) 3ce46adb2a minor: Make log message when Scene.IncomingChildAgentDateUpdate() more explicit that there is a problem if it still finds the agent to be a child if the sender wanted to wait till it became root
Add some comments about the mssage sequence, though much more data is at
http://opensimulator.org/wiki/Teleports
2013-09-18 22:56:00 +01:00
Justin Clark-Casey (justincc) 2603a2891b Reinsert comments about possible race conditions when sending bulk inventory updates on non-flag clothing editing 2013-09-16 23:26:13 +01:00
teravus c4b0f172a1 Merge branch 'master' of careminster:/var/git/careminster 2013-09-16 16:49:46 -05:00
Melanie 72206a0e29 Merge branch 'avination-current' into careminster
Conflicts:
	OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs
	OpenSim/Region/Framework/Scenes/Tests/SceneObjectDeRezTests.cs
2013-09-16 22:32:53 +01:00
teravus 120b6948ed * This fixes the border crossing offsets by storing the final keyframe location in the hijacked variable KeyFrame.AngularVelocity. When steps in OnTimer <= 0.0, normalize the final position by Constants.RegionSize and move the object there. The hack here is KeyFrame.AngularVelocity probably isn't the right name for this variable because it's the un-mucked with keyframe position. When you determine the feasibility of changing the name without affecting the serialization of existing objects in world... It's simply a name change to KeyFrame.FinalPosition or something proper.
(cherry picked from commit e0399ccaec)
2013-09-16 11:32:05 -05:00
Robert Adams 3dbf4a1002 BulletSim: remove chatty debug message from previous commit. 2013-09-11 09:12:09 -07:00
Robert Adams e0b457d3c3 BulletSim: add position and rotation update for child prim physics update events. Normally, physics engines do not return updates for child prims so, under normal operation, this code should never execute. Will only be used when using flexible linkset linkages. 2013-09-11 09:12:07 -07:00
Robert Adams b05cb3b2bf Change collision logic in SceneObjectPart so land_collision will happen.
The previous logic would generate land_collision_start and land_collision_end
but would not generate the land_collision itself.
2013-09-09 14:50:33 -07:00
Melanie ddf67bf929 Mono 2.0 fix - call ToArray() explicitly 2013-09-08 19:41:51 +02:00
Melanie Thielker b41ae0f98f Harmonize the class name, ID and Name of the default perms module 2013-09-08 17:54:00 +02:00
Melanie 2f365ea80b Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs
	OpenSim/Region/Framework/Scenes/Scene.cs
2013-09-07 13:54:19 +01:00
Diva Canto 04619a9b13 Restore group membership check for HG users in QueryAccess. 2013-09-05 07:44:27 -07:00
Justin Clark-Casey (justincc) c7ded0618c Also check user authorization if looking to upgrade from a child to a root agent.
Relevant if a child agent has been allowed into the region which should not be upgraded to a root agent.
2013-09-04 00:44:17 +01:00
Justin Clark-Casey (justincc) 5f0d54c209 For a Hypergrid user, delay estate access checks until NewUserConnection() so that they work.
This is necessary because the hypergrid groups checks (as referenced by estates) require an agent circuit to be present to construct the hypergrid ID.
However, this is not around until Scene.NewUserConnection(), as called by CreateAgent() in EntityTransferModule.
Therefore, if we're dealing with a hypergrid user, delay the check until NewUserConnection()/CreateAgent()
The entity transfer impact should be minimal since CreateAgent() is the next significant call after NewUserConnection()
However, to preserve the accuracy of query access we will only relax the check for HG users.
2013-09-04 00:42:23 +01:00
Justin Clark-Casey (justincc) 857f24a5e2 Fix bug where users teleporting to non-neighbour regions could continue to hear chat from their source region for some time after teleport completion.
This occurs on v2 teleport since the source region now waits 15 secs before closing the old child agent, which could still receive chat.
This commit introduces a ScenePresenceState.PreClose which is set before the wait, so that ChatModule can check for ScenePresenceState.Running.
This was theoretically also an issue on v1 teleport but since the pause before close was only 2 secs there, it was not noticed.
2013-09-02 19:15:10 +01:00
Justin Clark-Casey (justincc) 5ce5ce6edb Comment out warning about agent updating without valid session ID for now.
This causes extreme console spam if a simulator running latest master and one running 0.7.5 have adjacent regions occupied by avatars.
2013-09-02 17:45:38 +01:00
Melanie 008c98a974 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/World/Region/RestartModule.cs
	OpenSim/Region/Framework/Scenes/SceneGraph.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
2013-09-01 22:49:31 +01:00
Melanie f7378829c3 Fix the root cause of keyframe motion region crossing offset - UpdateSceneObject
was being called twice on each crossing.
2013-08-25 06:26:56 +02:00
teravus e0399ccaec * This fixes the border crossing offsets by storing the final keyframe location in the hijacked variable KeyFrame.AngularVelocity. When steps in OnTimer <= 0.0, normalize the final position by Constants.RegionSize and move the object there. The hack here is KeyFrame.AngularVelocity probably isn't the right name for this variable because it's the un-mucked with keyframe position. When you determine the feasibility of changing the name without affecting the serialization of existing objects in world... It's simply a name change to KeyFrame.FinalPosition or something proper. 2013-08-24 18:55:21 -05:00
Diva Canto f0c0376660 Potential fix for access control bug on login introduced with SeeIntoRegion commit. 2013-08-24 08:42:41 -07:00
teravus 58359788a9 Revert "* This increases accuracy when border crossing (the reason is.. the border crossing code will use velocity to predict where the object should be, so setting it to zero. It still looses about 0.0045 per loop."
This reverts commit 55400ff7be.
2013-08-24 05:54:08 -05:00
teravus 55400ff7be * This increases accuracy when border crossing (the reason is.. the border crossing code will use velocity to predict where the object should be, so setting it to zero. It still looses about 0.0045 per loop. 2013-08-23 00:28:36 -05:00
Justin Clark-Casey (justincc) 61c20bd06a Remove old and unused ScenePresence.RestoreInCurrentScene() 2013-08-23 00:53:42 +01:00
Justin Clark-Casey (justincc) 065c5839b5 Refactor: merge SceneGraph.AddScenePresence() into CreateAndAddChildScenePresence() since the former was only ever called from the latter
This allows us to remove dead code relating to adding root agents directly to the scenegraph, which never happens.
2013-08-23 00:49:13 +01:00
Justin Clark-Casey (justincc) 416bbe9583 Stop error messages being misleadingly generated when on client connection activity timeout, a root connection triggers a CloseAgent to a neighbour region which has already closed the agent due to inactivity.
Also separates out log messages to distinguish between close not finding an agent and wrong auth token, and downgrades former to debug and latter to warn
2013-08-22 22:46:40 +01:00
Justin Clark-Casey (justincc) 1f39a763a5 Don't allow users to attempt to sit on objects in a child region without going to that region first.
If this is attempted, they get a "Try moving closer.  Can't sit on object because it is not in the same region as you." message instead, which is the same as current ll grid.
Sitting on ground is okay, since viewer navigates avatar to required region first before sitting.
2013-08-21 21:35:03 +01:00
teravus a6af561660 * Fix some threading issues in BulletXNA (the managed bullet library), this should better allow you to run it in multiple region scenarios (but why would you really want to do that?) Source in OpenSimLibs.
* Fixed a null ref during shutdown.
2013-08-20 21:09:17 -05:00
Melanie aa7f4215a9 Merge branch 'master' into careminster 2013-08-18 03:00:32 +01:00
Melanie 3585b0a139 Allow updating the wearable type of wearables that have a type of 0.
This will allow viewers to fix broken wearables as they detect them.
2013-08-18 02:59:10 +01:00
Melanie bef03fb30b Merge branch 'master' into careminster
Conflicts:
	OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs
	OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
	OpenSim/Services/Connectors/Neighbour/NeighbourServicesConnector.cs
2013-08-17 03:23:45 +01:00
Justin Clark-Casey (justincc) d38d5ecbac minor: remove mono compiler warnings from ScenePresence 2013-08-17 01:00:20 +01:00
Justin Clark-Casey (justincc) f5d3145bea Add ScenePresenceTeleportTests.TestSameSimulatorIsolatedRegionsV2() regression test for v2 transfers.
Also adjusts names of teleport setup helpers in EntityTransferHelpers
2013-08-17 00:24:56 +01:00
Justin Clark-Casey (justincc) fbab898f74 Add TestSameSimulatorNeighbouringRegionsV2() regression test for v2 entity transfer protocl 2013-08-16 23:52:55 +01:00
Justin Clark-Casey (justincc) 3f8d79024b Rely on the Scene.IncomingCloseAgent() check as to whether the connection should be kept open after teleport-end rather than doing this in the ET Module
This is safer since the close check in IncomingCloseAgent() is done under lock conditions, which prevents a race between ETM and Scene.AddClient()
2013-08-15 14:07:57 +01:00
Justin Clark-Casey (justincc) 2231fcf5b4 Do not use the SP.DoNotCloseAfterTeleport flag for child agent connections.
This approach has problems if a client quits without sending a proper logout but then reconnects before the connection is closed due to inactivity.
In this case, the DoNotCloseAfterTeleport was wrongly set.
The simplest approach is to close child agents on teleport as quickly as possible so that races are very unlikely to occur
Hence, this code now closes child agents as the first action after a sucessful teleport.
2013-08-15 13:46:46 +01:00
Melanie df7a1e68f6 Merge branch 'master' into careminster 2013-08-14 21:25:22 +01:00
Justin Clark-Casey (justincc) fd519748e9 Add method doc to Scene.RemoveClient() to ask any callers to use Scene.IncomingCloseAgent() instead.
IncomingCloseAgent() now sets the scene presence state machine properly, which is necessary to avoid races between multiple sources of close.
Hence, it's also necessary for everyone to consistently call IncomingCloseAgent()
Calling RemoveClient() directly is currently generating an attention-grabbing exception though this right now this is harmless.
2013-08-14 19:36:52 +01:00
Melanie ad1b2902f2 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Application/OpenSimBase.cs
	OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
	OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
	OpenSim/Region/Framework/Scenes/Scene.cs
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2013-08-11 17:31:25 +01:00
Justin Clark-Casey (justincc) bfdcdbb2f3 Increase wait for source region to sent UpdateAgent to 10 seconds instead of 4.
This is giving much better results on teleports between simulators over my lan where for some reason there is a pause before the receiving simulator processes UpdateAgent()
At this point, v2 teleports between neighbour and non-neighbour regions on a single simulator and between v2 simulators and between a v1 and v2 simulator
are working okay for me in different scenarios (e.g. simple teleport, teleport back to original quickly and re-teleport, teleport back to neighbour and re-teleport. etc.)
2013-08-09 17:59:58 +01:00