aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-03-27HG: Switch root folders from under the viewer. Towards HG 2.0. This is ↵Diva Canto1-4/+11
guarded by an obscure config that no one but me should be using at this point.
2012-03-27When loading objects from DB, first add to scene, then call ↵Dan Lake1-1/+1
TriggerOnSceneObjectLoaded.
2012-03-27HG: beginning of a more restrictive inventory access procedure (optional). ↵Diva Canto1-0/+8
Experimental: we'll try switching the root folder from under the viewer.
2012-03-23Comment out log message about sending periodic appearance updates.Justin Clark-Casey (justincc)1-2/+2
2012-03-23Add experimental SendPeriodicAppearanceUpdates = true/false setting to ↵Justin Clark-Casey (justincc)1-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.
2012-03-23Add a scene maintenance thread in parallel to the heartbeat thread. The ↵Justin Clark-Casey (justincc)1-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.
2012-03-23Remove unnecessary shutting down check in Scene.Heartbeat(). Add some ↵Justin Clark-Casey (justincc)1-17/+20
method doc. Rename HeartbeatThread, shuttingdown to conform to code standards.
2012-03-23Rename Scene.StartTimer() to Start() - this method no longer uses a timer. ↵Justin Clark-Casey (justincc)1-24/+25
Comment out more effectively unused old heartbeat code.
2012-03-23Fix build breakJustin Clark-Casey (justincc)1-1/+1
2012-03-23Fix bug in ScenePresenceAnimator.RemoveAnimation() introduced in commit 1a8769eJustin Clark-Casey (justincc)1-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.
2012-03-23Comment out unused scene loop restart code.Justin Clark-Casey (justincc)1-19/+22
This has actually been unused since at least 0.7.2 due to earlier changes.
2012-03-23Use m_lastFrameTick instead of m_lastUpdate in Scene.GetHealth(). ↵Justin Clark-Casey (justincc)1-2/+2
m_lastUpdate is no longer properly updated and is redundant anyway.
2012-03-23Add commented out section on collisions switch in Scene.SetSceneCoreDebug().Justin Clark-Casey (justincc)1-0/+6
This was not implemented before the recent changes but should be at some point.
2012-03-21If "debug scene updates true" then print out to log when a garbage ↵Justin Clark-Casey (justincc)1-0/+3
collection occurs.
2012-03-21Add Scene.DebugUpdates switch which, if turned on, will print out a warning ↵Justin Clark-Casey (justincc)1-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"
2012-03-21Incorporate scene teleporting debugging into "debug scene teleport ↵Justin Clark-Casey (justincc)1-1/+4
true|false" command
2012-03-21Replace "scene debug true false true" console command with "scene debug ↵Justin Clark-Casey (justincc)1-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.
2012-03-21Add ability to log warn if a frame takes longer than twice the expected ↵Justin Clark-Casey (justincc)1-7/+14
time. Currently commented out.
2012-03-20remove unnecessary tmpFrameMS, use maintc instead for frame time calculationJustin Clark-Casey (justincc)1-3/+2
2012-03-20Move frame loop entirely within Scene.Update() for better future performance ↵Justin Clark-Casey (justincc)1-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.
2012-03-20Remove some pointless catching/throwing in the scene loop.Justin Clark-Casey (justincc)1-7/+0
2012-03-17Moved HandleAvatarPickerRequest from the generic Scene.PacketHandlers to the ↵Diva Canto1-2/+0
UserManagementModule where it belongs. No functional changes.
2012-03-17Region access control! Region operators can now specify things like ↵Diva Canto1-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.
2012-03-16Terrain: added [Terrain] section with an option to load an initial flat ↵Diva Canto1-2/+9
terrain. Default is still pinhead island. I much rather have a flat land in the beginning.
2012-03-15Fix a problem where multiple near simultaneous calls to llDie() from ↵Justin Clark-Casey (justincc)1-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.
2012-03-08Display help commander topics in capitalized form - the commands themselves ↵Justin Clark-Casey (justincc)1-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
2012-03-08Change "help" to display categories/module list then "help ↵Justin Clark-Casey (justincc)1-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.
2012-03-07Stop individually deleting objects at the end of each ObjectTortureTest.Justin Clark-Casey (justincc)1-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.
2012-03-06Explictly close down the StatsReporter so that we can shutdown its timerJustin Clark-Casey (justincc)1-0/+2
This is another step necessary for the scene to be garbage collected between performance tests
2012-03-02Remove outdated comment about checking attachment prims in ↵Justin Clark-Casey (justincc)1-3/+1
Scene.PipeEventsForScript()
2012-03-02Allow a script to receive events if its root prim is in an area where it's ↵Justin Clark-Casey (justincc)1-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!
2012-02-24Get rid of some of the identical exception catching in Scene.Update().Justin Clark-Casey (justincc)1-17/+1
2012-02-24Stop spurious scene loop startup timeout alarms for scenes with many prims.Justin Clark-Casey (justincc)1-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.
2012-02-23Try to resolve some problems with viewers crashing after hitting parcel ↵Justin Clark-Casey (justincc)1-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
2012-02-23Add a position parameter to region crossing of objects. This avoids theMelanie1-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.
2012-02-22Remove two spurious m_sceneGraph != null checks in Scene.cs. It's set in ↵Justin Clark-Casey (justincc)1-8/+2
constructor and never subsequent set to null.
2012-02-21Fix bug where NPCs would establish child agents on other neighbour regions ↵Justin Clark-Casey (justincc)1-15/+14
that had come up after the NPC was created.
2012-02-19Use localy defined name, TPFlags, for Constants.TeleportFlagsBlueWall1-6/+6
2012-02-18Route logins according to Estate, Telehub and TeleportFlagsBlueWall1-2/+4
2012-02-18Propagate our teleport flags on loginsBlueWall1-1/+4
2012-02-17Fix missing telehub handling on loginBlueWall1-0/+21
2012-02-14Add some more data to the new user connection logging for debug purposes.Justin Clark-Casey (justincc)1-3/+3
2012-02-04change NonPhysicalPrimMax to NonphysicalPrimMax in Scenes.cs to make thenebadon1-1/+1
variable in OpenSim.ini and Regions.ini match
2012-02-02ObjectAddedToScene event should be fired when duplicating objectsDan Lake1-4/+22
2012-02-01Add event RegionHeartbeatEnd for modules interested in coordinating activity ↵Dan Lake1-10/+12
with region heartbeats
2012-02-01Small optimization to last commitMelanie1-5/+5
2012-02-01Fix copy/paste errorsMelanie1-2/+2
2012-02-01Straighten out some attachment mess. Don't save attachment states for HGMelanie1-1/+11
visitors at all. On Leaving a sim, save only the changed ones. Don't save all scripted stuff when leaving a sim.
2012-01-31Move object delete commands into a commands region module, in preparation ↵Justin Clark-Casey (justincc)1-104/+0
for adding similar show commands.
2012-01-31Add torture tests to test adding 10,000, 100,000 and 200,000 single prim ↵Justin Clark-Casey (justincc)1-0/+2
scene objects. These can be run using the "nant torture" target. They are not part of "nant test" due to their long-run future nature. Such tests are designed to do some testing of extreme situations and give some feedback on memory usage, etc. However, data can be inconsistent due to different machine circumstances and virtual machine actions. This area is under development.