Commit Graph

6100 Commits (2ff08c84f5cfe9f147f18c92d961b16f84b39015)

Author SHA1 Message Date
Justin Clarke Casey 18ffbf6342 * minor format changes and message additions 2009-07-10 19:18:05 +00:00
Justin Clarke Casey d7d2de3a08 * minor: standardize some logging messages 2009-07-10 18:57:16 +00:00
MW 78d7f4696e Now we are past revision 10000, I think its time to start to fix that massive bug that was introduced in revision 1. So here is the first part of that fix. 2009-07-10 11:03:38 +00:00
Melanie Thielker c310fb11f4 Remove all references to HttpServer from CommsManager (all incarnations)
Change all uses of the HttpServer properties to use the new singleton
2009-07-10 02:22:26 +00:00
Teravus Ovares e15ffe31e3 * Commit some BinBVH rotation convenience. Calculates the W element of the joint rotation quaternion and provides a property so consumer doesn't have to. 2009-07-10 00:13:42 +00:00
Charles Krinke dc0a19f737 Thank you kindly, Godfrey, for a patch that:
The vector parameter to llSetPos() specifies an absolute position for 
an unlinked prim or the root prim of a linkset; however, when the 
function is used by a child prim, the vector specifies a relative 
offset from the root prim. The changed introduced in llSetPos() treats 
this value as an absolute position in all cases, which has the unintended 
effect of mangling the position of child prims.
2009-07-09 16:53:55 +00:00
Charles Krinke 61008c9c13 Thank you kindly, SnowDrop, for a patch that:
This add a configuration option to the MRM module called "hidden".
if MRM is marked as enabled, the module will additionally check for 
the "Hidden" flag, before registering for client side scriping events.
When MRM is running hidden, it will not respond to client side 
scripting events, giving serverside scripting modules, like MRMLoader 
and MRMAddin the ability to leverage the MRM engine. This way, even 
a possible clientside exploit will not be possible, while still 
allowing the MRM engine to run.
2009-07-08 20:57:26 +00:00
Charles Krinke 525ab2c278 Thank you kindly, RandomHuman for a patch that:
The admin_close_region method removes a region from the simulator without deleting it. 
The region can then be recreated by calling admin_create_region with the same UUID. 
There is also a change to admin_create_region to facilitate this.The reason I want 
to have this functionality is to make it possible to detach regions when they are 
idle and recreate them on demand through a web interface. It's probably doable 
using the existing methods by saving and loading oars, but it also doesn't seem 
like that should be necessary.
2009-07-08 20:53:22 +00:00
Melanie Thielker 2d949c1f25 Add DisableUndergroundMovement to scrpting API to allow underground movement
if needed. Defaults to true, so those who want to continue using underground
scripted prims need to add that option and set it.
2009-07-08 14:36:00 +00:00
Melanie Thielker f4498983aa Prevent scripts from moving prims underground 2009-07-08 10:22:51 +00:00
Melanie Thielker d8fe7777bf Prevent teleports from ending underground 2009-07-08 08:38:23 +00:00
nlin 0ec6dfb1a1 Experimental fix for tilted avatar capsule, Mantis #2905
Set av_capsule_tilted to false in opensim.ini. Default is true, so there is
no change in avatar behavior (and no breaking of existing content which
relies on the tilted capsule).

This commit straightens up the avatar capsule so it behaves consistently
(e.g. same collision behavior against prims regardless of which direction
the avatar is coming from; ability to fit through narrow doorways).

Please note this introduces other side effects which have not been fixed.
In particular:

* The avatar frequently falls through the terrain if it is not flat, though
the avatar behaves pretty well on flat terrain. This requires investigation
of the ode terrain collider.
* The apparent foot position of the avatar with respect to the ground
is changed. This requires investigation of the avatar height/capsule height.

