Commit Graph

674 Commits (25ecd62b1feed16d12d6f5e5ef00bddf7dbf0547)

Author SHA1 Message Date
Melanie Thielker 4cdda2cae9 Fix Copy on Ray, Drag Copy and other little things. Removed the wrong and
nonworking ownership assignment in SOG, which messed things up before.
No longer trust the client to send the ID of the person something is copied
as, since it allows to run a script with someone else's permissions. Properly
adjust inventory ownership and perms.
2010-06-28 01:36:40 +01:00
Teravus Ovares (Dan Olivares) 99f2a1c347 * Tweak the StopFlying() method in LLClientView to fabricate a suitable landing collision plane regardless of the actual physics situation. position.Z - AvatarHeight / 6f 2010-06-11 21:46:01 -04:00
Melanie c8ed972443 Move "StopFlying()" into LLSpace. Try to reinstate the carefully crafted packet
we used to send before slimupdates and explicitly send it
2010-06-12 01:25:25 +01:00
Dan Lake ca2abc43ad Refactor SendCoarseLocations for better performance. Instead of computing list of all locations fresh for every scene presence on every frame, we will instead compute the list once every 50 frames and send to all connected presences at that time. Also, we only add 60 items to the list when there are more than 60 presences in the scene. For 1000 users, this change yields a 99.8% reduction in list processing and a 98% reduction in network bandwidth for coarse locations. 2010-06-08 16:44:18 -07:00
Justin Clark-Casey (justincc) 21246395be Comment out the attachment update reordering mechanism in LLClientView since this doesn't appear necessary when the prim priorities are adjusted so that root prim updates are always sent before child prim updates. 2010-06-08 15:38:53 +01:00
Justin Clark-Casey (justincc) b6076d7b33 Reduce number of full updates sent on region crossing for attachments/huds to 1 from 3
This is one step towards reducing hud glitches on region crossing, since the viewer fails to display prims if it receives child full updates before the root prim full update
This commit also introduces a mechanism in LLClientView to stop child attachment updates ever going out before the root one
This is a very temporary mechanism and will be commented out when the next step of the fix (to give root prims higher udpate priority) is committed
This code is a foreport from the equivalent changes in 0.6.9-post-fixes
2010-06-08 15:07:57 +01:00
Melanie Thielker e515467c5e Fix create selection getting overwritten by multiple updates for the same prim. 2010-05-31 17:55:56 +01:00
Melanie Thielker 9ac8d2de79 Just because there is an agent update handler, that doesn't mean there is
a pre agent update handler. Null check these separately.
2010-05-26 18:25:53 +01:00
Mikko Pallari 4e45718833 Added overload of SendGenericMessage to LLClientView with string list as parameter. Now modules themselfs don't necessarily need to convert strings to byte arrays. Added this as it was removed in LightShare patch. 2010-05-21 23:08:07 +01:00
John Hurliman 93ef65c690 * Moving all of the prioritization/reprioritization code into a new file Prioritizer.cs
* Simplified the interest management code to make it easier to add new policies. Prioritization and reprioritization share code paths now
* Improved the distance and front back policies to always give your avatar the highest priority
2010-05-21 13:55:36 -07:00
John Hurliman 9f2d1e9294 * Made PriorityQueue non-generic so it natively understands EntityUpdate structs
* Replaced the per-avatar seen update tracking with update flag combining, to avoid overwriting full updates with terse updates
2010-05-20 23:53:27 -07:00
Melanie Thielker 792e149c7e Ensure that the first update sent out for any given prim is a full update 2010-05-21 05:13:31 +01:00
unknown 56f3cb6da0 * Don't send texture data for prims in ImprovedTerseObjectUpdate packets unless we were asked to 2010-05-20 12:04:12 -07:00
unknown 5d8638ed88 Minor tweak in ProcessEntityUpdates (mostly just confirming the git push is working) 2010-05-12 16:05:48 -07:00
unknown bf5c81d77e * Initial commit of the slimupdates2 rewrite. This pass maintains the original behavior of avatar update sending and has a simplified set of IClientAPI methods for sending avatar/prim updates 2010-05-12 15:59:48 -07:00
Melanie 22b3217113 Fix link security issue 2010-04-30 11:46:50 +01:00
Justin Clark-Casey (justincc) 50f327ef5c minor: change a comment and replace some magic numbers with the AssetType enum 2010-04-19 21:34:42 +01:00
Justin Clark-Casey (justincc) da83ee28be If a transfer request is received for a task inventory item asset, then route the permissions request through the existing CanEditScript() and CanEditNotecard() methods.
This implements the 'share with group' flag for notecards and scripts in prim inventory since the PermissionsModule checks group membership and permissions.
Other than that, the code in PermissionsModule duplicates the checks in LLClientView so there should be no change other than allowing group members to edit embedded notecards and scripts.
For all other asset types, the permission checking code in LLClientView continues to be used, pending refactoring of suitable permissions code
This means that 'share with group' will not yet work for prim inventory items other than notecards and scripts
2010-04-19 21:02:36 +01:00
Justin Clark-Casey (justincc) 855eda844f log problems when an asset request through the UDP TransferRequest channel goes wrong 2010-04-19 20:06:55 +01:00
Justin Clark-Casey (justincc) e0f8362e7a minor: add some documentation around the asset udp request path and replace some magic numbers with libomv enums 2010-04-14 22:31:11 +01:00
dahlia 3d0860ae61 thanks lkalif for Mantis #4676 - a patch that adds support for inventory links
Signed-off-by: dahlia <dahliaTrimble@gmail.removeme.com>
2010-04-12 17:10:51 -07:00
John Hurliman 3f6c4c150e * Adds IAssetService.GetCached() to allow asset fetching from the local cache only
* Adds GetTextureModule that implements the "GetTexture" capability, aka HTTP texture fetching. This is a significantly optimized path that does not require any server-side JPEG2000 decoding, texture priority queue, or UDP file transfer
* Sanity check for null reference in LLClientView.RefreshGroupMembership()
2010-04-08 12:31:44 -07:00
Justin Clark-Casey (justincc) 1be19c7f42 log exceptions that end up at the top of a asynchronous viewer packet method call rather than swallowing them 2010-04-05 19:46:43 +01:00
Justin Clark-Casey (justincc) 9ecad50419 Partially implement share with group option for object inventory items
If serverside permissions are off then this works as expected.  Previously, it was impossible for more than one person to edit such items even if permissions were off.
If serverside permissions are on then this works as expected if the object was created by an avatar who had the required group active.
However, if the group for the object is later set then the contained item is still not editable.  This may be linked to a wider bug where the object is still not modifiable by the group anyway
2010-04-05 19:37:02 +01:00
Melanie ec637e2b8c Committing the LightShare code, which was developed by TomMeta of Meta7.
This allows scripts to set WindLight parameters for clients connecting
to a region. Currently, this is only supported by the Meta7 viewer.
2010-03-31 04:20:20 +01:00
Justin Clark-Casey (justincc) 8cb81bdc9b minor: commented out code removal 2010-03-30 17:06:30 +01:00
Justin Clark-Casey (justincc) 696d711d15 Completely prevent full update packets being sent after kill object packets
If a full update is sent after the kill, the object remains as in the linden viewer but in an undeletable and unowned state until relog
This patch prevents this by recording kills in LLClientView
2010-03-30 17:04:26 +01:00
Dan Lake 62e0b53ca4 Renamed TryGetAvatar to TryGetScenePresence on SceneManager, SceneBase, Scene and SceneGraph. This was the only change in this patch to keep it isolated from other recent changes to the same set of files. 2010-03-19 15:16:44 -07:00
unknown 98f91a252c - parcel blocking, region crossing blocking, teleport blocking
Signed-off-by: Melanie <melanie@t-data.com>
2010-03-09 22:43:55 +00:00
unknown 2dcf73dd93 - supporting llTextBox
Signed-off-by: Melanie <melanie@t-data.com>
2010-03-06 20:05:11 +00:00
Justin Clark-Casey (justincc) 1c68ad2bba remove references to OpenSim.Framework.Commuications.Tests.dll since all relevant test code has been obsoleted
this allows the tests to pass on my local system
2010-03-03 17:50:05 +00:00
Melanie 86c621fdc7 Change the signature of SendChangeUserRights, because we have to send
this to both parties
2010-02-28 22:56:31 +00:00
Melanie 44e7224b86 Add missing ChangeUserRights packet sender 2010-02-28 22:47:31 +00:00
Diva Canto 5c5966545d Initial Online friends notification seems to be working reliably now. All this needs more testing, but everything is there. 2010-02-28 12:07:38 -08:00
Melanie 1f45e6c649 Merge branch 'master' into presence-refactor
This brings presence-refactor up to master again
2010-02-22 03:00:59 +00:00
John Hurliman 845a390e93 * Added a sanity check for missing asset data in LLClientView
* Moved the SL asset type to content type conversion methods from ServerUtils to OpenSim.Framework.SLUtil
* Linked content type to asset type in AssetMetadata
2010-02-20 16:21:13 -08:00
Justin Clark-Casey (justincc) 214b1351fb minor: Make FlotsamAssetCache default loglevel 0 to match that given in bin/config-include/FlotsamCache.ini.example 2010-02-19 21:18:03 +00:00
Justin Clark-Casey (justincc) 10f94a3c33 remove old commented out switch statement in LLClientView since this has successfully been split into separate methods for quite some time now 2010-02-17 21:13:31 +00:00
Jeff Ames af265e001d Formatting cleanup. 2010-02-15 19:21:56 +09:00
Melanie c033223c63 Merge branch 'master' into presence-refactor 2010-02-15 00:20:48 +00:00
Revolution 9821c4f566 Revolution is on the roll again! :)
Fixes: Undo, T-pose of others on login, modifiedBulletX works again, feet now stand on the ground instead of in the ground, adds checks to CombatModule. Adds: Redo, Land Undo, checks to agentUpdate (so one can not fall off of a region), more vehicle parts. Finishes almost all of LSL (1 function left, 2 events).

