| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
[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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
method doc. Rename HeartbeatThread, shuttingdown to conform to code standards.
|
|
|
|
| |
Comment out more effectively unused old heartbeat code.
|
| |
|
|
|
|
| |
Forgot to uppercase the animation name for default animations, since for some reason we store and use them in upper rather than lowercase.
|
|
|
|
| |
This has actually been unused since at least 0.7.2 due to earlier changes.
|
|
|
|
| |
m_lastUpdate is no longer properly updated and is redundant anyway.
|
|
|
|
| |
This was not implemented before the recent changes but should be at some point.
|
|
|
|
| |
MoveTaskInventoryItem()
|
|
|
|
|
|
|
| |
AllowInventoryDrop, not the source.
This allows llAllowInventoryDrop() to work.
Regression test added for this case.
|
|
|
|
| |
owned by the same user.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Turns out that this can't be expressed by cascading Permission modules, so I did it as per this patch.
|
|
|
|
| |
clarity since non-default animations are handled completely separately from this class
|
|
|
|
|
|
|
|
| |
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").
|
|
|
|
| |
collection occurs.
|
|
|
|
|
|
|
| |
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"
|
|
|
|
| |
true|false" command
|
|
|
|
|
|
| |
scripting true" or other parameters as appropriate.
This is to allow individual switching of scene debug settings and to provide flexibiltiy for additional settings.
|
|
|
|
| |
time. Currently commented out.
|
| |
|
|\ |
|
| | |
|
|/
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
absurd 3m vertical jump to better match what you would see in Second
Life and be more in line with what users would expect.
|
| |
|
| |
|
| |
|
|
|
|
| |
UserManagementModule where it belongs. No functional changes.
|
|
|
|
| |
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. Default is still pinhead island. I much rather have a flat land in the beginning.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
This is rather than checking whether the avatar is sitting and doing its own calculation.
|
|
|
|
| |
this is handled by the necessary ParentPart check
|
|
|
|
|
|
|
| |
(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.
|
|
|
|
| |
(part != null), rather than having unnecessary multiple checks
|
|
|
|
|
|
| |
ParentPart is still not null if the ParentID != 0
Another thread could come in and stand the avatar between those two instructions.
|
|
|
|
| |
the check for significant is carried out. Prevents a deadlock condition.
|
|
|
|
|
|
| |
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
|
|\ |
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
| |
<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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.)
|
| |
|
|
|
|
| |
This is another step necessary for the scene to be garbage collected between performance tests
|