Please consider this as work in progress.
2009-07-08 01:41:05 +00:00
Melanie Thielker 6458858575 Change fields and methods in LSL API from private to protected, make some
methods virtual
2009-07-06 13:09:03 +00:00
Dahlia Trimble 5ba499a759 comment out some excessively verbose eventqueue debugging messages 2009-07-05 07:17:12 +00:00
Charles Krinke 8344df886b Thank you kindly, AnakinLohner, for a patch that addresses:
The patch included updates the root and child prims' AttchedAvatar 
with the right UUID. It also cleans the AttachedAvatar properties 
for the root and child prims on Drop and Detach
2009-07-02 16:02:18 +00:00
Sean Dague 49f89dd758 make methods surounding backup virtual so they could be override for server side created objects 2009-07-02 12:00:39 +00:00
Melanie Thielker 412b555c27 Restore some lost functionality tot he combat module. Code that used to
reside in the economy module was lost in the shuffle when that was moved
to forge. Now it's where it belongs.
2009-07-02 02:46:40 +00:00
Jeff Ames 1d01d6d919 Formatting cleanup. 2009-07-01 23:37:09 +00:00
Jeff Ames a0a44d8ebc Add copyright headers. 2009-07-01 23:25:59 +00:00
Melanie Thielker 3564271c2d Restore the functionality that was removed in r9928. This lets the load
balancer plugin work again. Create a new method, GetClientEP, to retrieve
only the EndPoint for script usage. Marked the purpose of the method
in IClientAPI.cs with a warning. Also restored the corresponding SetClientInfo
functionality.
2009-07-01 15:47:52 +00:00
Jeff Ames 3f2fba610e Update svn properties. 2009-07-01 10:26:43 +00:00
Charles Krinke 6942eaed5b Thank you kindly, Snowdrop, for a patch that solves:
The current API for MRM is quite sparse, this patch 
supplies basic support for accessing the task 
inventory of object.
2009-06-29 21:47:47 +00:00
Arthur Valadares 4f6efa0249 * C# compiler is not smart enough to understand ClientLoop is under very heavy usage and inline DebugPacket, so DebugPacket is run as a method, causing Packet
to be constantly pushed and popped uselessly, if you are not debugging packets. This showed some really big difference in a mock test, let's see how it behaves here.
2009-06-29 19:24:30 +00:00
Charles Krinke 7bb070be55 Thank you kindly, Snowdrop/Snowcrash for a patch that:
This patch makes the worn attachments accessible to MRM scripting
2009-06-29 18:07:30 +00:00
Arthur Valadares 6da88dceb0 * Changing List to Dictionary in PacketQueue.Dequeue for great justice (and performance) 2009-06-29 16:55:00 +00:00
Jeff Ames 715f2f2798 Update svn properties, add copyright header, formatting cleanup. 2009-06-29 15:40:00 +00:00
Sean Dague 3dc2010da6 From: Chris Yeoh <yeohc@au1.ibm.com>
Attached is a patch that changes the oar file saving of creation date/time to an integer
instead of a string. I did this after justincc emailed me saying there is a problem
with internationalisation doing it the old way and I said I'd fix it. Its been
tested with MySQL and I've made the changes for MSSQL but that hasn't been well tested.
2009-06-29 15:05:12 +00:00
Charles Krinke 7545f12c5f Thank you kindly, Godfrey, for a patch that:
The new IRCd module causes an error when multiple instances of OpenSim 
are run on the same machine; since the port number (6666) is hardcoded,
the second and subsequent instances crash upon startup because the port 
is already in use. Attached is a patch which adds a Port specifier to the 
[IRCd] section of the config file, which defaults to 6666 if not present.
2009-06-29 14:01:08 +00:00
Charles Krinke c7c4bc8cd5 Thank you kindly, Grumly57 for a patch that solves:
When a sit position is modified by llSitTarget and the 
sim is restarted, the object sit position is lost until 
llSitTarget is applied again.
2009-06-28 18:19:11 +00:00
MW 706286b7fb Removed the List<NewForce> m_forceList from ScenePresence, as there wasn't any need for a list, as only the last entry in it was acted on. So it now has a single NewForce m_nextVelocity , which is updated (rather than a NewForce object being created every AgentUpdate). So as well as cutting out all the adds and clearing of the list, it also removes the creation of upto 100+ new objects per second per avatar. 2009-06-28 11:07:26 +00:00
Jeff Ames 2d173d7556 Update svn properties. 2009-06-27 04:31:49 +00:00
MW 9e4d077d70 Fixed null bug, which was making unit tests fail 2009-06-26 12:30:54 +00:00
MW 7a2c41dea0 Extracted the code that handles the sending of prim updates to the client, from ScenePresence into ISceneViewer/SceneViewer. Currently ScenePresence "has" a ISceneViewer, although if we had a proper Node based scenegraph then it would most likely be attached directly to the nodes.
By extracting this code, it should make it easier to experiment with different ways of managing the update process. [Next step to make this module based, could be to create a SceneViewerFactoryModule]
2009-06-26 12:09:43 +00:00
Melanie Thielker 5869598c4c Make delete-region delete the section from an ini file. Will delete the whole
file if it has no sections left.
2009-06-26 00:00:20 +00:00
Melanie Thielker 7cc69ac97f Make create region save the new region to ini file format if the name
specifies an ini file.
If the ini file exists, the region will be added.
2009-06-25 23:31:55 +00:00
MW 934b291f59 Added a note to the ScenePresence.UpdateMovement() method, to remind everyone that the so called "forces" are actually velocities. 2009-06-25 13:12:48 +00:00
MW 684286f097 Applied patch from mantis #3820 which changed the clearing of the ScenePresence.m_forcesList, so it used the List.Clear method rather than doing a loop through the list and manually removing each item. Thanks dslake.
I also fixed the issue where the code also loops through the m_forcesList and copies each force to the ScenePresence's movementVector. Which resulted in only the last force in the list actually be acted on. As each copy overrode the last one. So now it only copies the last force in the list.
2009-06-25 12:26:23 +00:00
Dr Scofield c1976d1200 moving the m_PendingAcksMap.Remove() out of the foreach and clearing
it instead after the foreach as we are going through the whole
m_PendingAcks list anyhow
2009-06-25 11:30:31 +00:00
Dr Scofield aba4b0bd20 have to clear m_PendingAcks not m_PendingAcksMap 2009-06-25 11:30:16 +00:00
Dr Scofield e2db6c07ba hmph: missing '{'/'}', thx to nebadon for reporting it and rob smart
for spotting it!
2009-06-25 10:26:10 +00:00
Dr Scofield 74f7b586d3 fixing windows specific compile error. 2009-06-25 08:28:59 +00:00
Dr Scofield 98ea70644a From: Alan Webb <alan_webb@us.ibm.com>
After noticing on several occasions that the thread counts
we see when running OpenSIm were bordering on the astronomical
I decided to seriously investigate.

