aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Store FromItemID for attachments once on SOG instead of on every SOP and ↵Justin Clark-Casey (justincc)2012-04-071-1/+1
| | | | | | only ever using the root part entry. This eliminates some pointless memory use.
* remove possible PhysActor unexpectedly null race conditions when changing ↵Justin Clark-Casey (justincc)2012-04-031-6/+0
| | | | | | prim collision status factor out common SOP physics scene adding code into a common SOP.AddToPhysics() that is the counterpart to the existing RemoveFromPhysics()
* Eliminate race condition where many callers would check SOP.PhysicsActor != ↵Justin Clark-Casey (justincc)2012-04-031-4/+0
| | | | | | | | null then assume it was still not null in later code. Another thread could come and turn off physics for a part (null PhysicsActor) at any point. Had to turn off localCopy on warp3D CoreModules section in prebuild.xml since on current nant this copies all DLLs in bin/ which can be a very large number with compiled DLLs No obvious reason for doing that copy - nothing else does it.
* refactor: Rename SOG.GetChildPart() to GetPart() since it can also return ↵Justin Clark-Casey (justincc)2012-03-311-2/+2
| | | | the 'root' part.
* minor: small message adjustment and unnecessary code elimination when ↵Justin Clark-Casey (justincc)2012-03-311-1/+1
| | | | notifying client of no build permission
* fix Infinite loading on No Rez http://opensimulator.org/mantis/view.php?id=5932PixelTomsen2012-03-311-1/+7
|
* Add back parts of reverted changes that were not concerned with child agent ↵Justin Clark-Casey (justincc)2012-03-291-0/+4
| | | | | | | 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.
* Revert "Simplify friends caching by only doing this for root agents - no ↵Justin Clark-Casey (justincc)2012-03-291-1/+0
| | | | | | | | functions require caching for child agents." We need to cache child agents so that friends object edit/delete permissions will work across boarders on regions hosted by different simulators. This reverts commit d9f7b8549b3cb9699eb8bd54242d31aac0f8241a.
* Revert "Add comment about setting client.SceneAgent in AddNewClient()"Justin Clark-Casey (justincc)2012-03-291-3/+0
| | | | This reverts commit 964cae4f37120db34d0d3e2f08ab998215237dfd.
* Add comment about setting client.SceneAgent in AddNewClient()Justin Clark-Casey (justincc)2012-03-291-0/+3
|
* Simplify friends caching by only doing this for root agents - no functions ↵Justin Clark-Casey (justincc)2012-03-281-0/+1
| | | | | | | | require caching for child agents. This allows us to avoid unnecessary multiple calls to the friends service. All friends functions originate from the root agent and only go to other root agents in existing code. This also allows us to eliminate complex ref counting.
* More on switching the root folder from under the viewer. More experiments.Diva Canto2012-03-271-15/+0
|
* HG: Switch root folders from under the viewer. Towards HG 2.0. This is ↵Diva Canto2012-03-271-4/+11
| | | | guarded by an obscure config that no one but me should be using at this point.
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimDan Lake2012-03-271-285/+425
|\
| * HG: beginning of a more restrictive inventory access procedure (optional). ↵Diva Canto2012-03-271-0/+8
| | | | | | | | Experimental: we'll try switching the root folder from under the viewer.
| * Comment out log message about sending periodic appearance updates.Justin Clark-Casey (justincc)2012-03-231-2/+2
| |
| * Add experimental SendPeriodicAppearanceUpdates = true/false setting to ↵Justin Clark-Casey (justincc)2012-03-231-0/+17
| | | | | | | | | | | | | | | | | | | | [Startup] in OpenSim.ini On osgrid and other places, I have observed that manually sending appearance updates from the console often relieves grey avatar syndrome. Despite hunting high and low, I haven't been able to find where this packet is sometimes being lost - it might be a persistent viewer bug for all I know. Therefore, this experimental setting resends appearance data for everybody in the scene every 60 seconds. These packets are small and the viewer only fetches texture data if it doesn't already have it. Default is false.
| * Add a scene maintenance thread in parallel to the heartbeat thread. The ↵Justin Clark-Casey (justincc)2012-03-231-14/+77
| | | | | | | | | | | | | | | | | | maintenance thread will end up running regular jobs that don't need to be in the main scene loop. The idea is to make the critical main scene loop as skinny as possible - it doesn't need to run things that aren't time critical and don't depend on update ordering. This will be done gradually over time to try and uncover any issues. Many non-criticial scene loop activities are being launched on separate threadpool threads anyway. This may also allow modules to register their own maintenance jobs without having to maintain their own timers and threads. Currently the maintenance loop runs once a second, as opposed to the 89ms scene loop.
| * Remove unnecessary shutting down check in Scene.Heartbeat(). Add some ↵Justin Clark-Casey (justincc)2012-03-231-17/+20
| | | | | | | | method doc. Rename HeartbeatThread, shuttingdown to conform to code standards.
| * Rename Scene.StartTimer() to Start() - this method no longer uses a timer. ↵Justin Clark-Casey (justincc)2012-03-231-24/+25
| | | | | | | | Comment out more effectively unused old heartbeat code.
| * Fix build breakJustin Clark-Casey (justincc)2012-03-231-1/+1
| |
| * Fix bug in ScenePresenceAnimator.RemoveAnimation() introduced in commit 1a8769eJustin Clark-Casey (justincc)2012-03-231-2/+2
| | | | | | | | Forgot to uppercase the animation name for default animations, since for some reason we store and use them in upper rather than lowercase.
| * Comment out unused scene loop restart code.Justin Clark-Casey (justincc)2012-03-231-19/+22
| | | | | | | | This has actually been unused since at least 0.7.2 due to earlier changes.
| * Use m_lastFrameTick instead of m_lastUpdate in Scene.GetHealth(). ↵Justin Clark-Casey (justincc)2012-03-231-2/+2
| | | | | | | | m_lastUpdate is no longer properly updated and is redundant anyway.
| * Add commented out section on collisions switch in Scene.SetSceneCoreDebug().Justin Clark-Casey (justincc)2012-03-231-0/+6
| | | | | | | | This was not implemented before the recent changes but should be at some point.
| * If "debug scene updates true" then print out to log when a garbage ↵Justin Clark-Casey (justincc)2012-03-211-0/+3
| | | | | | | | collection occurs.
| * Add Scene.DebugUpdates switch which, if turned on, will print out a warning ↵Justin Clark-Casey (justincc)2012-03-211-10/+32
| | | | | | | | | | | | | | when a frame updates takes longer than twice the desired time This is controlled via "debug scene updates true|false" on the region console. Also fix an oversight with "debug scene teleport true|false"
| * Incorporate scene teleporting debugging into "debug scene teleport ↵Justin Clark-Casey (justincc)2012-03-211-1/+4
| | | | | | | | true|false" command
| * Replace "scene debug true false true" console command with "scene debug ↵Justin Clark-Casey (justincc)2012-03-211-25/+30
| | | | | | | | | | | | scripting true" or other parameters as appropriate. This is to allow individual switching of scene debug settings and to provide flexibiltiy for additional settings.
| * Add ability to log warn if a frame takes longer than twice the expected ↵Justin Clark-Casey (justincc)2012-03-211-7/+14
| | | | | | | | time. Currently commented out.
| * remove unnecessary tmpFrameMS, use maintc instead for frame time calculationJustin Clark-Casey (justincc)2012-03-201-3/+2
| |
| * Move frame loop entirely within Scene.Update() for better future performance ↵Justin Clark-Casey (justincc)2012-03-201-158/+179
| | | | | | | | | | | | | | | | analysis and stat accuracy. Update() now accepts a frames parameter which can control the number of frames updated. -1 will update until shutdown. The watchdog updating moves above the maintc recalculation for any required sleep since it should be accounted for within the frame.
| * Remove some pointless catching/throwing in the scene loop.Justin Clark-Casey (justincc)2012-03-201-7/+0
| |
| * Moved HandleAvatarPickerRequest from the generic Scene.PacketHandlers to the ↵Diva Canto2012-03-171-2/+0
| | | | | | | | UserManagementModule where it belongs. No functional changes.
| * Region access control! Region operators can now specify things like ↵Diva Canto2012-03-171-2/+2
| | | | | | | | DisallowForeigners (means what it says) and DisallowResidents (means that only admins and managers can get into the region). This puts the never-completed AuthorizationService to good use. Note that I didn't implement a grid-wide Authorization service; this service implementation is done entirely locally on the simulator. This can be changed as usual by pluging in a different AuthorizationServicesConnector.
| * Terrain: added [Terrain] section with an option to load an initial flat ↵Diva Canto2012-03-161-2/+9
| | | | | | | | terrain. Default is still pinhead island. I much rather have a flat land in the beginning.
| * Fix a problem where multiple near simultaneous calls to llDie() from ↵Justin Clark-Casey (justincc)2012-03-151-10/+1
| | | | | | | | | | | | | | | | | | | | multiple scripts in the same linkset can cause unnecessary thread aborts. The first llDie() could lock Scene.m_deleting_scene_object. The second llDie() would then wait at this lock. The first llDie() would go on to remove the second script but always abort it since the second script's WorkItem would not go away. Easiest solution here is to remove the m_deleting_scene_object since it's no longer justified - we no longer lock m_parts but take a copy instead. This also requires an adjustment in XEngine.OnRemoveScript not to use instance.ObjectID instead when firing the OnObjectRemoved event.
| * Display help commander topics in capitalized form - the commands themselves ↵Justin Clark-Casey (justincc)2012-03-081-1/+1
| | | | | | | | | | | | are still lowercase. Also convert the estate commands to simply AddCommand() calls so that commands from two different modules can be placed in the same category
| * Change "help" to display categories/module list then "help ↵Justin Clark-Casey (justincc)2012-03-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | <category/module>" to display commands in a category. This is to deal with the hundred lines of command splurge when one previously typed "help" Modelled somewhat on the mysql console One can still type help <command> to get per command help at any point. Categories capitalized to avoid conflict with the all-lowercase commands (except for commander system, as of yet). Does not affect command parsing or any other aspects of the console apart from the help system. Backwards compatible with existing modules.
| * Stop individually deleting objects at the end of each ObjectTortureTest.Justin Clark-Casey (justincc)2012-03-071-28/+21
| | | | | | | | | | | | We can now do this since the entire scene and all objects within it are now successfully gc'd at the end of these tests. This greatly improves the time taken to run each test (by reducing teardown time, not the time to actually do the test work that we're interested in). Slightly simplifies config read in Scene constructor to help facilitate this.
| * Explictly close down the StatsReporter so that we can shutdown its timerJustin Clark-Casey (justincc)2012-03-061-0/+2
| | | | | | | | This is another step necessary for the scene to be garbage collected between performance tests
| * Remove outdated comment about checking attachment prims in ↵Justin Clark-Casey (justincc)2012-03-021-3/+1
| | | | | | | | Scene.PipeEventsForScript()
| * Allow a script to receive events if its root prim is in an area where it's ↵Justin Clark-Casey (justincc)2012-03-021-4/+1
| | | | | | | | | | | | | | | | allowed to run rather than checking its own prim. This allows scripts to run in child prims that are outside region boundaries. This is an interim patch applied from http://opensimulator.org/mantis/view.php?id=5899 though it does not resolve that bug Thanks tglion!
* | When loading objects from DB, first add to scene, then call ↵Dan Lake2012-03-271-1/+1
|/ | | | TriggerOnSceneObjectLoaded.
* Get rid of some of the identical exception catching in Scene.Update().Justin Clark-Casey (justincc)2012-02-241-17/+1
|
* Stop spurious scene loop startup timeout alarms for scenes with many prims.Justin Clark-Casey (justincc)2012-02-241-3/+9
| | | | | | | | On the first frame, all startup scene objects are added to the physics scene. This can cause a considerable delay, so we don't start raising the alarm on scene loop timeouts until the second frame. This commit also slightly changes the behaviour of timeout reporting. Previously, a report was made for the very first timed out thread, ignoring all others until the next watchdog check. Instead, we now report every timed out thread, though we still only do this once no matter how long the timeout.
* Try to resolve some problems with viewers crashing after hitting parcel ↵Justin Clark-Casey (justincc)2012-02-231-5/+12
| | | | | | | | | | banlines or freezing on the banline. This involves 1) On forcible teleport, call m_scene.RequestTeleportLocation() rather than ScenePresence.Teleport() - only EntityTransferModule now should call SP.Teleport() 2) When avatar is being forcibly moved due to banlines, use a 'stop movement' tolerance of 0.2 to requested position rather than 1 This prevents the avatar sometimes being stuck to banlines until they teleport somewhere else. This aims to fix some problems in http://opensimulator.org/mantis/view.php?id=5822
* Merge branch 'master' of melanie@opensimulator.org:/var/git/opensimMelanie2012-02-231-8/+2
|\
| * Remove two spurious m_sceneGraph != null checks in Scene.cs. It's set in ↵Justin Clark-Casey (justincc)2012-02-221-8/+2
| | | | | | | | constructor and never subsequent set to null.
* | Add a position parameter to region crossing of objects. This avoids theMelanie2012-02-231-1/+4
|/ | | | | | potential bad update that places an object at the opposite side of the origin sim for a moment before actually crossing it. Especially important in grids like OSG where lag between sims is high.