Commit Graph

5873 Commits

Author SHA1 Message Date
Justin Clarke Casey
2c7ac33650 * test: Add basic synchronous object remove test 2008-11-12 20:35:35 +00:00
Justin Clarke Casey
cec112c87a * refactor: as per a recent opensim-dev thread, rename InnerScene to SceneGraph to make it more descriptive of its intended function 2008-11-12 20:16:46 +00:00
Justin Clarke Casey
b636bb0f9e * Stop the pointless passing of a scene's own region handler back to it in region comms
* Some scene methods ignored it, others did nothing if the region handler given did not match their own (which would never be triggered)
2008-11-12 19:12:33 +00:00
Justin Clarke Casey
e2ab576572 * Stop locking the scene presences dictionary for the entire agent crossing part of the login sequence
* This may alleviate a little the freezing experienced by existing avatars when a new client logs in
* Race condition risks look minimal since one wouldn't expect another thread to start fiddling with that presence
2008-11-12 18:12:18 +00:00
Dr Scofield
4b5e09a36b From: Alan Webb (alan_webb@us.ibm.com)
Fix the broken llSetTimerEvent implementation (sec == 0 was not
possible anymore).
2008-11-12 11:02:55 +00:00
Melanie Thielker
c71f0899c2 Revamp inventory transfer module, step 1. Inventory will now be saved if
destination user is offline/out of range. No more eternal cache is needed
for tracking IDs. Code cleanup. Removed some casts from IScene to Scene.
Decline now properly places item in trash rather than deleting it outright.
2008-11-12 06:22:31 +00:00
Teravus Ovares
c453a41fb5 * Set defaults on the allowed LSL Compilers to 'lsl' unless you've specified otherwise. 2008-11-12 04:49:06 +00:00
Melanie Thielker
c34805d573 Add the missing bits that got lost in the prim clamping commit. This should
actually make it work
2008-11-12 01:40:38 +00:00
Justin Clarke Casey
70ad3ecd5e * Create TestScene to get at the async object deleter for use in a future test 2008-11-11 21:31:39 +00:00
Justin Clarke Casey
a814ac3d67 * Put an Enabled switch on the async object deleter for future testing purposes 2008-11-11 20:33:29 +00:00
Melanie Thielker
47a5d71b7e Prevent pieces from other people's HUDs from displaying at the center of
every user's HUD
2008-11-11 19:08:59 +00:00
Justin Clarke Casey
4245cd90de minor: refactor some SceneTests code for future tests 2008-11-11 18:21:43 +00:00
Adam Frisby
1493f7349f * Minor typing fixes in AssetCache - now uses base types for nearly everything.
* Code Cleanliness Fixes in LLClientView
* Using field instead of local variable for handlerUpdatePrimGroupRotation (if you notice any new oddities with prim group rotation after this patch, please mantis)
2008-11-11 17:48:36 +00:00
Justin Clarke Casey
97816f8c90 * Implement basic region filtering as described in https://lists.berlios.de/pipermail/opensim-dev/2008-November/003468.html
* This is done by sending a 'major interface version' number on sim registration.  Developers must increment this every time they make a change that would make the previous 
OpenSim revision failure incompatible with the new one (non-fatal incompatibilities are fine).
* This number resides in OpenSim.Framework.Servers.VersionInfo.MajorInterfaceVersion
* This allows the grid service to stop older, incompatible regions from connecting
2008-11-11 17:02:46 +00:00
Charles Krinke
851b72570a Mantis#2604. Thank you kindly, Diva for a patch that:
This patch changes a couple of methods in Scene.Inventory to virtual, 
so they can be overridden in subclasses. DeleteToInventory now returns 
the UUID of the newly created asset, so that further actions on it can 
be pursued in subclasses. This will make my life easier for making 
inventory accessible in the hypergrid.
2008-11-11 15:18:16 +00:00
Mike Mazur
32b9975468 If the proxy is on, we need to ignore the extra 6 bytes in the packet. 2008-11-11 03:41:28 +00:00
Melanie Thielker
89570e1637 Add ClampPrimSize option to ensure no prim can exceed the set size. This
will allow people who don't want megaprims in their sim to prevent them
from being created. Any prim rezzed or pulled across the border will be
clamped to the size specified in OpenSim.ini if this option is set.
2008-11-11 03:10:28 +00:00
Melanie Thielker
7af1afb6df Fix a nullref in attachment packing 2008-11-11 02:24:33 +00:00
Melanie Thielker
302d65569f Allow gods to terraform without limits. Respect the Allow Others To
Terraform flag in land.
2008-11-11 01:47:40 +00:00
Melanie Thielker
7eda940e7f Fix llList2Integer to have the same semantics as an (integer) cast. Handle
mixed number/letter content properly.
2008-11-11 01:02:48 +00:00
Jeff Ames
5276c4bdf8 Update svn properties, minor formatting cleanup. 2008-11-11 00:52:47 +00:00
Teravus Ovares
d145700115 * Commit allows downloading of the .raw terrain from the estate tools.
* Implements the SendInitiateDownload method in IClientAPI 
* Uses the ITerrainModule Interface to write a terrain file to disk then uses a FileStream to read the binary file from the disk and put it in a byte array. and save to the xFer list.
* It then tells the client to download the file and the client initiates an Xfer request.
2008-11-10 23:56:58 +00:00
Justin Clarke Casey
4c731dd44e * Remove mono warnings
* Remove duplicate test part
2008-11-10 21:12:53 +00:00
Justin Clarke Casey
0bda2cf5bc * refactor: clean up SOG xml2 reloading to reuse more code 2008-11-10 21:06:26 +00:00
Melanie Thielker
58e74b554f Restore the independent LocalID numbering for avatars. Fixes an issue where
it becomes impossible to cross back into a region you came from, or freeze
several seconds after region crossings.
2008-11-10 20:58:24 +00:00
Justin Clarke Casey
b044a0f139 * refactor: Make xml (orig format) loading method reuse existing set root part method
* miscellaneous doc/log message changes
2008-11-10 20:54:34 +00:00
Sean Dague
d52946dd0d fix unit tests use SetRootPart now
From: Sean Dague <sdague@gmail.com>
2008-11-10 20:46:47 +00:00
Sean Dague
03382c55cb make things compile, but the test still fails because of the root part
changes
2008-11-10 20:42:23 +00:00
Sean Dague
60299d172b Lock tests on EntityList.cs, multithreaded object addition
and removal.