After much poking I discovered that the problem is actually very
simple. The XEngine secition of the example ini says that the
timeout for an iden thread is in seconds, and an example value
of 60 is specified. In fact, this is actually resulting in a 60mS
idle timeout, which is not normally enough for a smart thread
to survive. I have added a multiplier to the XEngine constructor
so that the number now matches the published behavior.
2009-06-25 08:17:37 +00:00
Dr Scofield 17d37aa60d cosmetic change 2009-06-25 08:01:02 +00:00
Dr Scofield 1b06da0c54 streamlining m_NeedAck logic 2009-06-25 08:00:43 +00:00
Dr Scofield 9f83f124c7 streamling m_PendingAcks logic to get rid of gratuitous List<...>
instantiations and object copies.
2009-06-25 08:00:18 +00:00
Dr Scofield b84834c45b commenting out expensive bits (who in the world even uses SetClientInfo()?) 2009-06-25 07:59:58 +00:00
Dr Scofield e8e0ce5fc6 changing DropSend()'s foreach loop so that it does not copy the
LLQueItem m_NeedAck queue each time.
2009-06-25 07:59:47 +00:00
Dr Scofield fa060a7282 commenting out rather expensive bits of GetClientInfo() --- the only
bit of GetClientInfo that is actually used seems to be userEP as part of the
OSSL osGetAgentIP() script function. Now commented are the parts where
we serialize and copy out the *entire* packet queue of the client
(locking the packet handler in the process).
2009-06-25 07:59:38 +00:00
Dr Scofield 77122d7861 more efficient way of checking for already seen packets:
- uses Environment.TickCount for all timestamps (instead of more
  costly Util.UnixTimeSinceEpoch()
- takes care of Environment.TickCount overflow (which will happens
  after 24.8 days of system uptime)
- avoids instantiating List copies for each check
- gets rid of one lock() invocation
- moves calculation of loop invariant variable out of the loop itself
2009-06-25 07:59:25 +00:00
Dr Scofield a1ba9dee8d adding logging statement for receive buffer size 2009-06-25 07:50:19 +00:00