aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-07-07Remove redundant SetScene() function in Scene.AddSceneObject()Justin Clark-Casey (justincc)3-15/+3
This is always done later on in SceneGraph.AddSceneObject() if the call hasn't failed due to sanity checks. There's no other purpose for this method to exist and it's dangerous/pointless to call in other conditions.
2012-07-06Remove now duplicate interregion object check that should have been removed ↵Justin Clark-Casey (justincc)1-12/+0
a few commits ago in 43a2da9
2012-07-06Add assert to attachment regression tests to check that number of objects in ↵Justin Clark-Casey (justincc)2-5/+24
the scene graph
2012-07-06Mantis 6063 osNpcTouch.Talun1-0/+8
Allow NPCS to touch obects.
2012-07-06Pull prim crossing/teleport checks up into Scene.IncomingCreateObject() from ↵Justin Clark-Casey (justincc)1-14/+27
Scene.AddObject() Only IncomingCreateObject() needs these checks. General object adding does not need to perform crossing perm checks
2012-07-05Add OSSL function osForceAttachToAvatarFromInventory()Justin Clark-Casey (justincc)5-30/+35
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-03Correct spelling mistake m_BanedViewers to m_BannedViewersJustin Clark-Casey (justincc)1-4/+4
2012-07-03minor: Add some method doc to HasGroupChanged and Schedule ↵Justin Clark-Casey (justincc)1-2/+21
GroupForFull/PartUpdate() to indicate when region modules need to invoke them
2012-07-03Fix issue in database tests where sogs being stored are not in a scene.Justin Clark-Casey (justincc)1-1/+1
This puts an extra m_part.ParentGroup.Scene == null check at the top of SceneObjectPartInventory.QueryScriptStates()
2012-07-02Adds a list of viewers that are allowed or banned from the region.Michelle Argus1-0/+65
Signed-off-by: Melanie <melanie@t-data.com>
2012-07-01Add preservation of running state of scripts when drag-copying.Melanie2-2/+38
2012-06-30Removing unused handling of incoming create object by userID and itemID only.Justin Clark-Casey (justincc)1-22/+0
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-30Remove code listed for removal in 0.7.3 that handled script restart for ↵Justin Clark-Casey (justincc)1-16/+0
incoming attachments from pre-fatpack regions (versions of OpenSimulator more than a year old)
2012-06-29Add IScene.Name for code clarity to replace the RegionInfo.RegionName used ↵Justin Clark-Casey (justincc)2-30/+32
in many, many log messages.
2012-06-28Change AttachmentsModule.DetachSingleAttachmentToInv() to accept a SOG ↵Justin Clark-Casey (justincc)2-3/+7
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-27refactor: Move ScenePresence <-> AgentData attachments copying code into ↵Justin Clark-Casey (justincc)3-37/+24
AttachmentsModule.
2012-06-25When attachments are being saved and deleted for a closing root agent, ↵Justin Clark-Casey (justincc)3-17/+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-0/+9
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-23Fix script "Running" behaviorBlueWall2-0/+16
Unchecking "Running" box in script editor now persists. This fixes http://opensimulator.org/mantis/view.php?id=6057
2012-06-22Fix bug where attachments would not retain position if just rotated and not ↵Justin Clark-Casey (justincc)1-0/+5
moved. This was because we were not setting AttachedPos in SOG.UpdateGroupPositionPR, unlike UpdateGroupPosition
2012-06-20Use HasPrivateAttachmentPoint properties in SOG.DeleteGroupFromScene() ↵Justin Clark-Casey (justincc)1-2/+3
instead of magic numbers
2012-06-20refactor: use SOG.HasPrivateAttachmentPoint in SOP.SendTerseUpdateToClient() ↵Justin Clark-Casey (justincc)1-2/+3
instead of attachmentpoint magic numbers.
2012-06-20Log how many scripts are candidates for starting and how many are actually ↵Justin Clark-Casey (justincc)4-62/+106
started. Adds DebugLevel infrastructure to XEngine though currently commented out and unused.
2012-06-20If RegionReady is active, don't falsely say that logins are enabled in the ↵Justin Clark-Casey (justincc)1-2/+2
main scene loop before RegionReady is signalled when initial script compilation finishes. Also raises this logging level to Info from Debug since this information is of high importance. This matches the behaviour of the RegionReady module
2012-06-20minor: If logging because mesh/sculpt data isn't present for an object, log ↵Justin Clark-Casey (justincc)1-1/+1
object UUID rather than local id, since UUID doesn't potentially vary between simulator starts.
2012-06-14Add SOG.HasPrivateAttachmentPoint to tell if a SOG has a private attachment ↵Justin Clark-Casey (justincc)2-2/+19
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)1-1/+1
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-4/+3
available on IClientAPI.SceneAgent rather than retrieving it again by scanning all scenes.
2012-06-11Comment out the scene presence sitting debug log messages for nowJustin Clark-Casey (justincc)1-6/+6
2012-06-08Don't make duplicate call to ScenePresence.Close() separately in ↵Justin Clark-Casey (justincc)3-81/+74
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-08Go back to calling IncomingCloseAgent() in the "kick user" command for ↵Justin Clark-Casey (justincc)1-6/+0
consistency instead of IClientAPI.Close() directly. This no longer double counts child agent removals
2012-06-08Remove duplicate update of user count in Scene.IncomingCloseAgent()Justin Clark-Casey (justincc)3-14/+27
This is already done in Scene.RemoveClient() which IncomingCloseAgent() always ends up calling.
2012-06-08Fix bug with "kick user" reducing agent counts by 2 instead of 1.Justin Clark-Casey (justincc)2-20/+22
This is done by making the kick user command call IClientAPI.Close() rather than routing through Scene.IncomingCloseAgent(), which also called IClientAPI.Close() DisableSimulator for child agents is moved from IncomingCloseAgent() to RemoveClient(), this is not a functional change since IncomingCloseAgent() always ends up calling RemoveClient()
2012-06-07Record the fact that child agents can have asset transactions.Justin Clark-Casey (justincc)2-23/+18
Also change code to grab the agent asset transaction module once.
2012-06-07Don't send kill object messages to clients when a child agent is closed.Justin Clark-Casey (justincc)1-18/+21
2012-06-05Scale down per frame MS stats to match scaled simulator FPS stat.Justin Clark-Casey (justincc)1-1/+1
This makes frame time stats properly tally with fps, which saves confusion and makes it easier to interpret numbers. In some ways this is not so artifical - physics FPS runs at the higher rate.
2012-06-05Start sending spare frame time MS viewer stat. Make frame time correctly ↵Justin Clark-Casey (justincc)2-78/+124
display total frame time, not just non-spare time. This makes it easier to see when components of frame time exceed normal permitted frame time. Currently reflect scene frame times.
2012-06-04Properly show per frame millisecond statistics per frame, not as amount of ↵Justin Clark-Casey (justincc)1-22/+41
time taken per second. This is to make these statistics actually match their names (and also be more accurate as number of frames can vary under heavy load) Currently using scene frames (11.23 every second) instead of physics frames (56.18 per second)
2012-06-04Correct the delegate specification in EventManager.TriggerTerrainTainted. ↵Robert Adams1-1/+1
Looks like the wrong one was cut and pasted.
2012-06-01Instead of updating sim stats root agent, child, objects and scripts ↵Justin Clark-Casey (justincc)2-33/+14
accounts every single scene frame, update in the once every 3 seconds SimStatsReporter run
2012-05-31Add an optional mechanism for physics modules to collect and return ↵Justin Clark-Casey (justincc)1-5/+43
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-29Fix collision filtering. The filter should be checked on the receiving part!Melanie1-9/+9
2012-05-26If restating a region, clean up the physics scene after the main scene has ↵Justin Clark-Casey (justincc)1-4/+4
been closed not before. If this is done before then on ODE agent update calls still incoming can fail as they try to use a raycastmanager that has been disposed. Bullet plugin does nothing on Dispose() However, I wouldn't be at all surprised if individual region restarting was buggy in lots of other areas.
2012-05-26refactor: replace LSL_Api.InventoryKey(string) largely with ↵Justin Clark-Casey (justincc)2-8/+27
SceneObjectPartInventory.GetInventoryItem(string) Also gets llStopAnimation() to call KeyOrName rather than duplicating logic.
2012-05-25Remove a call stack debugging line accidentally left in from a few days ago ↵Justin Clark-Casey (justincc)1-2/+0
at SceneObjectPartInventory.ApplyNextOwnerPermissions().
2012-05-25Stop it being possible for an agent to teleport back to its source region ↵Justin Clark-Casey (justincc)2-4/+4
before the source region has finished cleaning up old agent data and structures. If this is allowed, then the client usually gets forcibly logged out and data structures might be put into bad states. To prevent this, the binary state machine of EMT.m_agentsInTransit is replaced with a 4 state machine (Preparing, Transferring, ReceivedAtDestination, CleaningUp). This is necessary because the source region needs to know when the destination region has received the user but a teleport back cannot happen until the source region has cleaned up. Tested on standalone, grid and with v1 and v3 clients.
2012-05-24If an agent is still registered as 'in transit' by the source region, don't ↵Justin Clark-Casey (justincc)3-36/+80
allow an immediate teleport back. This is to help relieve a race condition when an agent teleports then immediately attempts to teleport back before the source region has properly cleaned up/demoted the old ScenePresence. This is rare in viewers but much more possible via scripting or region module. However, more needs to be done since virtually all clean up happens after the transit flag is cleared . Possibly need to add a 'cleaning up' state to in transit. This change required making the EntityTransferModule and HGEntityTransferModule per-region rather than shared, in order to allow separate transit lists. Changes were also required in LocalSimulationConnector. Tested in standalone, grid and with local and remote region crossings with attachments.
2012-05-23Environment Module - allows Environment settings for Viewer3 warning: ↵PixelTomsen3-0/+77
includes database region store migrations for mssql, mysql, sqlite enable/disable this module: Cap_EnvironmentSettings = "localhost" (for enable) Cap_EnvironmentSettings = "" (for disable) at ClientStack.LindenCaps section (OpenSimDefaults.ini file) or owerwrite in OpenSim.ini mantis: http://opensimulator.org/mantis/view.php?id=5860 Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-05-23Fix llGetSimulatorHostname to return configured hostnameBlueWall1-0/+1
2012-05-23Add "show scene" command which lists stats for the currently selected ↵Justin Clark-Casey (justincc)1-1/+6
console scene(s) This includes prim count, script count, avatar count, etc. Information is currently the same as "show stats", though show stats can only show one scene at a time because it listens for the latest outgoing stats packet (a bad approach that needs to change). Might be better to tie this module into the other stats module to display arbitrary stats rather than fetching directly from scene.SimStatsReporter. Console command is "show scene" because "show region" already exists for the grid service, which is unfortunate. Might need to make a distinction between "scene" relating to a live scene and "region" relating to more static region data (url, coords, etc.)