Direct flames and kudos to Revolution, please

Signed-off-by: Melanie <melanie@t-data.com>
2010-02-14 22:18:46 +00:00
Justin Clark-Casey (justincc) 00800c59d3 Apply last two patches from http://opensimulator.org/mantis/view.php?id=3522
These patch should allow people using systems that do not have their locale set to En_US or similar to use OpenSim without suffering effects such as being a million miles up in the air on login.
The problem was caused by parsing strings without forcing that parse to be En_US (hence different decimal and digit group symbols were causing problems).
Thanks very much to VikingErik for doing the legwork on this fix and phacelia for spotting it in the first place.
2010-02-12 23:13:35 +00:00
Justin Clark-Casey (justincc) 802a969267 Fix http://opensimulator.org/mantis/view.php?id=4224
This resolves the problem where eyes and hair would turn white on standalone configurations
When a client receives body part information, for some insane reason or other it always ends up uploading this back to the server and then immediately re-requesting it.
This should have been okay since we stored that asset in cache.  However, the standalone asset service connector was not checking this cache properly, so every time the client made the request for the asset it has just loaded it would get a big fat null back in the face, causing it to make clothes and hair white.
This bug did not affect grids since they use a different service connector.
2010-02-12 21:32:03 +00:00
Melanie baaf660511 Merge branch 'master' into presence-refactor
This was a large, heavily conflicted merge and things MAY have got broken.
Please check!
2010-02-08 15:53:38 +00:00
Justin Clark-Casey (justincc) 0a084a31e9 refactor: chain two ScenePresence constructors together to eliminate common code. No functional changes 2010-02-04 23:23:07 +00:00
Diva Canto 42f978a478 * HGScene is no more.
* Moved a few key inventory access methods from Scene.Inventory to an IInventoryAccessModule module
2010-01-30 09:23:07 -08:00
Diva Canto 5001f61c08 * HGGridConnector is no longer necessary.
* Handle logout properly. This needed an addition to IClientAPI, because of how the logout packet is currently being handled -- the agent is being removed from the scene before the different event handlers are executed, which is broken.
2010-01-29 18:59:41 -08:00
Justin Clark-Casey (justincc) 38cfc9366c Fix a problem where llDie() calls were sometimes leaving dead objects behind.
When an object was deleted, the remove script instance call was aggregating the scripting events as normal.
This would queue a full update of the prim before the viewer was notifed of the deletion of that prim (QuitPacket)
On some occasions, the QuitPacket would be sent before the full update was dequeued and sent.
In principle, you would think that a viewer would ignore updates for deleted prims.  But it appears that in the Linden viewer (1.23.5),
a prim update that arrives after the prim was deleted instead makes the deleted prim persist in the viewer.  Such prims have no properties
and cannot be removed from the viewer except by a relog.
This change stops the prim event aggregation call if it's being deleted anyway, hence removing the spurious viewer-confusing update.
2010-01-25 21:51:58 +00:00
Justin Clark-Casey (justincc) 2308b375a7 minor: remove warning from LLClientView 2010-01-22 16:26:42 +00:00
Melanie 10f8c2ea9b Merge branch 'master' into presence-refactor
This merge was very conflicted. I think I got them all, but I can't be sure.
I had to merge to master or risk divergence to the point of unmergeability.
2010-01-16 00:05:08 +00:00
Diva Canto 77e43f4801 Fixed a couple of bugs with Appearance. Appearance is all good now. 2010-01-11 17:30:05 -08:00
Diva Canto c5ea783526 OpenSim/Framework/Communications/Cache deleted. LibraryRootFolder deleted. 2010-01-11 07:51:33 -08:00
Melanie 3c90d834ea Remove all references to master avatar, replacing with estate owner where
appropriate. This changes the behavior of the REST plugins and RemoteAdmin's
region creation process.
2010-01-10 22:41:42 +00:00
Melanie 332463ca94 Fix up the weird Lindenish "setaccess" message. Talk about strange.... 2010-01-09 15:28:52 +00:00
Melanie 063f106cbb Add functionality to estate "Allowed Users" and "Allowed Groups". Allowed users
will be honored now, while allowed groups will not. This requires additional
groups module integration work
2010-01-09 14:17:44 +00:00
Melanie 17efecd6c5 Moving the new group data structures out of LLClientView into GroupData.
The new methods are still not in IClientAPI, so some work remains to be done.
2010-01-08 05:29:29 +00:00
Revolution 452be5e546 Second Fix to the new Packets as per Melanie's request.
Signed-off-by: Melanie <melanie@t-data.com>
2010-01-08 05:17:02 +00:00
Revolution b67470af91 Fixes the newly added packets as per Melanie's request.
Provisionally applied to fix the naming. Signatures are still subject to change.