From: Arthur Rodrigo S Valadares <arthursv@linux.vnet.ibm.com>
2008-11-10 20:28:57 +00:00
Justin Clarke Casey
13cf89bf3b * minor: remove useless exception catch 2008-11-10 20:10:23 +00:00
Justin Clarke Casey
0e180b0ad3 * refactor: Expose SOG.SetRootPart for outsiders to use rather than setting RootPart and adding the part separately
* Make RootPart read only
2008-11-10 20:04:55 +00:00
Homer Horwitz
014eb26426 Removed some debug output I forgot to remove... 2008-11-10 19:55:30 +00:00
Justin Clarke Casey
adf1c40ba3 * Take out the 1 second sleep debugging line in ScenePresence 2008-11-10 19:48:06 +00:00
Justin Clarke Casey
2d89e562d7 * Refactor the callers of SOG.SetPartAsRoot() to use common code 2008-11-10 19:47:13 +00:00
Justin Clarke Casey
c220b4b8b4 * minor: Remove old dead and buried datastore code 2008-11-10 19:32:18 +00:00
Justin Clarke Casey
0f22013ae4 minor: remove mono compiler warnings 2008-11-10 19:06:01 +00:00
Justin Clarke Casey
5d1d5a22a9 * Extend basic scene test to retrieve the object from the scene and match uuids
* Decouple sog and sop by removing the need to pass the sog to the sop when it is created - most of the code was doing this operation (and hence duplicating it) anyway
* Remove unused constructors
2008-11-10 18:10:00 +00:00
Melanie Thielker
2589acc5d1 Keep dropped prims from being temp-on-rez and getting cleaned up 2008-11-10 16:11:22 +00:00
MW
d01cd9c84f another small bit of startup refactoring 2008-11-10 15:17:50 +00:00
Sean Dague
bfc2d8c231 From: Christopher Yeoh <cyeoh@au1.ibm.com>
This patch addresses mantis bug 2576.

 http://opensimulator.org/mantis/view.php?id=2576

Briefly, if you call llDie from many scripts at the same time (say a
build is cleaning up excess objects) then OpenSim deadlocks. Avatars
are unable to move, and whilst the console is active you can't do much
without it also locking up. This only occurs with the XEngine script
engine enabled.

I have attached a patch which works, but I'm not sure its the right way
to address the problem. The fundamental problem is that a lock on a
SceneObjectGroup's m_parts is taken when the object is deleted, a
callback to the script engine occurs and a fair way down the callchain,
potentially there are locks taken on several other SceneObjectGroup's
m_parts. Deadlock then occurs if you get unlucky enough
to get in the situation where with several llDie's are called and
SceneObjectGroups
have taken a lock on their own m_parts, and end up waiting on each
other's
locks to become available.

The patch adds a lock at a high level so that that the removal of script
instances
from an object only occurs once per scene at a time. This avoids the
potential
of deadlock. Theoretically there could be some performance hit but
AFAICT
the path taken is not a common occurrence.

Would welcome any suggestions for a better solution, otherwise feel free
to apply  :-)

Note this patch was built against the 0.6.0 freeze as trunk was
rather broken for me this morning (creating a script killed the client
connection).
2008-11-10 12:42:22 +00:00
Johan Berntsson
22b70495ab The region proxy for the load balancer module works again. The incoming proxy messages were not properly decoded. 2008-11-10 09:50:05 +00:00
Melanie Thielker
0d02f53f87 Prevent AO from crashing the sim if the user logs out before the script
stops
2008-11-10 05:42:02 +00:00
Melanie Thielker
dd688e95e0 Add a MinTimerInterval, defaulted at 0.5s, to the scripting configuration 2008-11-10 05:33:36 +00:00
Melanie Thielker
fc6f3edec6 Stop attachments from causing an update to be sent on every frame in which
an avatar moves.
2008-11-10 05:21:51 +00:00
Melanie Thielker
ce37b80c68 Thank you, idb, for a patch that fixes avatar height calculation
Our feet will now be above ground
2008-11-10 01:28:37 +00:00
Melanie Thielker
298ab2f9cb Prevent updates about other people's HUD objects being sent 2008-11-09 22:52:00 +00:00
Charles Krinke
087d2f9147 Enabled SoftERP for the contact structure but not SoftCFM.
A tube on a pole is a bit less "flubbery" so maybe this is
the right direction.
2008-11-09 20:20:20 +00:00
Melanie Thielker
664e8a464e Script region crossing. This has not user functionality, but lays all the
groundwork.
2008-11-09 19:30:40 +00:00
Melanie Thielker
6c27321949 Cause llGetInventoryType to return the asset type, which corresponds with
the LSL constants.
2008-11-09 19:10:33 +00:00
Charles Krinke
c6ed72b4fa Clean up a few comments. 2008-11-09 18:43:46 +00:00