Justin Clark-Casey (justincc)
056c9a59b2
Add assert to attachment regression tests to check that number of objects in the scene graph
2012-07-06 23:07:50 +01:00
Justin Clark-Casey (justincc)
f6e5791ecd
refactor: extract method UpdateUserInventoryWithAttachment() from AttachObject() for better code comprehension
2012-07-06 22:07:19 +01:00
Justin Clark-Casey (justincc)
951b45b80f
Add OSSL function osForceAttachToAvatarFromInventory()
...
This works like osForceAttachToAvatar() but allows an object to be directly specified from the script object's inventory rather than forcing it to be rezzed in the scene first.
Still only attaches objects to the owner of the script.
This allows one to bypass the complicated co-ordination of first rezzing objects in the scene before attaching them.
Threat level high.
2012-07-05 00:05:06 +01:00
Justin Clark-Casey (justincc)
bfa6896678
Change AttachmentsModule.DetachSingleAttachmentToInv() to accept a SOG directly instead of an item ID to then shuffle through attachments, saving CPU busywork.
...
Almost all callers already had the sog to hand.
Still checking that it's really an attachment, but now by inspecting SOG.AttachedAvatar
2012-06-28 23:31:23 +01:00
Justin Clark-Casey (justincc)
571fd966cb
Rather than iterating through all SOGs in the scene looking for the one that matches out fromItemID on detach, go through the agent's attachment sog list instead.
2012-06-28 23:01:12 +01:00
Justin Clark-Casey (justincc)
f263d6a910
Remove code that tried to delete an attachment back to inventory if RezSingleAttachmentFromInventoryInternal() returned null.
...
null would only ever be returned if the item couldn't be located within inventory and this would happen immediately.
In this case, derezzing wouldn't work anyway since there is no item to derez.
2012-06-28 22:48:49 +01:00
Justin Clark-Casey (justincc)
bb48060b44
Fix issue in InventoryArchiveTestCase where it didn't call down to OpenSimTestCase.SetUp()
2012-06-27 00:50:36 +01:00
Justin Clark-Casey (justincc)
d043213317
refactor: Move ScenePresence <-> AgentData attachments copying code into AttachmentsModule.
2012-06-27 00:41:46 +01:00
Justin Clark-Casey (justincc)
5bec5bcf71
Automatically disable log4net before each regression test so that logging is confined to a single test if it's turned on.
...
This involves making test classes inherit from a common OpenSimTestCase.
This will be applied to more classes as required.
2012-06-27 00:01:51 +01:00
Justin Clark-Casey (justincc)
99954c1498
refactor: Remove unnecessary AttachmentModuleTests.m_userId in favour of local variables
2012-06-26 22:53:08 +01:00
Justin Clark-Casey (justincc)
2b82c421ad
refactor: Use local attachment module variables instead of global m_attMod.
...
This also avoids confusion between tests where one sets up m_attMod and another accidentally uses it after failing to set one up itself.
2012-06-26 22:31:25 +01:00
Justin Clark-Casey (justincc)
4329cc7b8a
refactor: make m_presence a local variable in all AttachmentsModuleTests since it doesn't need to be global and some tests set up more than one sp
2012-06-26 22:21:54 +01:00
Justin Clark-Casey (justincc)
32a4ce94f0
Add regression test to check that attachments in source region are deleting when an agent teleports to a neighbouring region
2012-06-26 22:16:44 +01:00
Justin Clark-Casey (justincc)
f5316984ab
minor: update currently commented out log message at top of AvatarFactoryModule.SetAppearance() for future use
2012-06-25 23:31:22 +01:00
Justin Clark-Casey (justincc)
e5b739aaeb
When attachments are being saved and deleted for a closing root agent, delete first to avoid a hud race condition with update threads.
...
If delete doesn't occur first then the update thread can outrace the IsAttachment = false necessary to save attachments and send hud artifacts to other viewers.
2012-06-25 22:48:13 +01:00
Justin Clark-Casey (justincc)
5301648cff
In AttachmentsModule.DetachSingleAttachmentToInvInternal(), remove attachment before changing properties for correct inventory serialization.
...
Serialization of attachments requires IsAttachment = false so that correct positions are serialized instead of avatar position.
However, doing this when a hud is still attached allows race conditions with update threads, resulting in hud artifacts on other viewers.
This change sets SOG.IsDeleted before serialization changes take place (IsDeleted itself is not a serialized property).
LLClientView then screens out any deleted SOGs before sending updates to viewers.
2012-06-25 21:08:19 +01:00
Justin Clark-Casey (justincc)
4cf49369b5
Stop flicking IsAttachment false and then true in AttachmentsModule.UpdateAttachmentPosition() in order to avoid a hud update race condition.
...
Previously, setting IsAttachment to false then true was necessary to serialize the updated attachment object information.
However, UpdateAttachmentPosition no longer does this update.
Whilst IsAttachment is set to false there is a race condition where the update thread can wrongly send hud object updates to clients that do not own the hud, resulting in screen artifacts.
2012-06-22 01:43:26 +01:00
Justin Clark-Casey (justincc)
798846c5b6
refactor AttachmentsModule tests to use a common method for standard attachment item setup
2012-06-22 00:40:04 +01:00
Justin Clark-Casey (justincc)
06617ffd06
Add regression test for updating attachment position
2012-06-22 00:18:30 +01:00
Justin Clark-Casey (justincc)
1aa7469253
correct wrong incomplete comment from previous commit 3c3ea19 in AttachmentsModule
2012-06-14 02:30:40 +01:00
Justin Clark-Casey (justincc)
3c3ea19620
Fix a bug where scene objects attached as HUDs through scripts would not disappear for other avatars.
...
We do this by sending a kill message for that object to all other avatars apart from the one that has the hud.
2012-06-14 02:26:38 +01:00
Melanie
5c646e2603
Remove the "Profile" config as it's covered by the replaceable interface
2012-06-04 18:22:09 +01:00
Justin Clark-Casey (justincc)
bf0b8170f7
Add console command "teleport user" to allow teleport from the region console
...
See "help teleport user" on the console for more details
2012-05-29 23:35:20 +01:00
Justin Clark-Casey (justincc)
67ebe80dd9
Resolve some mono compiler warnings.
2012-05-25 04:03:16 +01:00
Justin Clark-Casey (justincc)
68918d632f
Fetch the dialog module reference in AttachmentsModule in RegionLoaded() not AddRegion()
...
The reference is not guaranteed to be there when AddRegion() is called but will definitely be present at RegionLoaded() if it's going to be present at all.
2012-05-23 02:09:31 +01:00
Justin Clark-Casey (justincc)
ff429a259b
Fix bug where an avatar that had an object they owned attached through llAttachToAvatar() or osForceAttachToAvatar() would wrongly have next permissions come into play when they detached that object and rezzed it in scene.
...
This is because the attachments module code was setting the 'object slam' bit by using PermissionMask.All
Solution here is to route the attachment item creation call through the existing inventory code in BasicInventoryAccessModule rather than copy/pasted code in AttachmentsModule itself.
2012-05-23 01:58:10 +01:00
Justin Clark-Casey (justincc)
af6c85308a
minor: add explanative comment to 'missing baked texture' logging commonly seen on inter-simulator teleports where avatar baked textures are not available from the asset service.
2012-05-14 18:57:42 +01:00
Justin Clark-Casey (justincc)
5053506d88
refactor: Instead of performing a ScenePresence lookup twice over LocateClientObject() and GetClientScene(), do the lookup just once in LocateClientObject()
2012-05-07 18:27:33 +01:00
Justin Clark-Casey (justincc)
cdf97ab3a6
Fix a bug in FriendsModule.StatusNotify() where all subsequent friends would not be notified once a non-local friend was found.
2012-05-07 17:21:45 +01:00
Justin Clark-Casey (justincc)
01b00ad0d5
Fire the scripting changed event with CHANGED_OWNER when an object that has changed owners is rezzed.
...
This needs to occur after the script is resumed rather than before, when the event is just dropped.
Addresses http://opensimulator.org/mantis/view.php?id=5890 and http://opensimulator.org/mantis/view.php?id=5952
2012-05-05 00:29:14 +01:00
Talun
92fde6ed26
Mantis 60004 problems with damage and llSetDamage. In damage enabled areas this patch - Deletes any objects that have damage set > 0 that deliver that damage to an avatar Stops Gods receiving damage, Stops volume detect objects causing damage Deletes NPCS when their helth reduces to zero Gradually "heals" damage to an avatar Resets health on going to a non damage area
2012-05-04 21:01:09 +01:00
Justin Clark-Casey (justincc)
37dd174697
refactor: Split most of EntityTransferModule.Teleport() into its same region and different region teleport components.
...
DoTeleport() now retrives IEventQueue itself rather than requiring it to be passed in.
2012-05-01 17:52:30 +01:00
Oren Hurvitz
37d770f814
Use DotNetZip to compress OARs and IARs.
...
DotNetZip provides much better compression than standard .NET.
2012-04-27 19:46:31 +01:00
Justin Clark-Casey (justincc)
07e62df558
Add regression test for teleporting an agent between separated regions on the same simulator.
...
This involves a large amount of change in test scene setup code to allow test scenes to share shared modules
SetupScene is now an instance method that requires an instantiation of SceneHelpers, though other SceneHelpers methods are still static
May split these out into separate classes in the future.
2012-04-27 00:58:54 +01:00
Justin Clark-Casey (justincc)
6b299a4287
Comment out some debug ATTACHMENTS log messages for now.
2012-04-25 00:52:33 +01:00
Justin Clark-Casey (justincc)
39a6d7cab4
Comment out the noisier AVFACTORY log messages for now.
...
Permanently comment out warnings about ScenePresence not being found - this is entirely expected if the avatar has alraedy logged out or left the scene.
2012-04-25 00:47:32 +01:00
Oren Hurvitz
2f398231ac
Minor improvements to logging
...
Eliminated an extra newline in the console if the log line doesn't contain a category (example of a category: "[ASSETS]").
2012-04-24 21:38:09 +01:00
Talun
679da63da6
Mantis 5977 Corrections to llRegionSayTo
...
Signed-off-by: BlueWall <jamesh@bluewallgroup.com >
2012-04-23 07:16:33 -04:00
Justin Clark-Casey (justincc)
2b98e2f106
Stop teleports from dropping tall avatars through or embedding them in the floor when lured by short avatars.
...
This involves giving the ceiling of the Z-component in a lure rather than the floor.
Ideally we would give the exact float compensating for relative avatar height but it looks like that isn't possible with the parcel id format used in lures
2012-04-20 02:50:36 +01:00
Kevin Cozens
a366c05ae2
Added ability to exclude inventory items or folders when saving IAR files.
2012-04-13 23:31:12 +01:00
Snoopy Pfeffer
8be14095fe
HGFriendsModule: Type casts to fix compile error
2012-04-11 18:56:28 +02:00
Snoopy Pfeffer
1f4d3d3582
HGFriendsModule: Added optional user level based restriction to send friendship invitations to foreign users.
2012-04-11 18:52:07 +02:00
Diva Canto
f2ede8c7e0
HGFriendsModule: add the scaffolding for supporting permissions pertaining to HG friendships. Snoopy take it from here.
2012-04-11 08:13:11 -07:00
Justin Clark-Casey (justincc)
7d8bb33c5b
Store FromItemID for attachments once on SOG instead of on every SOP and only ever using the root part entry.
...
This eliminates some pointless memory use.
2012-04-07 00:33:02 +01:00
Justin Clark-Casey (justincc)
3525c876c8
Make default "show friends" console command show friends fetched from the friends service.
...
There is no a --cache option which will show friends from the local cache if available.
2012-03-30 01:57:38 +01:00
Justin Clark-Casey (justincc)
bce7964ac2
refactor: Move "friends show cache" console command out into separate FriendsCommandsModule.
...
Expose required methods on IFriendsModule. Rename GetFriends() -> GetFriendsFromCache() for self-documentation
2012-03-30 01:05:29 +01:00
Justin Clark-Casey (justincc)
59157d9d63
Add simple login test with online friends. Add IFriendsModule.GrantRights() for granting rights via a module call.
...
Rename IFriendsModule.GetFriendPerms() -> GetRightsGrantedByFriend() to be more self-documenting and consistent with friends module terminology.
Add some method doc.
2012-03-30 00:42:55 +01:00
Justin Clark-Casey (justincc)
bf09d6a22b
refactor: Stop passing both IClientAPI and agentID to friend event listeners, these are redundant. Replace a few magic numbers with FriendRights enum already used elsewhere.
2012-03-29 18:31:57 +01:00
Justin Clark-Casey (justincc)
012b01f224
Add simple regression test for logging in with offline friends. Don't expect to receive any in this instance.
2012-03-29 03:19:45 +01:00
Justin Clark-Casey (justincc)
22a85b947a
Add back parts of reverted changes that were not concerned with child agent caching.
...
This adds ScenePresence to IClientAPI.SceneAgent earlier on in the add client process so that its information is available to EventManager.OnNewClient() and OnClientLogin()
Also add a code comment as to why we're caching friend information for child agents.
2012-03-29 01:26:30 +01:00