aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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-232-3/+3
| | | | 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.
* refactor: simplify code for checks when part.OwnerID != destPart.OwnerID in ↵Justin Clark-Casey (justincc)2012-03-221-11/+8
| | | | MoveTaskInventoryItem()
* Fix llGiveInventory() so that it checks the destination part for ↵Justin Clark-Casey (justincc)2012-03-221-5/+5
| | | | | | | AllowInventoryDrop, not the source. This allows llAllowInventoryDrop() to work. Regression test added for this case.
* Add llGiveInventory() test from object to object where both objects are ↵Justin Clark-Casey (justincc)2012-03-223-6/+17
| | | | owned by the same user.
* Revert "Simple build permissions feature. NOTE: EXPERIMENTAL, DISABLED BY ↵Melanie2012-03-221-17/+0
| | | | | | DEFAULT. Turns out that this can't be expressed by cascading Permission modules, so I did it as per this patch." This reverts commit 6146e7ef258b10888ad7464b72b75cca701e02c9.
* Simple build permissions feature. NOTE: EXPERIMENTAL, DISABLED BY DEFAULT. ↵Diva Canto2012-03-221-0/+17
| | | | Turns out that this can't be expressed by cascading Permission modules, so I did it as per this patch.
* refactor: Rename AvatarAnimations -> DefaultAvatarAnimations for code ↵Justin Clark-Casey (justincc)2012-03-223-6/+6
| | | | clarity since non-default animations are handled completely separately from this class
* Instead of loading default avatar animations in both SLUtil and ↵Justin Clark-Casey (justincc)2012-03-213-24/+79
| | | | | | | | AvatarAnimations, load just in AvatarAnimations instead. This lets us remove the dependency of OpenSim.Framework.dll on data/avataranimations.xml, which is not necessary for ROBUST. This commit also takes care of the odd situation where animations are stored and used internally with uppercase names (e.g. "STAND") but scripts refer to them with lowercase names (e.g. "sit").
* 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-212-2/+5
| | | | 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
|
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJustin Clark-Casey (justincc)2012-03-201-1/+1
|\
| * slight increase in jump power to make running jump slightly better.nebadon2012-03-201-1/+1
| |
* | Move frame loop entirely within Scene.Update() for better future performance ↵Justin Clark-Casey (justincc)2012-03-204-168/+191
|/ | | | | | | | 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.
* reduce avatar verticle jump from the absurd 5 meter jump to a lessnebadon2012-03-201-1/+1
| | | | | absurd 3m vertical jump to better match what you would see in Second Life and be more in line with what users would expect.
* Remove pointless ThreadAbortException catching in a test that isn't run anyway.Justin Clark-Casey (justincc)2012-03-201-11/+5
|
* Remove some pointless catching/throwing in the scene loop.Justin Clark-Casey (justincc)2012-03-201-7/+0
|
* Add some doc about the EventManager.OnLoginsEnabled event.Justin Clark-Casey (justincc)2012-03-191-0/+7
|
* Moved HandleAvatarPickerRequest from the generic Scene.PacketHandlers to the ↵Diva Canto2012-03-172-55/+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-162-18/+53
| | | | terrain. Default is still pinhead island. I much rather have a flat land in the beginning.
* Aggregate script execution times by linksets rather than individual prims.Justin Clark-Casey (justincc)2012-03-161-1/+4
| | | | This is for the top scripts report.
* Replace script-lines-per-second with the script execution time scaled by its ↵Justin Clark-Casey (justincc)2012-03-163-39/+10
| | | | | | | | | | | measurement period and an idealised frame time. The previous lines-per-second measurement used for top scripts report was inaccurate, since lines executed does not reflect time taken to execute. Also, every fetch of the report would reset all the numbers limiting its usefulness and we weren't even guaranteed to see the top 100. The actual measurement value should be script execution time per frame but XEngine does not work this way. Therefore, we use actual script execution time scaled by the measurement period and an idealised frame time. This is still not ideal but gives reasonable results and allows scripts to be compared. This commit moves script execution time calculations from SceneGraph into IScriptModule implementations.
* Adds a new script command 'modInvoke' to invoke registered functionsMic Bowman2012-03-151-0/+10
| | | | | | | | | from region modules. The LSL translator is extended to generate the modInvoke format of commands for directly inlined function calls. A region module can register a function Test() with the name "Test". LSL code can call that function as "Test()". The compiler will translate that invocation into modInvoke("Test", ...)
* 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.
* More on HG inventory transfers. Move the FireAndForget higher up.Diva Canto2012-03-091-1/+1
|
* Simplify minimap coarse location code by just reference SP.AbsolutePositionJustin Clark-Casey (justincc)2012-03-091-5/+1
| | | | This is rather than checking whether the avatar is sitting and doing its own calculation.
* Get rid of unnecessary ParentID == 0 check on SP.Get_AbsolutePosition since ↵Justin Clark-Casey (justincc)2012-03-091-2/+2
| | | | this is handled by the necessary ParentPart check
* Use SP.ParentPart instead of ParentID in places where it's more efficient ↵Justin Clark-Casey (justincc)2012-03-092-32/+18
| | | | | | | (saving extra null checks, etc.) However, it looks like we should retain SP.ParentID since it's much easier to use that in places where another thread could change ParentPart to null. Otherwise one has to clumsily put ParentPart in a reference, etc. to avoid a race.
* refactor: cleanup SP.HandleAgentSit so that everything is done within one if ↵Justin Clark-Casey (justincc)2012-03-091-15/+8
| | | | (part != null), rather than having unnecessary multiple checks
* Remove a race condition from SP.Set_AbsolutePosition where we assume the ↵Justin Clark-Casey (justincc)2012-03-091-5/+5
| | | | | | ParentPart is still not null if the ParentID != 0 Another thread could come in and stand the avatar between those two instructions.
* Hold a ref to the prim we're sat on rather than querying scene each timeMelanie2012-03-081-27/+29
| | | | the check for significant is carried out. Prevents a deadlock condition.
* 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
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJustin Clark-Casey (justincc)2012-03-081-4/+1
|\
| * Always zero the PhysActor on dupes to prevent side effects on the orignal primMelanie2012-03-071-4/+1
| |
* | Change "help" to display categories/module list then "help ↵Justin Clark-Casey (justincc)2012-03-082-8/+65
|/ | | | | | | | | | | <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.
* Add documentation to make more explicit the difference between OnRezScript ↵Justin Clark-Casey (justincc)2012-03-071-5/+20
| | | | | | | and OnNewScript in the event manager OnNewScript fires when a script is added to a scene OnRezScript fires when the script actually runs (i.e. after permission checks, state retrieval, etc.)