Signed-off-by: Melanie <melanie@t-data.com>
2010-01-07 15:09:13 +00:00
Melanie 7f960cd595 Merge branch 'master' into presence-refactor 2010-01-04 21:41:33 +00:00
Jeff Ames 70d5b1c34c Formatting cleanup. Add copyright headers. 2010-01-04 06:17:30 +09:00
Diva Canto 8a9677a531 The Library Service is now working. UserProfileCacheService.LibraryRoot is obsolete. Didn't delete it yet to avoid merge conflicts later -- want to stay out of core as much as possible. 2010-01-01 21:12:46 -08:00
Melanie 004c751a1b Whitespace cleanup (changed hard tabs to 4 spaces) 2009-12-31 21:36:04 +00:00
Revolution 234d4e1105 Adds tons of packets.
Applied with change: Changed spelling to Summary (from Summery)

Signed-off-by: Melanie <melanie@t-data.com>
2009-12-31 21:24:56 +00:00
Melanie bca2afdb3c One should not copy/paste so much :) 2009-12-27 16:08:12 +00:00
Melanie 3ec8e8e40b Fix the spelling :/ 2009-12-27 16:02:31 +00:00
Melanie e063f0d592 Encode the published and mature checkboxes into the user flags for
profiles
2009-12-27 15:47:14 +00:00
Melanie 88b3b98811 Add AvatarInterestsReply 2009-12-26 04:12:51 +00:00
Teravus Ovares (Dan Olivares) f046457249 Tweaking the ModifyLand packet to be async. Advice from Adam 2009-12-13 04:02:18 -05:00
Teravus Ovares (Dan Olivares) 4ef8dc7d96 * Add some glue that allows LocalPacketHandlers to decide if they want the packet to be processed asynchronously or not.
* Make several packets not asynchronous (such as AgentUpdate).    In theory, all fast returning packet handling methods should not be asynchronous.   Ones that wait on an external resource or a long held lock, should be asynchronous.
2009-12-13 02:08:28 -05:00
Melanie f8cc409034 Cause better packing of ObjectProperties 2009-12-06 02:53:24 +00:00
Teravus Ovares (Dan Olivares) d9a20edfb0 * Move code from that last commit to LLClientView since it's a linden client specific limitation, it moves to the Linden Specific client handler. 2009-12-03 02:02:04 -05:00
Justin Clark-Casey (justincc) e078fb2e71 Implement god mode user freezing and unfreezing
See http://opensimulator.org/mantis/view.php?id=4356
Thanks Revolution
I performed a subsequent probable bug fix in this patch
2009-11-27 19:23:51 +00:00
Justin Clark-Casey (justincc) 73dcbbd57a minor: remove some mono compiler warnings 2009-11-24 17:32:14 +00:00
Teravus Ovares (Dan Olivares) cf36420d19 * This concludes the packet migrations from the big nasty switch into packet handler delegates. 2009-11-23 22:20:51 -05:00
Teravus Ovares (Dan Olivares) 3bfbd2952d * Moved 60 more packet handlers to Packet Handler Delegates. 2009-11-23 20:19:00 -05:00
Teravus Ovares (Dan Olivares) 976728029b * Moved 40 more Packet handlers to the PacketDelegate and out of the 5000 line switch. 2009-11-23 01:12:46 -05:00
Jeff Ames 9f5c2acd12 Formatting cleanup. 2009-11-23 11:26:06 +09:00
Teravus Ovares (Dan Olivares) 8db97f7dab * Switched over 15 more packet types from the 5000 line switch to the Packet handler delegate 2009-11-22 05:13:50 -05:00
Teravus Ovares (Dan Olivares) 968b7310f4 * Moved 13 more packet type handlers to PacketHandler Delegates.. and out of of that giant 5000 line switch, ProcessInPacket. 2009-11-22 03:48:56 -05:00
Teravus Ovares (Dan Olivares) 2c8fbc15e8 * Comment out some example code for later. 2009-11-21 21:59:31 -05:00
Teravus Ovares (Dan Olivares) 079691b98f * Move a few of the ProcessInPacket switch case blocks into packet handler delegates 2009-11-21 21:58:11 -05:00
Teravus Ovares (Dan Olivares) f7916d10f3 * This fixes landing on Prim and removes the hack from yesterday. Landing on prim should work fine again. 2009-11-21 19:38:38 -05:00
John Hurliman 5145dfa53c * Removing the redundant SendPrimitiveTerseData.State field, it duplicates AttachPoint
* LLClientView.CreateImprovedTerseBlock() now uses AttachPoint and does the proper high-low swap (this should fix disappearing attachment pieces)
2009-11-09 17:13:56 -08:00
Melanie f8bcbe5492 remove the debug stuff 2009-11-08 22:39:00 +00:00
Melanie aff5fe10b0 test commit with debug output per folder fetch. NOT FOR PRODUCTION, SPEWY 2009-11-08 22:29:36 +00:00
John Hurliman 6ed57814c1 * Clamp the CoarseLocationUpdate packet at a maximum of 60 positions per packet. This is a limitation of LLUDP, nothing we can really do about it
* Marking CoarseLocationUpdate as *not* zerocoded. Zerocoding can only save space when a packet contains three or more contiguous zeroes, and will use more space if it contains single zeroes randomly scattered through the packet (which is what you see when you send a long list of UUIDs)
2009-11-05 23:50:17 -08:00
John Hurliman e6d7303b29 Applying #4332, optional packet statistics logging 2009-11-05 12:01:40 -08:00
Melanie 83b4b4440b Patch by revolution, thank you. Mantis #1789 . Implement friends permissions.
Applied with major changes. Core functionality commented pending review
for possible rights escalation. No user functionality yet.
2009-11-05 02:09:07 +00:00
Melanie 30a2411e58 Separate folder and item limit for UDP inventory packets. Folder limit is
now 6, as before, item limit is 5. This should avoid most, if not
all, oversized packets.
2009-11-04 23:54:19 +00:00
Melanie 535f4597c1 Add an overload to OutPacket as per jhurliman. Switch hacky workaround
for InventoryDescendents to the proper way
2009-11-04 04:36:19 +00:00
Melanie cfcb5faa4e Bounce the pacjet items limit back up to 6 2009-11-04 04:09:46 +00:00
Melanie 5bcc02c97b Prevent autosplitting of inventory descendents packets. Also reduces the
number of items per packet to 5 to prevent asserts
2009-11-04 03:56:31 +00:00
Melanie 4d2ecd1236 Correctly set the totall number of descendents in inventory retrieval 2009-11-04 03:07:21 +00:00
Melanie c72f78215b Backport the fixes to WebFetchInventoryDescendents to the UDP
InventoryDescendents packet. Testing has shown that UDP inventory now
works flawlessly and, unlike CAPS inventory, doesn't download the entire
agent inventory on start. Neither does it incessantly re-request folder
NULL_KEY. Therefore, I have disabled CAPS inventory.
2009-11-04 01:56:19 +00:00
Melanie 92f4835ba6 Convert the AvatarGroupsReply message to the event queue. 2009-10-30 19:54:56 +00:00
Melanie 39f95e8cf0 Add a using for OSD to the client view 2009-10-30 19:44:01 +00:00
John Hurliman cb1492aaf0 Fixed a regression in SendAvatarGroupsReply() 2009-10-30 13:18:18 -07:00
John Hurliman 5d5d0e699a * Disables automatic packet splitting on AvatarGroupsReply packets. This packet is a mess and shouldn't be used at all (in favor of the event queue message)
* Clean up the way we send AvatarGroupsReply packets, including clamping the group name and group title
2009-10-30 11:12:32 -07:00
John Hurliman 8a73dc0f8a * Fix for a potential race condition in ScenePresence.AbsolutePosition
* Unified the way region handles are stored and used in ScenePresence
* Fixed camera position for child agents
* CheckForSignificantMovement now checks avatar and camera position (both are important for scene prioritization)
* Removing debug code from the previous commit
2009-10-30 03:01:15 -07:00
John Hurliman 7965b6eb61 * Moving parcel media and avatar update packets from the unthrottled category to task
* Fixing a bug where the max burst rate for the state category was being set as unlimited, causing connections to child agents to saturate bandwidth
* Upped the example default drip rates to 1000 bytes/sec, the minimum granularity for the token buckets
2009-10-30 00:43:46 -07:00