Robert Adams
e9c437ed0e
Correct namespace of BinaryLoggingModule (a cut-and-paste error). Add a simple, high performance logger for high frequency logging (physics sub-operations, for instance).
2012-07-20 14:02:26 -07:00
Robert Adams
c400918c84
BulletSim: Add PID variables to physical scene. Not PIDing yet, but soon.
...
Cleaned up code and got rid of compile warnings.
2012-07-20 14:02:24 -07:00
Robert Adams
f9913b6ef7
BulletSim: Add detailed and voluminous debug logging that is enabled
...
with an ini configuration parameter.
Correct computation of relative offsets of children in a linkset.
Remove a prim from any link relationship before deleting it.
Minor code flow cleanups.
2012-07-20 14:02:22 -07:00
Justin Clark-Casey (justincc)
ecf7bb268c
As per opensim-dev mailing list discussion, extend llGetDetectedType() to return OS_NPC if an OS npc is detected.
...
The detection will also return agent is the NPC has been created with the OS_NPC_SENSE_AS_AGENT option.
2012-07-20 21:36:33 +01:00
Justin Clark-Casey (justincc)
bcfc392edf
As per opensim-dev mailing list conversation, introduce OS_NPC constant for use with llSensor()
...
This same constant will later be used with llGetDetectedType().
This constant has a different name from NPC to avoid possible conflict with future LSL changes.
This constant has a different value to try and avoid unnecessary conflict with future constants that may use the same value.
Using the 'NPC' constant with llSensor() will remain valid but is deprecated.
2012-07-20 21:08:04 +01:00
Mic Bowman
a4281ca014
Enables support for UUIDs to be returned in lists from
...
modInvoke commands.
Thanks SignpostMarv!!!
2012-07-20 10:48:51 -07:00
Mic Bowman
644fb6b013
Implements a very useful OSSL function to test a string to see
...
if it is a UUID. The function is osIsUUID().
Thanks SignpostMarv!
2012-07-20 10:25:50 -07:00
Melanie
fe99948c58
Fix the order of operations on detach. The object must always be serialized
...
while still in the scene to avoid losing important script state.
DeleteSceneObject can not be called before doing this!
2012-07-20 11:54:59 +02:00
Justin Clark-Casey (justincc)
be39f03caa
minor: switch around mixed up circuit code and endpoint data in "show connections" region console command
2012-07-19 23:35:56 +01:00
Justin Clark-Casey (justincc)
d1d331a4c0
Make LLClientView instant message handling asynchronous rather than synchronous to prevent long operations from holding up all inbound packet processing.
...
Giving a large folder from one avatar to another was causing a long delay when handled synchronously, since it took some time to retrieve the necessary data from the inventory service.
Handling this asynchronously instead stops this delay from disrupting all avatars in the scene. This has been shown in OSGrid.
I see no reason for not handling all IM messages asynchronously, just as incoming chat is handled asynchronously, so this has been switched for all instant messages.
Thanks to Nebadon for testing this change out.
2012-07-19 23:20:03 +01:00
Justin Clark-Casey (justincc)
c4533e755b
Comment out OnIncomingInstantMessage and OnInstantMessage handlers in GroupsModule, since these led to a private blank method
2012-07-19 23:13:08 +01:00
Justin Clark-Casey (justincc)
e94831ddab
Stop explicitly closing and nulling out Animator in order to prevent NREs in various places due to race conditions.
...
Even where checks are being made they aren't enough since they all assume that the Animator they just checked is still there in the next line, which is not necessarily the case without locking.
The memory used is small and these should be GC'd anyway when the SP is released. If this is not happening then the wider problem of old SPs being retained needs to be resolved.
2012-07-19 22:59:28 +01:00
Justin Clark-Casey (justincc)
ccc7e75ce4
minor: remove some mono compiler warnings
2012-07-19 22:37:48 +01:00
Justin Clark-Casey (justincc)
ba80f137b5
Prevent race conditions between two threads that call LLClientView.Close() simultaneously (e.g. ack timeout and an attempt to reconnect)
2012-07-19 22:32:27 +01:00
Justin Clark-Casey (justincc)
e9a121e1b2
Add TestCreateDuplicateRootScenePresence() regression test.
2012-07-19 21:54:50 +01:00
Justin Clark-Casey (justincc)
c0ab406e2e
Add basic TestCreateRootScenePresence() regression test
2012-07-19 21:41:13 +01:00
Justin Clark-Casey (justincc)
6dda7c65ae
Add EventManager.OnRegionLoginsStatusChange fired whenever logins are enabled or disabled at any point, not just during initial startup.
...
This replaces EventManager.OnLoginsEnabled which only fired when logins were first enabled
and was affected by a bug where it would never fire if the region started with logins disabled.
2012-07-19 00:09:22 +01:00
Justin Clark-Casey (justincc)
64db0bcbd2
Add back notification to neighbouring regions when RegionReadyModule is not active accidentally just removed in 528004d
2012-07-18 23:40:00 +01:00
Justin Clark-Casey (justincc)
528004d349
Perform other region ready actions even if simulator is configured to leave logins disabled on startup.
2012-07-18 23:35:05 +01:00
Justin Clark-Casey (justincc)
1971b6bb4f
Stop the 15 second initial script compile wait if a script is being rezzed on a previously empty region.
2012-07-18 22:24:52 +01:00
Justin Clark-Casey (justincc)
d97e27434c
Fix bug where region ready would be triggered a second time if a script was rezzed on a previously script-free region.
...
There is no need to listen for OnRezScript in RegionReadyModule since OnEmptyScriptCompileQueue will only fire if scripts were compiled.
2012-07-18 22:17:39 +01:00
Justin Clark-Casey (justincc)
58b72933c8
Fix bug where region ready was being triggered twice in quick succession if a region contained no scripts.
2012-07-18 22:09:20 +01:00
Justin Clark-Casey (justincc)
4973fddc51
Establish EventManager.OnRegionReady event. This will only be triggerred once when the region is ready.
...
Switch MapImageServiceModule to use this.
2012-07-18 21:52:07 +01:00
Justin Clark-Casey (justincc)
6460e587c4
Pass entire scene object in OnLoginsEnabled event rather than just the region name.
...
This saves listeners from having to re-retrieve the scene from their own lists, which won't work anyway if multiple regions with the same name have been allowed
2012-07-18 21:29:12 +01:00
Justin Clark-Casey (justincc)
742ad5eb93
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-07-18 21:26:28 +01:00
Dan Lake
dd85d7d981
Merge branch 'master' of git://opensimulator.org/git/opensim
2012-07-18 13:07:07 -07:00
Dan Lake
0dd14ca0a3
Missing parameter in log error message was throwing exception
2012-07-18 13:05:48 -07:00
Justin Clark-Casey (justincc)
cd6d7429f8
Only listen to LoginsEnabled event in RegionReadyModule if it has been asked to disable logins until all scripts have been compiled
2012-07-18 21:03:35 +01:00
Justin Clark-Casey (justincc)
eb590becf0
Close() the ScenePresence after we've removed it from the scene graph, to cut down race conditions when another thread manages the grab the presence after some SP structures have been reset.
2012-07-18 00:14:02 +01:00
Justin Clark-Casey (justincc)
b9749d5aaf
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-07-17 23:48:53 +01:00
Justin Clark-Casey (justincc)
48a5f10be1
Revert "Revert "refactor: make llGiveInventory() use existing GetInventoryItem() method rather than iterate through TaskInventory itself.""
...
This reverts commit 59a29f5f22
.
The original revert was committed by mistake - it turns out this was not the cause of Mantis 6089
Conflicts:
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2012-07-17 23:48:09 +01:00
Justin Clark-Casey (justincc)
56870d9609
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-07-17 23:34:50 +01:00
Justin Clark-Casey (justincc)
ecb759c1e5
Fix regression where llGiveInventory() had stopped asking non-owner receivers to accept/decline.
...
This appears to be a regression from back in commit db91044
(Mon Aug 22 2011) where we started to send TaskInventoryOffered msg dialog rather than InventoryOffered dialog.
This is probably correct, but failed because the bucket was too large and because we wouldn't have handled the TaskInventoryDeclined option anyway.
This patch handles both of these and make llGiveInventoryList() use TaskInventoryOffered as well
Fixes http://opensimulator.org/mantis/view.php?id=6089
2012-07-17 23:31:38 +01:00
Justin Clark-Casey (justincc)
59a29f5f22
Revert "refactor: make llGiveInventory() use existing GetInventoryItem() method rather than iterate through TaskInventory itself."
...
This reverts commit 58b13d51a7
.
2012-07-17 22:56:21 +01:00
Melanie
c489bc1cd2
Make the scrpt running flag work properly
2012-07-17 15:00:42 +02:00
Justin Clark-Casey (justincc)
356d597296
Restore update of inventory item on derez/logout. This is necessary to update the name if this has been changed whilst attached.
...
Note, this behaviour appears to be at variance with the ll grid as of Tues 17 July 2012, testing with viewer 3.2.1.
The item name in inventory does not change either at the point of detach or after a relog.
2012-07-17 00:17:51 +01:00
Justin Clark-Casey (justincc)
b0facd147a
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-07-17 00:02:45 +01:00
Justin Clark-Casey (justincc)
b6476eaac3
Stop sending the viewer an inventory create message if a known attachment item is updated.
...
This doesn't seem to make any sense and probably stems from a period when this code was directly involved in attaching objects directly from the scene.
This message is already being sent by InventoryAccessModule code instead.
2012-07-17 00:00:26 +01:00
Melanie
2a85372169
Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim
2012-07-16 23:33:33 +01:00
Melanie
1c3b0da74a
Revert "Fix script "Running" behavior"
...
A better solution using the already present flags must be found.
This reverts commit 6d3ee8bb39
.
2012-07-16 23:31:55 +01:00
Justin Clark-Casey (justincc)
c1667d39a6
refactor: factor out common code in WebStatsModule.OnMakeRootAgent()
2012-07-16 23:15:02 +01:00
Justin Clark-Casey (justincc)
217f47b0d5
In WebStatsModule.OnMakeRootAgent(), get region ID directly from SP.Scene.RegionInfo.RegionID instead of manually looking it up from the stored scene list.
2012-07-16 23:09:48 +01:00
Justin Clark-Casey (justincc)
ed14dac0a3
Stop warning about no session from ViewerStats if user teleports to another region in the same simulator that was not next to the source region.
...
This was because teleporting to the new region invoked the new session setup code before the agent was removed from the old region, which then invoked the session teardown code.
Now, we only invoke the teardown code if the region ID occupied by the agent being removed is the same as the one registered for the current session.
2012-07-16 23:03:23 +01:00
SignpostMarv
ee7478fa16
sending more user-friendly messages to the script error window rather than the thrown exceptions.
...
Signed-off-by: Melanie <melanie@t-data.com>
2012-07-16 21:32:38 +01:00
dahlia
5d3723a47f
update PrimMesher.cs to dll version r72 which fixes some path errors in sliced linear prims. Addresses Mantis #6085
2012-07-13 21:22:15 -07:00
SignpostMarv
84b7ae2573
acting on feedback from justincc
2012-07-14 01:45:34 +01:00
SignpostMarv
423101b425
acting on feedback from justincc
2012-07-14 01:45:34 +01:00
SignpostMarv
e3453dd9ca
added in some extra variables, it sometimes thinks it is on the same parcel :(
...
Signed-off-by: SignpostMarv <github@signpostmarv.name>
2012-07-14 01:45:34 +01:00
SignpostMarv
b6cd3b625e
adding workaround for silent failure if position is outside the bounds of a region, implementing parcel prim count check.
...
Signed-off-by: SignpostMarv <github@signpostmarv.name>
2012-07-14 01:45:34 +01:00
SignpostMarv
8d59385eea
Implementation of llSetRegionPos(). Does not implement failure on object entry/prim limit/access restrictions.
...
Signed-off-by: SignpostMarv <github@signpostmarv.name>
2012-07-14 01:45:34 +01:00
Justin Clark-Casey (justincc)
ec6a195e40
When generating a Warp3D texture, set the detailTexture[i] variable on resize from the JPEG2000 original rather than only saving it to disk.
...
This appears to be the cause of the warp 3d exception seen when starting a new region for the first time.
Subsequent starts were okay because resized saved bitmap was correctly retrieved from disk.
Should fix http://opensimulator.org/mantis/view.php?id=5204 and http://opensimulator.org/mantis/view.php?id=5272
2012-07-14 01:11:30 +01:00
Justin Clark-Casey (justincc)
2954ceccae
Remove a callstack print out I accidentally left in 2 commits ago in 9ccb578
2012-07-13 01:08:49 +01:00
Justin Clark-Casey (justincc)
884d603cac
Rather than instantiating a UTF8 encoding everywhere when we want to supress the BOM, use a single Util.UTF8NoBomEncoding.
...
This class is thread-safe (as evidenced by the provision of the system-wide Encoding.UTF8 which does not suppress BOM on output).
2012-07-13 01:03:28 +01:00
Justin Clark-Casey (justincc)
9ccb578721
Don't cache regions data on the other unused LocalGridServiceConnector that the module code still sets up even if we're using one directly instantiated from the RemoteGridServiceConnector.
...
Also improves log messages to indicate which regions are sending/receiving various neighbour protocol messages.
2012-07-13 00:44:00 +01:00
Justin Clark-Casey (justincc)
d6f54b25cd
Stop redundantly passing in the endpoint to the LLClientView constructor.
...
This can always be retrieved via the LLUDPClient and is so done in various places already.
2012-07-12 23:48:42 +01:00
Justin Clark-Casey (justincc)
dda999a22c
Remove IClientIPEndpoint client interface for now.
...
This may well come back in the future when this subinterface is actually used but it currently isn't and I feel the name was poor.
Everything uses IClientAPI.RemoveEndPoint which also returned the full endpoint rather than just the ip address.
2012-07-12 23:43:02 +01:00
Justin Clark-Casey (justincc)
3b3d9967b1
Remove IClientAPI.GetClientEP() in favour of existing identical IClientAPI.RemoteEndpoint.
2012-07-12 23:29:57 +01:00
Justin Clark-Casey (justincc)
75ab9b4b88
Change very recent AllowedViewerList and BannedViewerList config setting names in OpenSim.ini.example to AllowedClients and BannedClients to match long-existing settings in [LoginService]
...
Also changes separator from comma to bar to match existing [LoginService] config features.
Divergence of config names for identical facilities in different places makes for an unnecessarily confusing user experience.
2012-07-12 23:18:30 +01:00
Justin Clark-Casey (justincc)
15283d35f1
Extend "show circuits" to show circuit code, ip and viewer name.
...
Also change to use standard table formatting
"show circuits" and "show connections" console commands are very similar but access different data structures.
2012-07-12 23:09:36 +01:00
Justin Clark-Casey (justincc)
6a0de355e0
Add active status to "show connections"
2012-07-12 22:37:48 +01:00
Justin Clark-Casey (justincc)
65a25ee510
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-07-12 22:35:38 +01:00
Justin Clark-Casey (justincc)
ca412032e8
Put output for "show connections" command into standard table format.
...
Also moves into own method.
2012-07-12 21:36:33 +01:00
Robert Adams
743437262e
Many explanitory comments added to the link and delink code in
...
SOG and SOP. Should have no functionality changes.
2012-07-11 16:12:38 -07:00
Justin Clark-Casey (justincc)
916e3bf886
Where possible, use the system Encoding.ASCII and Encoding.UTF8 rather than constructing fresh copies.
...
The encodings are thread-safe and already used in such a manner in other places.
This isn't done where Byte Order Mark output is suppressed, since Encoding.UTF8 is constructed to output the BOM.
2012-07-11 22:54:22 +01:00
Justin Clark-Casey (justincc)
33cff9b9d7
Allow XEngine StartDelay to be configured in the [XEngine] config section.
...
This is only currently meant for use by regression tests that don't have any issues if XEngine is started up quickly, since no other operations will be occuring simultaneously.
Therefore, this is not yet documented externally.
2012-07-11 21:55:18 +01:00
Justin Clark-Casey (justincc)
0e611c47d3
Remove WorldComm module from the regression TestCompileAndStartScript() since the infrastructure no longer fails if this module isn't present, at least on the tested codepaths
2012-07-11 21:46:46 +01:00
Justin Clark-Casey (justincc)
fc24563206
Add regression TestDetachScriptedAttachmentToInventory()
...
This currently only does a relatively crude check for a ScriptState node in the serialized xml
2012-07-11 21:43:35 +01:00
Justin Clark-Casey (justincc)
14d05dc2a9
Add regression TestRezScriptedAttachmentsFromInventory() though this currently only checks for the presence of script items, not for started scripts
2012-07-11 19:54:40 +01:00
Justin Clark-Casey (justincc)
337ea019bd
If a part has a sit target and an avatar is already sitting, allow another avatar to sit in the position given if no sit target was set.
...
Previous behave was that the second avatar could not sit.
This matches behaviour observed on the LL grid.
2012-07-10 23:55:22 +01:00
Justin Clark-Casey (justincc)
cdea572d2e
refactor: move management of SOP.SitTargetAvatar into SOP.AddSittingAvatar() and SOP.RemoveSittingAvatar()
2012-07-10 23:50:04 +01:00
Justin Clark-Casey (justincc)
11e0ad6dc8
Revert "refactor: Add SOP.IsSitTargetOccupied to improve readability"
...
This reverts commit c8f0d476d2
.
On reconsideration, I think this is less readable since immediately following code still sets SitTargetAvatar directly
2012-07-10 23:39:05 +01:00
Justin Clark-Casey (justincc)
c8f0d476d2
refactor: Add SOP.IsSitTargetOccupied to improve readability
2012-07-10 23:34:40 +01:00
Justin Clark-Casey (justincc)
69a6f6e3cd
refactor: use sit orientation argument passed in to SP.SendSitResponse() rather than creating a new copy
...
There are no issues with side-effects since this is a struct.
2012-07-10 23:26:40 +01:00
Justin Clark-Casey (justincc)
e8347b7095
Move common code to detect whether a part has a valid sit target into a SOP property rather than being repeated in SP.
...
This also makes the detection in SP.FindNextAvailableSitTarget() and SendSitResponse() identical.
Previously they varied slightly (SendSitResponse didn't check for an older type of invalid quaternion) but the practical effect is most probably zero.
2012-07-10 23:21:39 +01:00
Justin Clark-Casey (justincc)
506437b684
Remove log line accidentally left in SP.SendSitResponse()
2012-07-10 23:06:34 +01:00
Justin Clark-Casey (justincc)
9f01c3d408
Disable logging in regression test in OSSL_ApiAttachmentTests
2012-07-10 23:04:44 +01:00
Justin Clark-Casey (justincc)
58869e5aa0
Fix recent SOP.GetSittingAvatars() to return null if there are no sitting avatars rather than throwing an exception.
...
Extends sitting avatar regression tests to test new sitters information
2012-07-10 23:03:52 +01:00
Justin Clark-Casey (justincc)
f3134b5cf6
When an attachment is detached to inv or derezzed, stop the scripts, update the known item with script state still in the script engine and then remove the scripts.
...
This is to fix a regression starting from 5301648
where attachments had to start being deleted before persistence in order to avoid race conditions with hud update threads.
2012-07-10 22:41:11 +01:00
Justin Clark-Casey (justincc)
eb5ec4a786
If a script is being stopped manually, then give the scriptpool thread 1 second to finish normally before forcibly aborting.
...
This is to avoid the worst of the problems in mono 2.6, 2.10 where an aborted thread does not always release all its locks.
This very short grace period is identical to the existing behaviour when a script is removed from the scene.
2012-07-10 21:42:51 +01:00
Justin Clark-Casey (justincc)
c8af20f966
This script allows an object to be attached directly from prim inventory to another avatar in the scene.
...
Very useful in serious game/environment scenarios where its only allowed for trusted creators.
Threat level Severe
2012-07-09 23:08:41 +01:00
Justin Clark-Casey (justincc)
d6f563794e
Don't allow a prim to be sat upon if its part of an attachment
2012-07-09 21:43:44 +01:00
Justin Clark-Casey (justincc)
2eaa6d5ace
Do not allow a script to attach a prim if its being sat upon.
...
This prevents a stack overflow where a get position on the avatar will refer to the attachment which will in turn refer back to the avatar.
This required recording of all sitting avatars on a prim which is done separately from recording the sit target avatar.
Recording HashSet is null if there are no sitting avatars in order to save memory.
2012-07-09 21:24:32 +01:00
Justin Clark-Casey (justincc)
112cddc9ca
minor: rearrange INITIALIZATION COMPLETE log message so that it's clear init is only complete for a particular region at a time
2012-07-07 00:53:17 +01:00
Justin Clark-Casey (justincc)
16d5b79d57
minor: remove some recent mono compiler warnings
2012-07-07 00:36:01 +01:00
Justin Clark-Casey (justincc)
1201307c73
Remove duplicate Warp3DImageModule entry in CoreModulePlugin.addin.xml
...
This was causing 2 copies of the module to be created for each scene.
Probably no bad consequences other than a small waste of memory (both for the module and for the warp3D renderer it loaded)
2012-07-07 00:26:25 +01:00
Justin Clark-Casey (justincc)
a85741ac37
minor: Make WORLD MAP category log lines consistent
2012-07-07 00:14:16 +01:00
Justin Clark-Casey (justincc)
3bd134474b
minor: Get RegionReady module to shout initialization complete status to draw the eye
2012-07-07 00:09:33 +01:00
Justin Clark-Casey (justincc)
b19ead5f9e
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-07-07 00:05:16 +01:00
Justin Clark-Casey (justincc)
7ff4eec79c
Remove redundant SetScene() function in Scene.AddSceneObject()
...
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-07 00:02:45 +01:00
Robert Adams
7aff238eee
Merge branch 'bulletsim2'
...
Cleanup preceeding major work. No major functional changes.
Collisions reported to simulator more efficiently.
BulletSim binaries updated using a more recent version of Bullet (v2.80-r2527).
2012-07-06 15:59:09 -07:00
Justin Clark-Casey (justincc)
f1f390cfdf
Remove now duplicate interregion object check that should have been removed a few commits ago in 43a2da9
2012-07-06 23:22:40 +01:00
Justin Clark-Casey (justincc)
74014a3854
minor: Remove some wrong comments in attachments regression tests
2012-07-06 23:13:00 +01:00
Robert Adams
e4a6611865
Clean up collision reporting code so they are properly passed to
...
the simulator in batches.
More comments.
2012-07-06 15:09:19 -07:00
Justin Clark-Casey (justincc)
056c9a59b2
Add assert to attachment regression tests to check that number of objects in the scene graph
2012-07-06 23:07:50 +01:00
Talun
ae1f2114f5
Mantis 6077 trim NPC chat on channel zero.
...
This patch trims leading and trailing spaces from NPC chat and
suppresses the sending of empty chat strings on open chat channel 0.
2012-07-06 22:49:18 +01:00
Talun
1b1f841c6a
Mantis 6063 osNpcTouch.
...
Allow NPCS to touch obects.
2012-07-06 22:37:19 +01:00
Justin Clark-Casey (justincc)
43a2da9edb
Pull prim crossing/teleport checks up into Scene.IncomingCreateObject() from Scene.AddObject()
...
Only IncomingCreateObject() needs these checks. General object adding does not need to perform crossing perm checks
2012-07-06 22:33:16 +01:00
Justin Clark-Casey (justincc)
f6e5791ecd
refactor: extract method UpdateUserInventoryWithAttachment() from AttachObject() for better code comprehension
2012-07-06 22:07:19 +01:00
Justin Clark-Casey (justincc)
843112340e
Log MONO_THREADS_PER_CPU value on simulator startup, or "unset" if it is not set
2012-07-06 00:37:45 +01:00
Justin Clark-Casey (justincc)
8674604ff5
regrade osFormatString, osMatchString and osReplaceString to VeryLow.
...
I can't see that these present any real hazard to sim functioning.
2012-07-05 21:10:59 +01:00