aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-06-30Removing unused handling of incoming create object by userID and itemID only.Justin Clark-Casey (justincc)2-26/+1
It appears this was never actually used since attachments were rezzed in other code. This was never available on remote simulator comms, only local.
2012-06-28Change AttachmentsModule.DetachSingleAttachmentToInv() to accept a SOG ↵Justin Clark-Casey (justincc)2-40/+45
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-28Rather than iterating through all SOGs in the scene looking for the one that ↵Justin Clark-Casey (justincc)1-24/+17
matches out fromItemID on detach, go through the agent's attachment sog list instead.
2012-06-28Remove code that tried to delete an attachment back to inventory if ↵Justin Clark-Casey (justincc)1-6/+1
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-27Fix issue in InventoryArchiveTestCase where it didn't call down to ↵Justin Clark-Casey (justincc)1-1/+2
OpenSimTestCase.SetUp()
2012-06-27refactor: Move ScenePresence <-> AgentData attachments copying code into ↵Justin Clark-Casey (justincc)1-0/+50
AttachmentsModule.
2012-06-27Automatically disable log4net before each regression test so that logging is ↵Justin Clark-Casey (justincc)2-4/+2
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-26Fix output for help on some object region console commandsJustin Clark-Casey (justincc)1-3/+6
2012-06-26refactor: Remove unnecessary AttachmentModuleTests.m_userId in favour of ↵Justin Clark-Casey (justincc)1-40/+26
local variables
2012-06-26refactor: Use local attachment module variables instead of global m_attMod.Justin Clark-Casey (justincc)1-11/+10
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-26refactor: make m_presence a local variable in all AttachmentsModuleTests ↵Justin Clark-Casey (justincc)1-26/+25
since it doesn't need to be global and some tests set up more than one sp
2012-06-26Add regression test to check that attachments in source region are deleting ↵Justin Clark-Casey (justincc)2-18/+120
when an agent teleports to a neighbouring region
2012-06-26If crossing attachments into another region pre-fatpack, clone objects ↵Justin Clark-Casey (justincc)1-17/+26
before changing properties to avoid hud display race condition with update threads. This matches behaviour in fatpack crossing, where attachments are cloned before their properties are changed. This only applies to crossings to simulators running code released before April 2011.
2012-06-25minor: update currently commented out log message at top of ↵Justin Clark-Casey (justincc)1-1/+3
AvatarFactoryModule.SetAppearance() for future use
2012-06-25When attachments are being saved and deleted for a closing root agent, ↵Justin Clark-Casey (justincc)1-12/+21
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-25In AttachmentsModule.DetachSingleAttachmentToInvInternal(), remove ↵Justin Clark-Casey (justincc)1-1/+1
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-22Resolve various race conditions between accessing and removing external ↵Justin Clark-Casey (justincc)1-132/+148
script URLs by more consistently locking on m_UrlMap
2012-06-22Avoid a race condition where an incoming request to a script external URL ↵Justin Clark-Casey (justincc)1-35/+73
can trigger an exception is the URL was being removed at the same time. This involves three steps 1) Return gracefully in UrlModule.HttpRequestHandler() instead of throwing an exception when the url cannot be found in its index 2) Return true instead of false in HasEvents() if no matching request is found in the map. This call will only happen in the first place for raced requests. 3) Return a 404 in GetEvents() if the request is not in the index, rather than a blank 200 OK. Many thanks to Tom Haines in http://opensimulator.org/mantis/view.php?id=6051 for doing some of the work on this.
2012-06-22Stop flicking IsAttachment false and then true in ↵Justin Clark-Casey (justincc)1-10/+0
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-22refactor AttachmentsModule tests to use a common method for standard ↵Justin Clark-Casey (justincc)1-70/+69
attachment item setup
2012-06-22Add regression test for updating attachment positionJustin Clark-Casey (justincc)1-0/+30
2012-06-20Lower warn logging on not having friends/group module on permissions to debug.Justin Clark-Casey (justincc)1-2/+2
It's a valid configuration not to have these modules, but I think it's still worth logging the fact that certain permissions won't work (always return true)
2012-06-20minor: Lower flotsam asset cache warning about not having a FlotsamCache.ini ↵Justin Clark-Casey (justincc)1-1/+1
to debug It's perfectly okay not to have this section.
2012-06-20Comment out the neighbour and land in connectors from info logging that they ↵Justin Clark-Casey (justincc)2-2/+2
are starting up
2012-06-16Change read config paramter from max_urls_per_simulator to ↵Justin Clark-Casey (justincc)1-1/+1
max_external_urls_per_simulator, which is what it was meant to be
2012-06-16Implement max_external_urls_per_simulator setting in [LL-Functions] to allow ↵Justin Clark-Casey (justincc)1-1/+8
configuration of how many urls can be set up by llRequestURL() Defaults remains as 100. This setting is per simulator instead of per region due to how the url script module is structured.
2012-06-15Put all debug console commands into a single Debug section rather than ↵Justin Clark-Casey (justincc)1-1/+1
scattering them over other categories
2012-06-15Make XMLRPCModule use an existing HTTP server if one already exists on the ↵Justin Clark-Casey (justincc)1-4/+5
desired port.
2012-06-14correct wrong incomplete comment from previous commit 3c3ea19 in ↵Justin Clark-Casey (justincc)1-1/+2
AttachmentsModule
2012-06-14Fix a bug where scene objects attached as HUDs through scripts would not ↵Justin Clark-Casey (justincc)1-0/+13
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-14Add SOG.HasPrivateAttachmentPoint to tell if a SOG has a private attachment ↵Justin Clark-Casey (justincc)1-5/+2
point. HUDs attachment points are private. Change SOP.SendFullUpdateToClient() and SoundModule.PlayAttachedSound() to use this rather than different magic number formulations. This also corrects a bug in PlayAttachedSound() where the code assumed that all attachment points over 30 were HUDs. It appears this is no longer true with Neck and Root (Avatar Center)
2012-06-12OnConnectionClosed listeners, retrieve data from IClientAPI.SceneAgent ↵Justin Clark-Casey (justincc)3-48/+28
rather than scanning all scene for the presence with the right id Stop checking IsLoggingOut on these listeners, if called with a root agent then we always want to perform these actions. This covers cases where the client is closed due to manual kick, simulator shutdown, etc.
2012-06-12In PresenceDetector.OnConnectionClose(), use the IsChildAgent check already ↵Justin Clark-Casey (justincc)1-12/+1
available on IClientAPI.SceneAgent rather than retrieving it again by scanning all scenes.
2012-06-11Add last frame time monitor to MonitorModule now that this value is usefulJustin Clark-Casey (justincc)1-0/+8
2012-06-08Don't make duplicate call to ScenePresence.Close() separately in ↵Justin Clark-Casey (justincc)1-1/+0
ETM.DoTeleport() if an agent needs closing. This is always done as part of Scene.RemoveClient() Also refactors try/catching in Scene.RemoveClient() to log NREs instead of silently discarding, since these are useful symptoms of problems.
2012-06-07Record the fact that child agents can have asset transactions.Justin Clark-Casey (justincc)2-9/+8
Also change code to grab the agent asset transaction module once.
2012-06-06minor: Change log messages on Warp3DImageModule to show they are from this ↵Justin Clark-Casey (justincc)1-7/+9
module
2012-06-06Rename MapImageModule for Warp3D to Warp3DImageModule to match its class ↵Justin Clark-Casey (justincc)1-0/+0
name and make it easier to distinguish between map image modules.
2012-06-06Actively dispose of Bitmaps in Warp3D image module and world map module once ↵Justin Clark-Casey (justincc)3-215/+248
we've finished with them. This might help with memory leakage issues though I suspect it won't.
2012-06-06enabling all corners of a sim to be set in one callSignpostMarv1-1/+11
2012-06-05Stop accidentally reading 4 Int16s instead of 2 in SIZE section of Terragen ↵Justin Clark-Casey (justincc)1-2/+0
file when loaded from a stream. Fixes a bug introduced 2 weeks ago in 67ebe80 Thanks to Plugh for pointing this out.
2012-06-04Remove the "Profile" config as it's covered by the replaceable interfaceMelanie1-8/+0
2012-05-31Add an optional mechanism for physics modules to collect and return ↵Justin Clark-Casey (justincc)1-44/+64
arbitrary stats. If active, the physics module can return arbitrary stat counters that can be seen via the MonitoringModule (http://opensimulator.org/wiki/Monitoring_Module) This is only active in OdeScene if collect_stats = true in [ODEPhysicsSettings]. This patch allows OdeScene to collect elapsed time information for calls to the ODE native collision methods to assess what proportion of time this takes compared to total physics processing. This data is returned as ODENativeCollisionFrameMS in the monitoring module, updated every 3 seconds. The performance effect of collecting stats is probably extremely minor, dwarfed by the rest of the physics code.
2012-05-29Add console command "teleport user" to allow teleport from the region consoleJustin Clark-Casey (justincc)1-0/+189
See "help teleport user" on the console for more details
2012-05-28refactor: factor out entity transfer state machine into a separate class to ↵Justin Clark-Casey (justincc)3-239/+330
make code more analyzable
2012-05-28If handling the failure of teleport, move agent state to CleaningUp when we ↵Justin Clark-Casey (justincc)1-3/+6
start the handling. Also fixes the log warning from ResetInTransit() if the state is cleared direct from Transferring or ReceiveAtDestination, as pointed out in mantis 5426
2012-05-25Resolve some mono compiler warnings.Justin Clark-Casey (justincc)9-26/+33
2012-05-25on agent cross, remove from physics scene after its been placed in transit, ↵Justin Clark-Casey (justincc)1-3/+7
not before.
2012-05-25refactor: make ETM.CrossAgentToNewRegionAsync neighbourRegion == null check ↵Justin Clark-Casey (justincc)1-90/+92
return earlier to simplify method
2012-05-25Fix bug where a failed QueryAccess to a remove region would always have the ↵Justin Clark-Casey (justincc)1-2/+1
reason "Communications failure" no matter what the destination region actually returned