Commit Graph

834 Commits (8a098bf12c620bd56f3371f1cf8a90ffa04b16c8)

Author SHA1 Message Date
Dr Scofield 09188d5d10 IRCBridgeModule (and ChatModule before the refactoring) didn't succeed in
finding out which region a new avatar was logging in to; the same problem
occurred when the client/avatar logged out. the reason was mani-fold:

- Scene.AddNewClient(...) would call SubscribeToClientEvents(client)
  which would subscribe to all client events and then call 
  TriggerOnNewClient(...) BEFORE the ScenePresence object had even been
  created and added. i've moved the TriggerOnNewClient() call to the
  end of Scene.AddNewClient()
- Scene.AddNewClient(...) is called with child == true; a later call
  to ScenePresence.MakeRootAgent() will turn child to false. When
  OnNewClient is triggered, child is still true, causing IRCBridgeModule's
  FindClientRegion to ignore the ScenePresence of the new avatar.

i've changed IRCBridgeModule to still use OnNewClient and also OnLogout
and OnConnectionClosed but only to signal that the avatar has logged on
(logged off respectively). to track whether an avatar has actually entered
a region i've added EventManager.OnMakeRootAgent (complementing 
OnMakeChildAgent). 

also, i've cleaned up the internal IRCModule code a bit. currently it 
still uses IClientAPI.SendChatMessage() which replicates the code in
ChatModule, that needs to be changed to use TriggerOnChatFromWorld().
2008-05-23 16:07:47 +00:00
mingchen d04443b4fe *Refactor of the LandManagementModule that allows OpenSim to run without it 2008-05-23 15:12:15 +00:00
Charles Krinke 7dcaa409b3 Thank you kindly, Melanie, for a patch which:
Previously, upload charging was possible only for UPD uploads. 
This is because UDP uploads are charged by the viewer, while in CAPS, 
this was changed to be server side, so hackers couldn't avoid 
paying the upload charge. This patch adds a method to allow 
implementation of this serverside charge.
2008-05-23 01:38:20 +00:00
Justin Clarke Casey 8cde4a1c28 * minor: Remove unused variables causing warnings in Scene 2008-05-22 22:31:42 +00:00
Justin Clarke Casey 0c94da8305 * Plug in stubbed out archiver module 2008-05-22 22:21:58 +00:00
Sean Dague b27ae0e8dc make VS compile Scene.cs 2008-05-22 20:59:40 +00:00
Sean Dague 1c49752a44 don't trust appearance assetid, instead do an inventory
lookup any time we get it from the server.  This should
preventent unwearable appearance.
2008-05-22 20:07:31 +00:00
Justin Clarke Casey 203017f554 * Refactor: Move enhancement of version string with operating system information from Scene to OpenSimMain
* This also means the operating system info will show up in the region console (and hence the logs)
2008-05-22 00:32:04 +00:00
Justin Clarke Casey 2e758172f0 * Fix circular dependency from last checkin by passing version as a parameter to Scene rather than referencing VersionInfo directly
* Butt ugly solution
2008-05-22 00:18:33 +00:00
Justin Clarke Casey 9263f07d70 * Send VersionInfo string instead of the hardcoded Scene string to the "About Second Life" box
* This is the same string as printed out on the opensim region console at startup, so it should now include the svn revision number (if available)
* This dialog box takes an awful long time to come up on my local system - no idea why that is.  However, that also seems to have been the case before this revision.
2008-05-21 23:52:02 +00:00
Teravus Ovares 8afd93c943 * Sets backup bool volatile for extra protection against two backup processes running. 2008-05-21 21:47:03 +00:00
Teravus Ovares 5af108a029 * This update causes the backup process to run in a separate thread.
* Concurrency issues are resolved because each object makes a memory-only copy of itself and backs up the copy.
* Because of the way this is done, the latest at the time of the backup gets backed up (no functionality change)
* You can move *thousands of objects at a time* and the sim doesn't freeze and wait for the backup to complete.
* This can be enhanced more by dedicating the thread as opposed to starting it when the backup process starts.
2008-05-21 21:22:56 +00:00
Sean Dague 185eff8d0d From: Jeremy Bongio <jbongio@us.ibm.com>
House cleaning ...

Rather than using the variable name EntityList, the variable name
EntitieList was being used. Here's a patch to fix it.
2008-05-20 16:19:35 +00:00
Sean Dague 7a52b35c57 fix crash in standalone mode for initial appearance setup 2008-05-19 20:33:54 +00:00
Sean Dague 9808f39b6f i can haz pantz?
You sure can.  This change set restores pants (and the rest of the
default appearance) in grid mode.  The 
root issue had to do with serializing multi-faced textures to the 
grid server.  This also restores the lookup path through the avatar
factory module, as that seems the reasonable place to have it live.
Some clean up patches are coming later as well, plus testing on 
standalone, but this should be in a good kicking around state for 
grid users.
2008-05-19 19:08:59 +00:00
Jeff Ames 6ec680918b Formatting cleanup, minor refactoring. Fixed some comparisons of value types and null. 2008-05-18 23:06:50 +00:00
Teravus Ovares 2bd03b7c8c * Group type stuff. Nothing spectacular. two packets, sorta almost semi half tiny amount implemented. 2008-05-18 03:21:22 +00:00
Sean Dague 06b1535ec5 while this doesn't fix the initial no pants issue in grid (which still baffles me)
it does make setting appearance in grid stick.
2008-05-17 12:45:43 +00:00
Jeff Ames 7fefb80abb Minor cleanup. 2008-05-16 13:33:57 +00:00
Jeff Ames 65c5efe43b Formatting cleanup. 2008-05-16 01:22:11 +00:00
Sean Dague 4a9ee9f870 testing avatar appearance as a user service 2008-05-15 20:25:42 +00:00
Teravus Ovares a4efa93993 * Comitting 0001271: [PATCH] Refactor permissions to fully allow stacking permissions modules. From Melanie. Thanks Melanie! 2008-05-14 23:25:07 +00:00
Teravus Ovares 2a988f187e * Refactored IConfigSource into Physics plug-ins and Scene. We can get rid of some of the parameters we pass to it's constructor now like, 'm_allowPhysicalPrim', 'seeIntoOtherRegions', etc.. so on
* The main purpose of this is to provide configuration options for ODE and other physics plug-ins that are advanced enough to be able to be configured.
2008-05-14 23:15:25 +00:00
Justin Clarke Casey 587f6ab645 * Refactor: Remove SceneObjectGroup.GetScenePresences() in favour of a direct call to Scene 2008-05-14 21:09:41 +00:00
Justin Clarke Casey 3025dafa92 * Refactor: Stop exposing the inner scene's ScenePresence dictionary directly to the world 2008-05-13 18:25:15 +00:00
mingchen 32785921d0 *Complete redo of the permissions module
*Removed hardcoded permissions checks
*Added permissions checks where needed
2008-05-13 16:22:57 +00:00
Teravus Ovares bfce23dcf4 * Implemented ChildAgentDataUpdate throttle multiplier based on an inaccurate count of neighbors.
* The neighbor count is always lower then the actual number of neighbors unless your region was up the longest.
* The region you're in is un-affected by this, though, you'll get less packet loss, maybe not get logged off immediately when you log in, and possibly see more prim if your internet connection is semi-unreliable.
2008-05-13 06:05:45 +00:00
Justin Clarke Casey d3fb6039ca * If a region running in grid mode fails to login to the grid service, startup will now terminate instead of carrying on (and thus burying the error message) 2008-05-12 16:57:56 +00:00
Adam Frisby ee352ebc79 * Added NPCModule and NPCAvatar classes for NPCs. Primitive, but we can grow them out.
* Fix for Scene.Inventory.cs - It assumes every entity at startup is a SceneObjectGroup. (Actually, this shouldn't have compiled[!] without a warning.)
* Fix for LandManager at startup - it assumes there's a land channel when perhaps there isnt. (Bug that needs another refactor to fix. [Mike - I've assigned a ticket to you about this])
2008-05-11 04:32:43 +00:00
Teravus Ovares 1ba51dd2fd * More OutPacket refactors.
* Added back a sleep to the kick routine so users get a 'you have been logged off message' when they get kicked from the simulator for various reasons (like 'the simulator is going down')
2008-05-10 13:11:09 +00:00
Teravus Ovares b7baa3cd2a * Valid Sculpted prim now collide properly.
* The first time you set the sculpted texture of a prim you might have to futz with it to get it to generate a sculpted physics proxy
* Note that there are already issues in Trunk, (such as the prim scaling issue and prim jumping issue.  Essentially editing is difficult right now)
* This just adds to the experimental nature of trunk. :D
2008-05-09 07:50:00 +00:00
mingchen 6c71a04da8 *Added all the permission checks to the sceneexternalchecks and modified permission module to follow this.
*This makes permission checking much more modular; allows restrictive and granting module to be made without modifying the existing permission module
2008-05-08 19:37:57 +00:00
Justin Clarke Casey be02107ea8 * Increasing ScenePresences locking to prevent race conditions such as those seen in one of the crashes of mantis 1163
* It's not impossible that this could lead to deadlock where sessions simply appear to freeze, even though the region console still responds.
* If this is the case, please file a mantis
2008-05-07 22:59:30 +00:00
mingchen 6551f17966 *Added SceneExternalChecks.cs that is used to manage checking the results of multiple functions that register with the class and return the result (usually true/false) based on those results. This is useful for module wanting to put their opinion in decisions such as 'can the user rez this object?' 2008-05-07 17:33:57 +00:00
Adam Frisby 31cd162d34 * Cleaning up code, making it conform to OpenSim standards. 2008-05-06 04:56:48 +00:00
Justin Clarke Casey 9655cf2807 * Refactor: Break out permissions code into a separate region PermissionsModule 2008-05-05 20:14:53 +00:00
Justin Clarke Casey 60a83574f4 * Just some tidy up and documentation before I make my first ever attempt to extract a lump of code out to a region module 2008-05-05 18:53:07 +00:00
Teravus Ovares 7b446aba91 * Implemented DIE_AT_EDGE and Temporary objects don't save to the database. 2008-05-04 22:55:52 +00:00
mingchen 63c104efde *Fixed up EstateManagementModule to the module standard - no more packets allowed!
*Started cleaning up the land module
2008-05-04 18:59:18 +00:00
mingchen 4a87d96c17 *Moved EstateManager into a region module 2008-05-03 17:11:21 +00:00
Teravus Ovares 07167c9a3f * Committing some collision stuffs that I'm working on.
* Nothing user facing yet.
2008-05-03 04:33:17 +00:00
Adam Frisby 776b4cedf6 * Small fixes to Scene.cs 2008-05-02 18:36:41 +00:00
Adam Frisby 67bbfadc06 * More refactorings of UDPServer.
* Removed all references where possible.
* Renamed lots of variables from UDPServerXYZ to clientServerXYZ
2008-05-02 18:26:19 +00:00
Teravus Ovares 412ca26565 * DuplicateOnRay with copy center works in two directions... Still fighting with it.
* DuplicateOnRay without copy center works in all directions.
2008-05-02 02:31:22 +00:00
Adam Frisby 20a9bf08f5 * Rolled back a few changes. 2008-05-01 18:04:42 +00:00
Adam Frisby 13526097f2 * Spring cleaning on Region.Environment.
* Converted a large number of read-only fields to be actually, readonly.
* Reformatted code sections.
* Removed redundant code.
2008-05-01 16:35:00 +00:00
Adam Frisby a1c8aa4050 * Cleaned namespaces of entire solution. OpenSim directories now correspond with namespaces. 2008-05-01 15:36:39 +00:00
Teravus Ovares 56b4f5a2ea * committing what I've got so far for DuplicateOnRay so I don't fight the conflict monster later. Not done yet, doesn't crash the server. 2008-05-01 15:17:49 +00:00
Jeff Ames d51ce47b2d Update svn properties. Minor formatting cleanup. 2008-05-01 14:31:30 +00:00
Teravus Ovares 1c697ef0d2 * You can now rez objects out of inventory at the correct offset from prim you rez it on. Including multi prim groups and prim that have different X/Y/Z scales. 2008-05-01 06:31:12 +00:00
Teravus Ovares f4e22b1356 * Fix OBB raycaster to respond properly to rays cast from any direction. 2008-05-01 04:58:15 +00:00
Adam Frisby 25a49ac4de * Spring cleaned a bunch of '//TODO: unused' marked functions. 2008-04-30 23:11:07 +00:00
Adam Frisby 3da6a05eaa * Sometimes you know, you do something really stupid.
* This is one of those times (should fix build)
2008-04-30 21:32:14 +00:00
Teravus Ovares 1fb54b074c * Added basic 3-5 level undo on prim position/rotation/scale.
* In the future this should be a config option...   and, hopefully this tides the builders over for a little while.
2008-04-28 01:48:21 +00:00
Teravus Ovares 54563d8dea * Patch from XenReborn to make remove-region work properly without needing to do a change-region first. Careful though. I still suggest you do a change-region first.
* Patch from Melanie to implement touch_end.
* Thanks XenReborn!.  Thanks Melanie!
2008-04-27 22:15:38 +00:00
Teravus Ovares 911e63765c * Single Attachments now work from inventory. You can attach from inventory and detach from inventory.
* Detaching from right clicking in world, detaches to your inventory.
* If you go up to a prim and attach it from in world, it appears in your inventory.
* Attachment placement is saved when you detach them. 
* Choosing wear remembers your last attachment point from inventory.
* Wrote a method to update an inventory item's asset and sends the updated inventory item to the Client
* Wrote a recursive method to find the folder of a known existing inventory item.
* Removed a block on physics object position on creation.  This might crash a region or two, let us know via Mantis if your region crashes because of a physics out of bounds error.
* Drop doesn't work.  The menu item doesn't even come up.  Don't know why :P.
2008-04-27 20:10:28 +00:00
Teravus Ovares f71871bca3 * More attachment stuff, reworked some of the inventory routines to be what I need them to be for attachments. 2008-04-27 14:37:51 +00:00
Justin Clarke Casey accd89b3f1 * First draft implementation of copying prim inventory items back to agent inventory
* Now, if you own an item in a prim, you should be able to successfully drag it back into your inventory
* Temporarily, users which are not owners of the item cannot copy it, even if 'everyone can copy' is set
* This is pending fixes/implementation of upstream permission implementation
2008-04-26 20:31:01 +00:00
Teravus Ovares 323038ceb9 * Ooops, attachments now teleport/cross region borders along with your avatar. Those dastardly objects stick to you. 2008-04-26 17:36:30 +00:00
Teravus Ovares a534257b0e * Fixes prim crossing. See bug 1050.
* Causes the internal handling of attachments to put the prim group conceptually at the position of the avatar instead of 0,0,0
2008-04-25 21:41:55 +00:00
Teravus Ovares 9468917b5f * Implements llTarget, llTargetRemove, at_target(), not_at_target() 2008-04-25 01:00:55 +00:00
Teravus Ovares aa8aee90a3 * Adds much better support for attachments that you right click on in world.
* Your friends can see your attachments now.  People who appear in the sim after you've attached something can also see your attachments.
* You can position & rotate your attachments now.  Positions do *not* save.
* You can detach attachments now the regular way.
* Attachments do not cross into other regions with you..(this isn't too far off)
* Updated ODE to not request terse updates on child prim.
2008-04-24 11:32:41 +00:00
Teravus Ovares 12bba3da4b * Fixed an annoying pop-up box when crossing borders. 2008-04-23 23:55:02 +00:00
Teravus Ovares 61f23fa045 * Implements llScriptDanger
* Made the scene's scriptDanger method more generic so both the llScriptDanger method and the Script engine method use the same private method.
2008-04-22 10:11:29 +00:00
Teravus Ovares 809447ac32 * Implemented NoScript areas (without loosing script state). 2008-04-22 09:28:58 +00:00
Adam Frisby fef3b36894 * Optimised using statements and namespace references across entire project (this took a while to run). 2008-04-21 07:09:17 +00:00
Justin Clarke Casey 3d3eec436a * Remove user profile from cache when they log out from a region.
* A much more significant fix is required to clean up the cache when a user moves out of a region, but really better handling of delayed inventory cache updates needs to be 
written first, and possibly better affinity to cut down agent inventory requests when the move is between two regions hosted on the same server.
2008-04-20 20:36:06 +00:00
Charles Krinke 6865f1c67d Thank you kindly krtaylor for a patch to solve:
Linked objects won't scale together properly, only the root object scales. 
This happens with scaling both up and down or inputting numbers in the edit dialog.
2008-04-19 21:01:26 +00:00
Teravus Ovares dd4deebbcb * Re-Fixed caps
* This fixes chi11ken's/OpenViewer's libsl cap issue.
2008-04-17 19:42:54 +00:00
Teravus Ovares 244bfcde5b * Implements 'Set Home to Here'
* Implements 'Teleport Home'
* User Server has to be updated for it to save your home in grid mode
* home position accuracy is in int because the grid comms ExpectUser method tries to convert to Uint and crashes if it gets a float.  Added a convert to decimal in ExpectUser but to avoid a breaking change with old revisions, kept the save value in int for now.   Eventually it needs to be a float, but lets release another incremental version before doing that.
2008-04-17 05:07:14 +00:00
Teravus Ovares 7c1f17b994 * Applying melanie's Landmark patch. Thanks Melanie!
* To make a landmark, you currently have to enable admin options in the advanced menu first.  We're working on this..   however use the admin options solution in the mean time.
2008-04-16 14:10:54 +00:00
Charles Krinke bf7e7b2c57 Thank you very much, Kmeisthax for:
This patch makes the "Show in Search" checkbox on the viewer work. Additionally, I also discovered that show-in-search objects use the JointWheel flag, so this patch currently uses that flag. LibSL needs to add a flag to enum LLObject.ObjectFlags, "IncludeSearch = 32768" so we aren't using a legacy flag.

Additionally this patch also contains a small fix to BaseHTTPServer that lets the response content-type to be something other than text/html. For some reason this didn't get submitted with the DataSnapshot merge.
2008-04-16 03:55:21 +00:00
Teravus Ovares e777f88028 * A tweak of the caps system so that new caps have random paths instead of a fixed path
* This allows caps requests to be routed to regions where the agent is currently a root agent instead of the region that they logged into as it did previously.   
* This fixes a wide variety of bugs related to 'can't do X once i've crossed a border'.
* The first seed cap request fails, the second one works.  (this generates an error message on the console)
* Experimental.
2008-04-15 23:10:12 +00:00
Adam Frisby 0b4a8191a1 * Quick patch before I start on a bigger project
* Renamed ITerrainTemp to IMapImageGenerator
* Renamed WriteJpegImage to WriteJpeg2000Image to better reflect it's function.
2008-04-15 03:07:31 +00:00
Justin Clarke Casey b7ae8701ce * Working towards notifying the client if the inventory service has failed, rather than simply returning 0 items.
* This is very early support which would only be triggered in a rather unlikely case (if the user server correctly received an inventory skeleton, but later on failed to return the whole inventory in a timely manner.  Also, this only applies to the 1.19.1.4 client onwards
* Code cleanup and support for other failure cases (failure of inventory caching on region crossing, failure to actually add a folder/item, etc, should follow.
2008-04-14 18:43:23 +00:00
Teravus Ovares e21886eea0 * Fixed a few warnings.
* Added license info to a few files it was missing from.
* Fleshed out the landbuy interfaces
* If you add '-helperuri http://127.0.0.1:9000/' to your list of parameters you tell the client to use when you start it up you can transfer ownership of parcels now in standalone.  Structured gridmode requires a lot more work, see the documentation in the example money module.   The example money module is not secure especially in standalone mode.
2008-04-14 17:13:38 +00:00
Teravus Ovares 5e1d8925fa * Fix bug 934 2008-04-11 17:24:04 +00:00
Teravus Ovares 50c5e6af10 * With Grid Comms up in the air.. I decided have the friends module update you when your friends come online if they're at least a child agent on the sim. offline status works the same also. So does Instant Message.
* This is until Grid Comms matures a bit more on this.
* This should also work in Standalone as it uses the IUserData interface.
2008-04-10 18:30:34 +00:00
Teravus Ovares f2d36186f0 * Slightly smoother transition between land, shallow water and deep water in map tile generation. 2008-04-10 15:27:02 +00:00
Teravus Ovares 1178eddffc * Brings back map tile generation based on the terrain. The algorithm produces a graphic that is a bit Dazzle-ish. A Dazzle-ish map tile is better then a grey map tile IMHO. 2008-04-10 13:37:39 +00:00
Teravus Ovares 06967e230f * Updates BetaGridLikeMoneyModule
* Several people have asked for a way to limit uploads, so I've decided to show people how to do this in the BetaGridLikeMoneyModule.
* Configure it in OpenSim.ini using the [Economy] header.  See the bottom of the OpenSim.ini.example for more information.
* This also fleshes out the Economy API a bit more.
2008-04-10 09:36:55 +00:00
Justin Clarke Casey 0e7c4046d3 * Nasty hack to reduce the incidence of spurious exceptions where a user deletes a newly rezzed object before the persistence thread gets to it from its queue.
* This should greatly reduce but not eliminate the problem - elimination probably requires a redesign of the prim persistence processes
2008-04-07 17:28:02 +00:00
Teravus Ovares dbbb115c26 * The simulator now checks the parcel at the position that you get put by the grid server to see if you set it's landing point to a specified landing point. If you did, and the landing point isn't LLVector3.Zero, it puts you at the configured landing point.
* Currently the grid server sticks you at 128x128x128..  so that means it'll use whatever parcel is at that location to get this information.   This allows greater customization of where people log-into and teleport-to if done right.
2008-04-05 09:47:05 +00:00
Justin Clarke Casey 042cd57e94 * From: Dr Scofield <hud@zurich.ibm.com>
* This patch removes voice code into a region module.  This required the implementation of events and other code to allow region modules to register their own caps handlers, and should allow different voice module implementations.
* CAVEAT: This does not provide complete voice support, it merely provides the hooks so that it can be plugged in.
2008-04-03 15:44:20 +00:00
Justin Clarke Casey f27f861072 * Attempt to resolve mantis 873 by placing caps removal operations in a critical section 2008-04-02 16:46:58 +00:00
MW f43e077150 a few small changes 2008-04-01 13:09:29 +00:00
Justin Clarke Casey 106fd2f616 * From: Dr Scofield <hud@zurich.ibm.com>
* (and Ansgar/Ansi)
* Fleshes out the voice stubs to better interact with the viewer CAPS requests - no actual voice support yet!
* In his own words
"the attached patch enhances the existing voice support by returning a proper voice account user and password and is preparing the config file so that we can specify a SIP server (not yet working). currently the SIP is hardcoded. the next step is to refactor voice support into a region module. working on that. "
2008-03-31 18:41:24 +00:00
Adam Frisby fadd19f314 **Big ass update warning**
* Renamed plugin console message, to send a message to a plugin, use either "plugin <message>", or any unrecognised message will be sent ("plugin" sends explicitly) This replaces the old "script <message>".
* Terrain commands - "terrain <command>" now works again. "Script terrain <command>" does not. Many of the commands have now been reimplemented, eg load-tile. However some have new syntax.
* New console command handler, you can now use things like "terrain help" or "terrain save help". See TerrainModule.cs for an example of how to use the new "Commander" class.
* Commander class - advanced processing of console input and also enables a script API to be generated from registered console commands.
2008-03-30 09:03:38 +00:00
Teravus Ovares fd2caf5f16 This update has good news and bad news, first the bad.
* This update breaks inter-region communications, sorry.
* You will need to run prebuild.
Next, the good;
* This update solves the unexpected binary element when Linux simulators inform windows simulators and vice versa.  So Linux Simulators and Windows simulators are 100% compatible again.
* This update introduces an Integer in the prim crossing method to tell the receiving simulator which XML method to use to load the prim that crossed the border.   If the receiving prim doesn't support the method, the prim crossing fails and no prims are lost.
That being said, it's best to update all your simulators to this revision at once.
2008-03-30 08:01:47 +00:00
MW 7fcffa3a3a Re-enabled terrain texture generation for the world map. Adam can clean up/ sort it out when he gets time.
Most likely doesn't really work in grid mode as the generated textures are marked as temporary and I don't think they are updated to the asset server. We have to either live with these textures being sent to the asset server, and manually clean them out from time to time or wait until there is some asset management system in place. 
Also currently the texture is only generated at region startup, it is not updated after terraforming.
2008-03-29 17:18:47 +00:00
MW ac27d9250d attempt to fix mantis # 779. 2008-03-28 14:59:52 +00:00
Justin Clarke Casey ad6783ff40 * Massaging CAPS setup/teardown log messages
* Leaving quite a few debug messages in for now to help deal with bugs arising
2008-03-25 22:04:41 +00:00
MW c2ea7b99e1 Moved Avatar appearance Factory to its own project so that the reference to MySQLDatabaseMapper could be removed from Region.Environment.
Added a using OpenSim.Framework.Data statement to MySQLDatabaseMapper , to try to fix the build problem that has been reported on the mailing list.
2008-03-25 18:48:07 +00:00
Justin Clarke Casey 8c74cf7758 * Tear down CAPS and http handlers when an agent leaves a region (via crossing, teleport or logout) 2008-03-25 18:47:14 +00:00
Teravus Ovares e74892ee44 * Use Face normal to offset new prim instead of the hard coded pos.Z += 0.25f; This allows proper positioning of prim based on the face you click. ( Yes, you can click the bottom face of a prim that's above you, and the new prim appears directly below it. )
( Remove ray caster Verbosity )
2008-03-25 17:31:40 +00:00
Teravus Ovares e11e6dc308 * Use Face normal to offset new prim instead of the hard coded pos.Z += 0.25f; This allows proper positioning of prim based on the face you click. ( Yes, you can click the bottom face of a prim that's above you, and the new prim appears directly below it. ) 2008-03-25 17:28:09 +00:00
Justin Clarke Casey 2517fe7acd * Remove old CAPS http listeners when a client logs out from a scene
* Not yet removing listeners when a client leaves a region without logging out
2008-03-25 17:08:20 +00:00
Jeff Ames 9d1b42c39a Comment out unused private methods. 2008-03-25 03:49:08 +00:00
Justin Clarke Casey e3949280b1 * Inflate my commits with yet another snippet of documentation... (j/k) 2008-03-24 21:28:45 +00:00
Justin Clarke Casey 3a5521d204 * Put in tiny doc snippet while I remember 2008-03-24 21:27:14 +00:00
Justin Clarke Casey f14c102c7a * Clean up Scene.AddCapsHandler(). There was a race condition warning, but I don't think this is now relevant...
* Remove some now extraneous CAPS related messages
2008-03-24 21:21:05 +00:00
Teravus Ovares dc850df50a * Implements Oriented Bounding Box raytracing.
* It's not perfect, but it's good enough. (rarely erroneously returns a backface collision)
* After updating to this revision, rez a prim on another prim and watch it appear where you'd expect it to appear.
2008-03-23 06:24:59 +00:00
mingchen 71ca162821 *Moved LandManagement into its own region module (spiffy!) 2008-03-22 23:10:22 +00:00
Teravus Ovares 0cb05c1952 * Updated ray tracing code. It's now good enough to use when the XYZ vector components of the scale have a difference of less then 4.5 meters.
* When a new prim is created and raytracing is called for, raytrace from the camera position to the ground in the direction of the Norm(RayEnd - RayStart).
* If we got a hit based on our camera, create the new prim at the edge of the prim we hit.
* Don't raytrace if the difference between any component of the vector exceeds 4.5meters.
2008-03-21 05:54:56 +00:00
Justin Clarke Casey c1beb85315 * First draft resolution of mantis 777, 734, 389 - scripts do not save in non-home regions
* Should work in multi-region standalone and grid modes
* This should also solve other non-home region caps issues (map requests, RC client inventory requests, etc)
* We now pass CAPS information on to the destination region on region crossing, and set up a CAPS object when an agent becomes a master
* Current limitation is that this will only work if your http_listener_port is 9000
* This is a very early code cut (lots of bad practice, hard coding and inefficiency).  However, I wanted to get this out there for feedback and my own sanity.  Next few patches will clean up the mess.
2008-03-20 20:04:45 +00:00
Justin Clarke Casey 2b78c40d89 * Adding log debugging messages and making others more explicit
* This reveals that the problem with saving scripts in a non-home region in multi-region configurations is due to a CAPS setup issue
* For some reason the client is still using the CAPS on the region it just came from, causing the ScenePresence lookup to fail (since the presence is now, correctly, a child agent).
2008-03-19 19:25:10 +00:00
Jeff Ames e5b9144282 Formatting cleanup. 2008-03-18 15:30:38 +00:00
Jeff Ames 47180080f0 Formatting cleanup. 2008-03-18 05:16:43 +00:00
Justin Clarke Casey d137d4b907 * DEV: Remove client's CAPS handlers object when they log out 2008-03-17 18:16:36 +00:00
Jeff Ames 7d1dcf3e68 Replaced some magic PCode numbers with enum values. 2008-03-17 17:23:49 +00:00
MW c04899b60a Part 2 of fixing inventory for client 1.19.1 (RC), inventory items should now show up.
Most likely still some problems and most like needs some more work (and still a couple of things to finish off).
2008-03-15 12:53:03 +00:00
Teravus Ovares ce9c2ecac8 * You can leave godmode if you want now.
* Fixed a compile error.
2008-03-14 15:52:32 +00:00
Justin Clarke Casey 12cb0d15f8 * Put back a comment I just inexplicably zapped 2008-03-13 18:42:57 +00:00
Justin Clarke Casey 429ecb8508 Just a few comments 2008-03-13 18:31:05 +00:00
Justin Clarke Casey a4304fb9e6 * Fix Mantis 761 (linking and delinking prims rapidly caused prims to 'disappear')
* Root cause was that if two updates occurred in the same second of time, the second one was never sent
* Linking/delinking appears to be okay now
2008-03-13 00:22:38 +00:00
Justin Clarke Casey bbb9a21eb5 * Fix mantis 757.
* DelinkFromGroup was removing the parts from the delinked group, which later upset the update thread when it tried to do a queued update for that object
* Temporary fix is to stop deleting the parts, though it would be good later to stop sending out the now spurious updates
* This fix actually reveals another bug, where rapid linking and delinking will cause the non root prims to disappear (though they're actually still there if you relog).  This is the next bug to tackle.
2008-03-12 18:59:50 +00:00
Justin Clarke Casey b9ef6ed047 * Don't abort (and keep failing) the update if one Entity gives us an exception when we try to update it
* This doesn't remove bug 757, but does largely remove the worst consequences
2008-03-12 18:11:08 +00:00
Charles Krinke 3151e302ca Thank you kindly, Ldviopeng for:
Patch to implement the following LSL / OS functions
llParcelPrimCount(60%)
osSetParcelMediaURL
2008-03-08 18:06:10 +00:00
Jeff Ames bc02d14b6b More spelling corrections in the spirit of r3771. 2008-03-07 14:55:26 +00:00
Justin Clarke Casey 479379ee28 * Minor spelling corrections as per mantis 712 2008-03-07 14:17:22 +00:00
Adam Frisby a360116502 * Disabled ancient TerrainEngine.
* Enabled new TerrainModule.  (The king is dead, long live the king!)
* Use the console command: "script terrain save file.r32" / "script terrain load file.r32" to load/save terrain. Now uses the extension to determine file format.
* MANY of the old terrain features do not have a replacement function in the new module yet, this needs to be corrected, but has not been done so far. This being said, the new module is faster and more efficient and should be a good replacement.
2008-03-06 15:49:53 +00:00
Adam Frisby 14b37533aa * Removed more compiler warnings, dead code, etc. 2008-03-05 21:47:19 +00:00
Adam Frisby f64611862a * New Terrain Module (disabled, search for 'usingTerrainModule = false' to reenable)
* *Much* faster terraforming (woot!)
* New "Brushes" design, so you can create custom terraforming brushes then apply those inplace of the standard tools. (ie an Erode Brush for example)
* New specialised "Flood Brushes" to do large area effects, ie, raise-area, now takes a bitmap rather than repeats the ordinary raise brush a thousand times.
* New modular file Load/Save systems -- write importers/exporters for multiple formats without having to hard code the whole thing in.
* Coming soon - effects system, ie the old Erosion functions, etc. for one-shot effects.
2008-03-05 00:52:35 +00:00
Teravus Ovares 18324773d2 * One line fix to get everything working again. Essentially set the originRegionID = RegionID in RegionInfo.cs on line 375 2008-03-04 14:39:51 +00:00
Johan Berntsson 279e0061c5 Merged 3Di code that provides scene and avatar serialization, and plugin support for region move/split/merge. See ThirdParty/3Di/README.txt. Unless the new modules are used there should be no noticeable changes when running OpenSim. 2008-03-04 05:31:54 +00:00
Adam Frisby c5d1f87cd2 * Removed and sorted using clauses in a number of files.
* Cleaned up ITerrainChannel
* Implemented Raise, Lower, Smooth, Flatten, Noise Terrain Paint Brushes
* Implemented Raise, Lower, Smooth, Flatten, Noise Terrain Fill Brushes
* Implemented Export functionality for RAW32 terrain loader
* Implemented Import/Export for SLRAW terrain loader
* Implemented Export for JPEG terrain loader
2008-03-03 08:35:59 +00:00
Teravus Ovares 0a5c48b1c8 * This is a very icky implementation of physical linkset prim using fixed joints. This will change quite drastically, however it's fun to play with.
* To play with this you must link your prim before setting it physical, otherwise they won't link in the physics engine properly.  This will also be fixed.
* Currently the linked prim are extremely unstable because I have yet to implement combining of forces with the same normal. This will also be fixed.   In fact, the whole PhysicsActor, ODEPrim relationship will be reworked to consider groups from the get-go.
* This implementation is better then it crashing your sim, so I'm commiting it for now.
2008-03-02 09:31:39 +00:00
Teravus Ovares 34073607a2 * Turned Friends Module into a shared module (to comply with Scene.AddXmlRPCHandler being shared).
* Fixed a null ref issue in Scene.Close()
2008-02-27 17:41:42 +00:00
MW 0b7f10efed UserService.ClearAgent call is no longer made when a childagent connection is being closed.
DisableSimulatorPacket now skips the packet throttles
2008-02-27 11:52:02 +00:00
lbsa71 5b3897a4af * Caught HttpListenerException and swallowed if with output
* Moved Flush into Close since it's always done in that order.
* Minor renamings
* Reversed if for clarity
2008-02-25 15:36:24 +00:00
Teravus Ovares b77c48e75e * Cleanup of some memory consuming items on ScenePresence.Close().
* Untangled a tangly shutdown loop for the ScenePresence.
* Suggested to the Garbage Collector that this may be a good time to >.>, <.< *gasp* collect the memory.
2008-02-20 01:17:21 +00:00
Teravus Ovares 932a132116 * Made a quickupdate method to run through only entities that have scheduled themselves for updates looking for changes. This runs 10 times a second.
* Set the massively slow UpdateEntities method to run every 2 seconds instead of 10 times a second.  This method runs through *all* of the entities can calls the virtual update().  
* Documented some of the code in the scene.Update method.
2008-02-20 00:08:04 +00:00
Charles Krinke 2c81e18fc3 Thank you very much Ahzzmandius for adding the support
to purge the avatars inventory "Trash" folder using the
bizarre tortoiseSVN method of diff/patch.
2008-02-18 03:25:14 +00:00
MW b618802e53 Moved the AgentAssetTransactionsManager (and AgentAssetTransactions) out of CommsManager and into a module (AgentAgentTransactionModule), still needs cleaning up though.
But its one more thing out of the CommsManager. One day we will kill the CommsManager!
2008-02-16 13:01:42 +00:00
MW 694dff3b70 Some changes to remove some of the direct calls to CommsManager from Scene, so that they now go through the SceneCommunicationService. As a small step towards the day we can kill the CommsManager (YAY!) 2008-02-16 11:55:09 +00:00
Teravus Ovares be6edefcfb * ODE Stability update 4 :D
* Changed the way meshing requests get sent to the ODEPlugin
* Numerous other fixes
2008-02-15 21:35:52 +00:00
MW 23c7c6dabd Fixed bug in AvatarFactoryModule that resulted in removing cloth items, not being persisted. 2008-02-15 12:39:45 +00:00
Adam Frisby f3afa68a2a * Made new Framework.Constants class, added RegionSize member.
* Converted all instances of "256" spotted to use RegionSize instead. Some approximations used for border crossings (ie 255.9f) are still using that value, but should be updated to use something based on RegionSize.
* Moving Terrain to a RegionModule, implemented ITerrainChannel and TerrainModule - nonfunctional, but will be soon.
2008-02-14 12:16:33 +00:00
lbsa71 c0d411f427 * Exposed AddHandlers in response to mantis #534. Thanks, kmeisthax! 2008-02-14 11:15:41 +00:00
Teravus Ovares 0d14c47c28 * Bigisn ODE Stability update 2 2008-02-14 00:39:08 +00:00
Teravus Ovares c1044039d4 * Removed a debug line that got called every frame. 2008-02-13 08:37:50 +00:00
Teravus Ovares d773ca5147 * Made physical prim stable enough for the general population to turn on. (though I still don't recommend it for welcome regions unless object build is off.
* Updated the ode.dll for windows with a more reasonable stack space reserve.  Linux users will need to type ulimit -s 262144 before starting up OpenSimulator if using Physical Prim to protect against stack collisions. or run the included ./bin/opensim-ode.sh to start up OpenSimulator in ODE mode.
* Added internal collision score and am keeping track of 'high usage' prim.
* Tweaked collisions some more
* Tested up to 460 physical prim in extremely close quarters (which was previously impossible in OpenSim).  After 460 in tight quarters, physics slows down enough to make it hard to do any moving, however..  non physics things still work, such as logging on to the simulator, etc.
2008-02-13 07:50:15 +00:00
Jeff Ames 001ce95e4c Clean up more unnecessary String.Format calls 2008-02-13 03:38:18 +00:00
Justin Clarke Casey 1677bde480 * Clean up the agent's asset transactions when it is removed from the scene
* This may or may not help with the memory leak, need to assess
2008-02-13 00:52:49 +00:00
Justin Clarke Casey 365cf8e455 * Refactor: Move last commit's refactor back to AgentAssetTransactionsManager
* Push asset update (invoked when clothing is altered) down into AgentAssetTransactions from Scene.Inventory.cs to join others
* I've tested that clothing creation and update still works, but please let me know if it suddently breaks for you.
* Add/correct comments
2008-02-13 00:30:51 +00:00
Teravus Ovares e5ede36f0c * Physical prim cross borders and continue from where the left off on the other side now, assuming the region on the other side has physical prim enabled. 2008-02-12 07:32:32 +00:00
Teravus Ovares 6e01769bcf * A bunch of updates to make things more smooth.
** Sending the actual TimeDilation to the client now instead of the 62455 constant.  The client is *supposed* to use that value to sync with the simulator.    (actually sending ushort.maxvalue * TimeDilation)
** Disabling prim that inter-penetrate instead of just not attaching a joint
** Reduced prim spin a 'little' bit, but not *enough* 
** Tweaked the TimeDilation algorithm to be closer to 1.0 by default and various changes to the sim stats reporter 
** Created a .SetValues method to PhysicsVector so we can simply call the setvalues function instead of .x, .y, .z sets.
** Experimented with a .GetBytes Method on PhysicsActor to be able to use the LLVector3.FromBytes() method.   
** Upped the Inter-penetration depth to 0.25 instead of .08.
2008-02-12 04:27:20 +00:00
Teravus Ovares f603e57e9a * Added PhysicsScene.Dispose()
* In ODE, disposing of all of the ODE objects and the ODE World to reclaim memory when the simulator restarts.
2008-02-11 22:54:51 +00:00
Teravus Ovares e6453d9b9d * Changed child_get_tasks to see_into_this_sim_from_neighbor.
* Turned on see_into_this_sim_from_neighbor by default.
* Fix Race Condition with parts being added to a group while the simulator is starting up.
2008-02-11 05:19:54 +00:00
Teravus Ovares a56664cf59 * um, Prim crossings? Experimental.
* Backup your database just in case.
2008-02-11 01:43:54 +00:00
Dalien Talbot c935b308e6 The very beginnings of attachments (no detachments! :) 2008-02-10 22:23:11 +00:00
lbsa71 e0424254bd * Refactored permissions handling to extract info out of permisisons block in ClientView
* Changed some uint constants to Enum values
2008-02-10 14:27:21 +00:00
Jeff Ames e207284fef Clean up logging calls using String.Format explicitly 2008-02-10 01:57:59 +00:00
Teravus Ovares 07d0f558c4 * Fixed nebadon's UserServer crash bug from yesterday.
* Made Estate tools work for estate managers without needing to request admin status First
* Added code to make the Simulator version to be reported in the About box of the client
2008-02-09 07:53:01 +00:00
Justin Clarke Casey f05f583613 Still chasing logout memory leak. Putting in small changes and temporary light verbosity to this end 2008-02-08 22:39:08 +00:00
Justin Clarke Casey 9d95f9bcf4 Minor ScenePresence related refactoring 2008-02-08 19:53:18 +00:00
Adam Frisby a637473f80 * Adding console spam to help track 'The Steve Bug'. 2008-02-08 17:49:53 +00:00
Teravus Ovares 1ff4711cfb * Fix: Send Parcel data on region crossing. 2008-02-08 03:20:11 +00:00
Teravus Ovares 3674257095 * This update contains a bucket-full of network optimizations.
* ParcelProperties are sent only when needed instead of on any movement
* Terse Updates and other temporary data packets are marked unreliable
* After a certain amount of users, the sim actually sends updates on things less
* Experimental
* Tested to 68 avatar with pCampBot  (And it's surprising what actually causes the most lag..  the text chat!)
2008-02-07 08:15:38 +00:00
Teravus Ovares 1b8e89751a * Added the Scripted objectflag if there is a script running in a prim. Remove the flag if you delete all of the scripts in the object. 2008-02-07 01:52:39 +00:00
Adam Frisby a37eb62047 * Added debug message to try track down Mantis#305. 2008-02-06 14:39:25 +00:00
Jeff Ames 3b42b5f098 Consolidated LoadAnims and AvatarAnimations constructor.
Fixes locking issues with Animations in ScenePresence (bug #324)
2008-02-06 10:19:30 +00:00
Teravus Ovares 9d6ea497e2 * Added the ability to start and stop all scripts in the simulator using the debug tab on the estate tools. This along with the disable physics via the debug tab are persistant across reboots. That means that if it's disabled when you shut down the simulator, the simulator will come up again when you start it up without loading the scripts. Turning them back on is as simple as unchecking 'disable scripts' in the debug tab of the estate tools. 2008-02-06 09:38:14 +00:00
Teravus Ovares 9cd9e90e7f * Added Active Scripts to report the number of scripts running to Sim Stats
* Added Script Performance to report the number of functions run per second to Sim Stats.
* Removed a few warnings (@.@ up to 50 now)
2008-02-06 08:03:22 +00:00
Jeff Ames 6ed5283bc0 Converted logging to use log4net.
Changed LogBase to ConsoleBase, which handles console I/O.
This is mostly an in-place conversion, so lots of refactoring can still be done.
2008-02-05 19:44:27 +00:00
MW 542cd417c8 Small refactoring on Terrain Update sending, so that other code can force terrain updates to be sent to clients. 2008-02-05 15:03:08 +00:00
Teravus Ovares ca5aadfbff * Refactored the sound calls to SceneObjectPart
* Fixed a few bugs
* Wrote an example module to make certain event systems more mature.
2008-02-05 05:26:18 +00:00
Adam Frisby 6fbc64af5e * Whole buncha stuff. 2008-02-04 10:39:30 +00:00
alondria 742ed9537d Implements LSL function llDialog().
The ScriptDialogReply packet handler is a bit of a hack job. It is currently handled similar to ChatFromViewer, which will trigger the listen() event, however this is not exactly how LL's implementation works and will/can be fixed up later.
2008-02-02 22:53:01 +00:00
Teravus Ovares 7476b26ae7 * Added a way to temporarily disable physics using the estate tools
* Added a method for Tedd to hook to in scene to disable the Scripting engine that currently says, [TOTEDD] Here is the method to trigger disabling of the scripting engine.
2008-02-02 17:43:21 +00:00
Teravus Ovares f0811e4800 * This update updates ODE to again use the AMotor to keep the avatar upright instead of the 'avatar wobble' This also uses a hack to detect debian and change the force applied by the AMotor to a different value for Debian. The intent of this all is to get the avatar to stand up in Debian with the AMotor. 2008-01-23 23:57:54 +00:00
Teravus Ovares 09a616e1ea * Added ReadEtcIssue to Util
* If you have Debian running, you should get a platform line that says, 'Found Debian!' when starting up your sim.
* If someone running Debian will confirm this does occur, that would be most helpful.
2008-01-23 23:32:19 +00:00
Teravus Ovares adf05e682e * One more try at specifically identifying Debian from the code.
* There's 3 platform lines now.   Would someone running debian and/or Fedora core please try this revision out and send me the three [PLATFORM] lines?
2008-01-23 22:30:12 +00:00
Teravus Ovares 6874beff52 * When Scene loads, added a platform string print out for testing purposes. Anyone on Debian want to run this revision and send me back the two platform lines? It would be helpful. 2008-01-23 22:07:48 +00:00
lbsa71 8d0364e228 * changed nonsensical PermissionMask and ObjectFlags mixup; if this causes perms weirdness, let's all work together to find the real cause. 2008-01-22 15:07:30 +00:00
Teravus Ovares 5cf96daaf2 * Enabled dead region tracking for ChildAgentDataUpdates
** If the region fails 3 times, then ChildAgentDataUpdates no longer get sent to that region
* Enabled Child_Get_Tasks in grid mode.   
* When Child_Get_Tasks is enabled on neighbor regions, the neighbor region uses the client's draw distance to send out prim.   This is a lot less likely to flood the client now since the ChildAgentDataUpdate contains both the throttle settings and the draw distance.   This means that with this enabled, you can see prim in other regions in grid mode.   Very experimental.
2008-01-22 08:52:51 +00:00
Adam Frisby 7d61705c3c * Renamed a number of TerrainEngine functions to conform naming standards better. 2008-01-22 00:33:05 +00:00
Teravus Ovares 3fe6b2280d * Shutting down child agents properly in neighbor regions. 2008-01-21 23:04:42 +00:00
Teravus Ovares a3851b3812 * Added hooks for logout to all IUserService and all that implement it.
* Added a Logout message with a name on the console
* Added a *fixme* message to figure out why the current agent session is null
* After updating you may notice that there's a login <user> and also a logout<user>
2008-01-20 23:08:50 +00:00
Teravus Ovares 64392b4fac * Found and fixed a situation where a neighbor region would come up send a notice and would be tagged as 'too far away' when it was right next door. 2008-01-20 05:51:38 +00:00
Tedd Hansen 4b56e0e324 removed additional debugging, added temp mega-debugging to StoreLandObject 2008-01-19 21:33:39 +00:00
Tedd Hansen 9e9ba262f7 More debugging 2008-01-19 21:16:22 +00:00
Tedd Hansen 4ab19afc0a More debugging 2008-01-19 20:45:09 +00:00
Tedd Hansen 6353df5569 More debugging in hunt for that random startup crash 2008-01-19 19:49:08 +00:00
Tedd Hansen 8351894170 one more try before I leave 2008-01-19 11:25:08 +00:00
Tedd Hansen 8c5d93eff6 "compile before commit, AND check compile result" - forgot a ; 2008-01-19 11:19:02 +00:00
Tedd Hansen ca772be0d4 Still hunting, added debug output 2008-01-19 11:17:12 +00:00
Tedd Hansen d23222cbc6 Added block for scenario: global exception handler called in loop when exception happens inside global exception handler
Added InnerException to output
2008-01-18 23:45:16 +00:00
Tedd Hansen ab5527dd53 Why don't you try compiling before you commit?
No, I don't need to. I'm good, my code never fails!
2008-01-18 20:55:14 +00:00
Tedd Hansen 0d8b8d340c Nope, that didn't do it - trying lock on performParcelPrimCountUpdate instead 2008-01-18 20:52:53 +00:00
Tedd Hansen 8fbac08fb5 Added a mutex lock on loadAllLandObjectsFromStorage so maybe just MAYBE we can get rid of that annoying startup crash... 2008-01-18 20:46:53 +00:00
Teravus Ovares c2863df49d * Added and implemented the LSL changed event.
* An example changed event syntax is at: http://opensimulator.org/wiki/Changed_Event_Example
* You can use this to trigger actions in your script if someone sits on your object_rez
* You can use this to figure out all of the CHANGED_ constants except for CHANGED_REGION, CHANGED_TELEPORT, and CHANGED_ALLOW_DROP
2008-01-17 02:23:48 +00:00
Teravus Ovares c3061717d0 * Fixed a packet counting issue that I introduced
* Fixed a bunch of goofy math for calculating the sim stats counters
* Made most of the sim stats counters additive so it's easy to change the sim stats interval
* Changed the sim stats send interval to 3 seconds
2008-01-16 19:34:48 +00:00
Teravus Ovares 5dd741267e * Added Agent Time, Pending Downloads, and made Agent Updates/Sec actually accurate.
* We're only missing, the script related sim stats counters and the Images time counter and the Pending Uploads counter.  The rest of them are actually implemented now.
2008-01-16 05:48:40 +00:00
Teravus Ovares 5958192398 * Added Packets In/s, Packets Out/s and Current un_acked Packets to the SimStatsReporter
* This doesn't take into account the throttler, it just assumes the throttle limit isn't reached.
2008-01-16 03:33:46 +00:00
Teravus Ovares 314c554ed4 * Refactored the SimStatsReporter to reuse the same packet and packet blocks over and over again instead of creating 1 a second.
* Added frame Milliseconds, Physics Milliseconds and Other Milliseconds to the Sim Stats Reporter so we can start to figure out what the slowdowns are. (these were the most convenient to get and had just about no overhead.
2008-01-16 02:48:39 +00:00
Teravus Ovares 45e945616b * Pass 2 of collidable (non physical) linksets
* Linkset status is now persistent
* Tweaked a physics child prim positioning hack to generate less database saves
* Re-factored physics object creation calls into ApplyPhysics.  To create a new physics representation of an object or linkset, it's only necessary to call *group*.ApplyPhysics(bool m_physicalPrim).  *lbsa has been waiting for this refactoring*
* We have collidable linksets now. (they don't become phantom anymore)
2008-01-15 04:14:27 +00:00
Adam Frisby b25f9f322c * Mother of all commits:
* Cleaned up copyright notices in AssemblyInfo.cs's
* Added Copyright headers to a bunch of files missing them
* Replaced several common string instances with a static constant to prevent reallocation of the same strings thousands of times. "" -> String.Empty is the first such candidate.
2008-01-15 02:09:55 +00:00
Teravus Ovares cbcba1f026 * Unmoderated the ODE FPS in the sim stats. Decided to do that after Andrew Linden insisted that Havok was running at 45fps internally.
* Set the SimStats packet as unreliable (so we don't require an ack and do resends on it)
2008-01-12 04:12:38 +00:00
Adam Frisby bf8ffc7a0c * For your enjoyment, some RAdmin improvements, namely a new LoadHeightmap method. 2008-01-12 03:17:28 +00:00
Justin Clarke Casey 95c9a9939e Commenting out InnerScene.SceneObjects for now since it was unpopulated and not used by active code (as far as I can see), so a source of confusion. All
current code uses the Entities dictionary
2008-01-07 02:33:22 +00:00
Justin Clarke Casey 3e75dede1b Persistent prim inventory phase 5. Restart scripts contained in persisted prims on region start.
No user functionality exposed yet - no ini switch to enable persistence or restore.  A bit more initial work to do.
2008-01-07 02:12:06 +00:00
Teravus Ovares 9ea4c03b8f * Hiding CompletePingChecks and UseCircuitCode messages.. as the packets are most definitely handled.
* My guess is someone was using them to diagnose a problem and they've been in the console output ever since.
2008-01-05 22:06:24 +00:00
Teravus Ovares 960b7e93b1 * Added the ability for estate managers to use the magic secondlife blue card of death to send out region and estate messages.
* Switched over Region Restart notices to the magic secondlife blue card of death method.
2008-01-04 02:24:05 +00:00
Johan Berntsson 047aba2067 I have fixed the ZeroDecodeCommand bug, and restored my packet recycling code. Let me know by IRC if there are other problems 2008-01-03 00:59:12 +00:00
Teravus Ovares a72d33d3a5 * Added the ability for Region Owners to add and remove estate managers using the estate tools.
* Estate managers get abilities like the region owner for now.
* Estate managers, you'll need to request server admin status to be able to activate the estate tools dialog (haven't figured out why this is the case yet)
* Switching from grid mode to standalone or switching grids will make the stored Estate Manager UUIDs not match up with a valid account so you'll see (waiting) listed there instead of a user until you reset them or go back to the grid you added them from.
2008-01-02 20:25:47 +00:00
Teravus Ovares b4c9b6bd19 * You can add and remove a friend in standalone now within the same simulator. It saves.
* You can add and remove a friend in grid mode now within the same simulator.  It doesn't save yet.
* I got rid of Mr. OpenSim as a friend..   he bothers me /:b...
2008-01-01 06:12:04 +00:00
lbsa71 14a191b285 * re-applied AddNewPrim refactoring... third time now... 2007-12-30 16:00:55 +00:00
Teravus Ovares 32438ab1b9 * This update rolls back the packetpool and LibSL changes. Please retest and then patch these changes back in. Currently it's not quite ready for 0.5. The down side to this action, is that we loose some performance to the garbage collector for now. Given that the target date for 0.5 is *Two days* from now, I'm taking the initiative to work towards a real stable version.
* This update also fixes scripting and some weird physics reactions
2007-12-30 06:18:17 +00:00
Teravus Ovares f64d94f8ca * Rezzing items from Inventory on top of other prim rezzes them 0.5 meters above the 'hit' prim instead of buried in the ground somewhere.
* Various Refactorings
2007-12-28 14:24:14 +00:00
lbsa71 6a02900c8a * redid the AddNewPrim refactoring as that got lost in r2855 2007-12-28 09:17:01 +00:00
Adam Johnson 79496381fc Patch from Johan: LibSL updated to the latest revision (1568) and all packets are now
recycled to improve performance and memory usage.
2007-12-28 08:51:39 +00:00
lbsa71 8cd72beb86 * Moved PrimitiveBaseShape subclasses into factory methods - the subclassing scheme won't hold for serialization
* Extracted out the 'old' AddNewPrimitive that places an object at an exact pos, without the raytracing
2007-12-28 08:34:38 +00:00
Teravus Ovares 67bbed8202 * Added ability to create new prim on existing prim (rezzing prim from inventory on other prim coming soon). No more new prim buried in the ground by accident.
* The prim are at the absolute position of the prim you rezzed it on top of + (0,0,0.5) for now.
2007-12-28 05:25:21 +00:00
Charles Krinke 9b36c6c3ad Add missing "System." to System.NullReferenceException
so Linux build works again.
2007-12-28 03:45:19 +00:00
lbsa71 efd90b56b7 * Optimized usings
* shortened references
* Removed redundant 'this'
* Normalized EOF
2007-12-27 21:41:48 +00:00
lbsa71 87e2a694e2 * AssetServerBase: _ProcessRequest is now called GetAsset
* PrimitiveBaseShape: The textures are now exposed as a 'TextureEntry Textures'; all serialization still using the 'byte[] TextureEntry' for backwards compatibility.
* Scene: Re-added AddTree, since the Tree type isn't gone from libsl, merely relocated.
2007-12-27 14:00:30 +00:00
Justin Clarke Casey 280a5cba8b Prim inventory script saving phase 1. Create necessary CAPS structures for correctly accepting prim inventory script updates.
No user functionality yet.
Refactoring to follow.
2007-12-24 22:35:01 +00:00
Charles Krinke fa2495ae6b Again, great thanks to Alondria for:
Adding:: llSetParcelMusicUrl(), llGetRootPosition(), llGetRootRotation(), 
llGetGeometricCenter(), llSetLocalRot(), llListReplaceList(), 
llGetObjectPrimCount(),llGetParcelDetails(), llGetParcelMaxPrims(), 
llWater(), llGetLocalRot(), and llGetAccel()
2007-12-24 21:16:32 +00:00
Charles Krinke 09651f298c Added regionName to "far away" region report. 2007-12-24 17:26:28 +00:00
Teravus Ovares b2903c4a8a * Patch from Alondria - Added LLFunctions llGetMass(), llGetLandOwnerAt(), llGetVel(), llGround() 2007-12-23 13:14:56 +00:00
Teravus Ovares de32006f9a * Added smoother handling of interpenetrating physical objects.
* Fixes:
* -- duplicating Active physical object causes objects to explode in opposite directions
* -- Rezzing objects too close to you avatar causes avatar to shoot around in odd directions
* Vanity
2007-12-22 05:43:34 +00:00
Justin Clarke Casey 1ac57290ae Initial hookup of update task inventory event. No functionality yet. 2007-12-22 02:52:35 +00:00
Teravus Ovares a453672edb * Remapped the Connection shutdown path.
* This fixes a *bunch* of Mantis bugs related to the following
* -- Neighbouring simulators not appearing after relog
* -- Login to simulator only to be logged off by simulator.
* -- ThreadAbort 
* -- Unable to shutdown circuitCode: x
2007-12-21 16:55:03 +00:00
mingchen 0e6915ae48 *Ban lines now work if they are enabled grid wide.
*Restricted lines just give you a friendly warning for now
2007-12-20 16:50:16 +00:00
Teravus Ovares dcaea6cd50 * Cleaned up some code from an earlier commit 2007-12-20 15:42:53 +00:00
Teravus Ovares 8aae909412 * Added a configuration parameter on the Grid Server to disallow forceful banlists.
* Added a way for Grid based configuration parameters to (generally used in overriding functionality) to get to the regions on Registration.
2007-12-20 06:31:03 +00:00
Jeff Ames be2ad79e52 Added patch from Johan. First attempt to solve the LibSL.Packet GC problem. Works with LibSL rev>1532 2007-12-20 05:43:02 +00:00
mingchen a596b7696a *Made a much more network friendly method of ban and pass line sending
*Added an event that is triggered when an agent enters a new parcel
2007-12-20 02:36:27 +00:00
Teravus Ovares ccc8ffaaec * Added Incomplete Handling of the RegionInfoRequest packet
* Added Incomplete Handling of the EstateCovenantRequest packet 
* Added Incomplete Handling of the EstateOwnerMessageRequest.ChangeEstateCovenantid method
* Fixed a race condition with avatar animations
2007-12-18 12:08:34 +00:00
lbsa71 03635aa336 * Renamed AgentWearable to AvatarWearable
* Made Terrain texture temp (it's re-created on every run)
2007-12-18 07:57:06 +00:00
Teravus Ovares badcbd4bea * Fixed a potential race condition with adding Caps handlers 2007-12-18 01:49:21 +00:00
Teravus Ovares 38fe0dfa90 * Added a Verbose and Debug error to border crossing so that this can be diagnosed further. 2007-12-18 01:45:39 +00:00
Teravus Ovares afe63faa2e * Fix for mantis 0000040 After client logout remote host closed connection on Simulator makes sim unuseable->'Closed Connection Called'
* I've fundamentally changed a few things, so this is experimental
* The routine that I used needs to be tested on Linux.  I don't expect it to cause a problem, but hey, it might.
* Child agents are still not logged off properly, so when the first set time out, the second set get logged off also, on the second log in if the second login is initiated before the first one fully times out.
2007-12-18 00:34:42 +00:00
Teravus Ovares adf7afb606 * Turned all instances of ForEach loops in ClientManager into Local Arrays.
* Added Locking while the Copy is taking place.
* Added an error message to describe what's actually happening.
2007-12-17 20:24:49 +00:00
Charles Krinke a990c64698 Thank you to Kiryu for a patch to fix an out of Sync
error in Scene. Affects 6 files and is Mantis#201
2007-12-17 16:41:28 +00:00
mingchen d845da215f *Land has now been linked to the StorageManager. Next step is to fill in the functions for the different datastore interfaces for Land Objects. 2007-12-17 03:49:13 +00:00
mingchen e2ed1a4e1f *Adding and Removing Avatars from the Access/Ban List for a parcel now works, but the actual ban lines, etc are not done. 2007-12-16 19:53:27 +00:00
Brian McBee 8a8c89a0f3 Grid Inventory feature upgrade: renaming folders should now be correct, subfolders work, moving folders works.
Tested only in MYSQL, but may work in MSSQL and sqlite.
Probably not working in standalone mode.
2007-12-15 04:57:14 +00:00
Teravus Ovares 7fdfeb5830 * Added Active(physical) object count to the SimStatsReporter 2007-12-14 00:49:40 +00:00
lbsa71 1cf4278862 * Debugging Shape
* Adding namesetting to Create
2007-12-13 14:47:44 +00:00
Teravus Ovares 5e6483f209 * In our quest for sim heartbeat stats, we're a touch closer to accurate object count on sim stats.
* Fixed a rare, but possible NullReferenceException
2007-12-12 18:03:37 +00:00
MW 8a2a6ad761 couple of small fixes. 2007-12-12 17:15:37 +00:00
Teravus Ovares 331db2336c * Added Object count to sim stats (it's incorrect, however, it'll be fixed) 2007-12-12 14:07:26 +00:00
Teravus Ovares 6a4a10f0a1 * Fixed agent counts on the Simulator stats pane 2007-12-12 13:52:30 +00:00
Teravus Ovares 081f4403ea * Added some simstats to fill the simulator pane of the Statistics monitor.
* I stress, this is an initial implementation and the Agents(Child and Root) are definately obviously incorrect.
2007-12-12 06:58:55 +00:00
Teravus Ovares 9abe4b2ebf * Start listening for client connections immediately after a region initializes during initial instance startup. (as opposed to waiting for 'all of the regions' to initialize first)
* Removed hackish timer based client notification about regions up (no longer needed)
* Added a comment about an inventory based login failure that causes me lots of greif testing and debugging.  Comment includes *why* it's failing.
2007-12-12 00:38:57 +00:00
Sean Dague c7f5a94763 put in a try block to catch the ForEach loop dying. 2007-12-11 22:20:22 +00:00
Teravus Ovares d67009a78b * Added some locking to help race conditions in the neighbors lists 2007-12-11 21:43:17 +00:00
MW 60c96ab687 Couple of more small changes 2007-12-11 18:29:19 +00:00
MW 909fcd554f A few minor changes/additions/fixes. 2007-12-11 16:05:53 +00:00
Brian McBee 16903ec488 Implementing updateinventoryfolder: Should now be able to rename folders in inventory 2007-12-11 03:51:32 +00:00
Teravus Ovares 2349dc2e27 * Added comments to many methods in the listed files. 2007-12-10 21:12:38 +00:00
Teravus Ovares eac9bc6889 * More refactoring to prepare for draw distance based agent sim notification. 2007-12-10 19:16:50 +00:00
Jeff Ames 40fd37f95a Refactored animation handling in ScenePresence. Now maintains a list of current animations.
* Fixes weirdness when typing and sitting at the same time
* Should fix bug #32 (getting stuck in edit appearance pose)
* Crouchwalk and possibly jump may need more looking into
2007-12-10 15:08:44 +00:00
MW 611327e104 more work on texture downloading.
Refractored the TextureDownloadModule (but currently to make debugging easier, it is running as a non shared module, so this results in a instance of this module being created for each region (and a extra thread per region), this will be changed back soon.
Removed the old texture handling/sending code from AssetCache.
A few other small changes/fixes.
2007-12-10 13:27:23 +00:00
Jeff Ames af6eb67999 saved OpenSim source code from the giant rampaging unterminated copyright notice of doom 2007-12-10 05:25:16 +00:00
Teravus Ovares e595f82489 * Hooked up the GridComm event ChildDataUpdate to the scene.
* Added List<RegionInfo> m_neighbours to Scene 
* Hooked up the OnRegionUp event to m_neighbours list 
* Modified RegionInfo to have a bool commFailTF value so that we can skip neighbors that fail.  (when the region comes up, this gets reset to false and the region will try again.
* Added SetChildAgentThrottle(byte[]) to IClientAPI 
* Several other insignificant changes related to passing child pertanant agent data from sim to sim.
2007-12-10 00:46:56 +00:00
Brian McBee 383eccc543 hackish code to allow emptying of trash. This really should be done on the inventory server, and not from the region.
Also: it appeared to work the first try, so I have probably done something horribly wrong.
2007-12-08 20:41:37 +00:00
Brian McBee beca2373e1 Allow moving, deleting, and restoring objects in inventory.
Note: only tested in grid mode, and emptying trash is still not implemented.
2007-12-08 19:13:10 +00:00
Teravus Ovares e0e9237a89 * Added back the regionup code so people in nearby sims can see a downed sim coming back up. 2007-12-08 17:25:34 +00:00
MW e23290eff6 Avatar Appearance refactoring /changes. Added a AvatarAppearance class, each ScenePresence "has" a AvatarAppearance object. All the ScenePresences in a opensim related to one user (so a user's various ScenePresence's in all the regions in that instance) share the same AvatarAppearance object. This means that a user's avatar should appear correctly (to both that user and other users) no matter what border crossing or teleporting they have done.
Note: this mainly improves Standalone mode, as in grid mode the appearance data isn't passed between region servers. Although people should notice a improvement when moving between regions in the same instance.
2007-12-07 17:23:11 +00:00
Sean Dague 1ad83bcf1b reversing the r2599 patch, as this started causing CreateThread errors for
me on Mono 1.2.4, which led to client crashes.  I think the Timer.Stop() 
wasn't doing what was desired on Mono.  The Queue refactoring should address
the readability issues lbsa71 was working on as soon as I get the merge together.
2007-12-06 20:13:02 +00:00
lbsa71 395637acdd * now the throttle timer is stopped whilst processing Queue so that it won't fire twice
* started to refactored throttling method
* some code convention refactorings
2007-12-06 14:08:22 +00:00
Jeff Ames 1c593d9e19 minor cleanup of Scene.cs (parameter naming, function documentation stubs, duplicated UUID, you know...) 2007-12-06 04:01:56 +00:00
Sean Dague 9c81b8a430 From Gary Chernega (IBM)
This patch adds x, y, and z offsets to the load-xml command.
If you had a prim at 100,100,20 thats where it would get loaded everytime. 
This patch lets you place it at an offset from 100,100,20.. as such:

        load-xml <filespec> -newUI 3 1 2

Loading the prim at 103, 101, 22
2007-12-05 18:45:05 +00:00
MW be93de1257 made one or two more methods in Scene virtual to allow overriding in sub classes. 2007-12-05 13:23:12 +00:00
Teravus Ovares bb824eadee * Refactored Permissions into ScenePresence as requested by MW
* Un-hackerized generating the client_flags 
* Now handling the ObjectPermissions Update packet 
* Warning: Backup your prim before updating.  If you fail to do so and something goes wrong then, All Yr prim are belong to us!
2007-12-05 06:44:32 +00:00
Adam Frisby 91c1e8a734 * Fixed a whole bunch of console messages. 2007-12-04 10:13:13 +00:00
Adam Frisby be7ae3dd3e * Removed 12 compiler warnings. 2007-12-04 08:18:09 +00:00
Sean Dague 8f58a9a107 From Justin Casey (IBM)
While exploring what it would take to get the 'new script' button working,
I encountered the fact, some way down in the rabbit hole, that if a user
renamed an item in their inventory and logged out (without a restart of
the simulator), on log in the new name was not preserved.

As far as I can see, this was because any updates which didn't occur
inside a transaction were ignored by opensim.  This patch pays attention
to those changes.  It generates a new asset when an item is updated and
changes the user's inventory properties appropriately.  I believe this
behaviour is in line with the copy-on-write semantics used in the Second
Life protocol - perhaps it could be optimized if we knew for sure that the
only copy of the object was in the user's inventory.

This also means that if you rename an item (e.g. a script) before you drag
it into an object's inventory, the inventory will receive the item's most
recent name and description.
2007-12-03 20:06:01 +00:00
MW 690e517240 Added a flag to load-xml console command, that will generate new uuids for the loaded Sceneobjects (as per mantis request #53).
To use append "-newUID" to the end of the command, so new format is : "load-xml <filename> -newUID". 
If you don't add the "-newUID", then the uuids in the xml file will be kept.
2007-12-03 14:57:39 +00:00
Jeff Ames 4c0ddacc16 minor meaningless changes 2007-12-03 07:26:27 +00:00
MW cac98171e5 Very partial Avatar Appearance (ie, clothes/body parts) "storage". In standalone mode it will mean that when you log off and log back on ,as long as the region server hasn't been restarted , your avatar will start with wearing the clothes that it wore on log off. In grid mode its even more limited in that wearing/removing clothes/body parts are only stored in the region server instance you are one. so if you are in a different region to your login region (which are on different region server instances), and then change clothes, those changes won't be remembered. So as said, its very limited but is a small step towards having proper appearance persist.
Just need to store this data out to a database.
2007-12-02 14:56:23 +00:00
MW 7bc28e0571 the fix, so that trunk works again 2007-12-01 14:25:46 +00:00
MW 27f182ac54 Part 1 of a commit. This revision will not compile, part 2 will be added in a couple of minutes that should fix that.
Some work towards persisting Avatar Appearance (what is being worn).
Added OnAvatarNowWearing event to IClientAPI that is triggered by AgentIsNowWearing packets.
stub code to subscribe to this event in AvatarFactoryModule. 
Todo: code needs to be added to AvatarFactoryModule to save the uuids to a database and then read them back when that modules TryGetIntialAvatarAppearance() method is called.
Done some changes to Scene to make it easier to subclass it: including changed some private fields to protected and made some methods virtual.
2007-12-01 14:20:37 +00:00
lbsa71 d2b1b54f49 * Removed permissions flag appliance from Xml deserialization
* Various code convention compliance
2007-11-30 08:08:14 +00:00
Teravus Ovares 31cec30aa0 * Extended our semi-stupid implementation of in world object permissions to show a user's client that it can't edit a prim if it doesn't have permission.
* Permissions is due for a big revamp. The current way it's done is a hack at best.
2007-11-30 04:54:15 +00:00
lbsa71 7704bb6f63 * Fixed neighbour range bug
* Various refactorings
2007-11-29 15:27:57 +00:00
Teravus Ovares 4738fead21 * Added a 50 second restart notify timer that gets reset when new regions come up to give servers that host a lot of sims a long time to start listening. 2007-11-29 07:25:58 +00:00
lbsa71 a32bb91675 * minor refactorings 2007-11-29 06:07:48 +00:00
Teravus Ovares 81ba94fde8 * Fixed about 7 issues with restarting sims and resolved interRegion comms issues. This includes the issue that MW described this morning.
There's a lot of little nit picky changes that make a world of difference.
2007-11-29 02:07:19 +00:00
MW ac77c50ba9 Moved the m_sceneGridService.RegisterRegion(RegionInfo); call out of LoadWorldMap and into its own public method (which is called during region creation). We shouldn't have things like that in methods like LoadWorldMap as some regions might not being having a worldmap loaded via the LoadWorldMap method (like in custom applications).
Deleted the CreateTerrainTextureInitial Method which was a 99% duplicate of CreateTerrainTexture, with just a bool field setting difference. That bool is now passed to CreateTerrainTexture as a param.
2007-11-28 12:36:09 +00:00
Teravus Ovares c021bfe191 * Disambiguation in the 'sim is restarting message' that tells you 'which' sim is restarting in the area. 2007-11-28 06:31:27 +00:00
Teravus Ovares b7d596a6af * Restaring the sim works fine in grid mode now. Sims announce themselves to their neighbors when they start up. Neighbors get this message and tell their agents that there's a new sim up.
* Certain unrecoverable physics based crashes in ODE are now hooked up to the 'restart the sim' routine.
2007-11-28 06:18:07 +00:00
MW b916d5b112 Fixed bug, where the clients in a region weren't told to kill a user's avatar when that user teleported to a different region. 2007-11-27 15:44:39 +00:00
Teravus Ovares 082f2baebe Fixed an event in the events chain in inter-region communications.
As a consequence, restarting sims in the same process instance now shows them when they come back up in grid mode and standalone mode.
2007-11-27 13:46:52 +00:00
Teravus Ovares 175b6115f1 * Restarting regions with the estate tools works in sandbox mode. I'm still working on grid mode, however. It doesn't break anything, but that feature doesn't work in grid mode yet either. 2007-11-26 05:02:18 +00:00
Brian McBee c710525b48 Added Region name to the terrain texture description that gets sent to the asset server 2007-11-25 22:27:42 +00:00
Brian McBee 7720be5a39 Rez new prims ON the ground, not halfway buried. Mantis 33. 2007-11-25 17:53:16 +00:00
Teravus Ovares d263a044b1 * Added the ability to restart your individual sims from within them using the estate tools.
* The sims properly restart, however they don't yet notify the existing avatars that they are up.  To see the sim again, you'll need to log-out and back in until I can figure out how to get the proper data to the sims and to the avatar so they reconnect again.
2007-11-25 04:52:14 +00:00
Brian McBee 21ce2b0979 Ignore nullreferenceexception in removeclient. The avatar is already gone. 2007-11-25 04:33:18 +00:00
Teravus Ovares 18e1e62f26 * Changed reference to NullReferenceException to System.NullReferenceException for Linux 2007-11-24 04:12:55 +00:00
Brian McBee 892f942523 Test storing terrain texture to grid assetserver on startup. Needed for main map functionality. 2007-11-24 03:55:35 +00:00
Teravus Ovares 944b118c62 * Added a way for the Region master user to kick individual users from their sim with a custom message. Their client says, "You've been logged off of secondlife, <Your custom message here> and logs them off.
* Added a way for the Region master user to kick *ALL* users from *ALL* their regions in the estate with a custom message.
2007-11-24 03:28:42 +00:00
Teravus Ovares 52714c339e * Hanling RequestGodlikePowers. On Request.. sends the sim owner's client the appropriate messages to make it think it's got god status. Will be used for finding more unimplemented packets.... 2007-11-24 01:38:36 +00:00
Teravus Ovares d7ec786244 * Added a nice 'The Region is going down.' message to the user when the sim owner issues 'shutdown' on the console. 2007-11-24 00:19:48 +00:00
mingchen 51d4d88985 *Fixed bug causing parcel prim counts to stop updating. 2007-11-23 20:17:49 +00:00
mingchen e7edd02019 *Fixed bug that resulted in most land settings being sent to the client. Media settings/parcel name are now correctly sent. 2007-11-23 19:07:41 +00:00
Teravus Ovares 1ecd803e87 * added some functions for use in raytracing. They're kind of crappy now, so they only display 'guesses' on the console when you rez a prim.
* any math gurus who'd like to improve rezzing need only to make the raytracer in SceneObjectPart work :D
2007-11-23 05:56:35 +00:00
Teravus Ovares 7cb38712d5 * Did some initial work for prim crossing. Just glue so far.
* Added the child_get_tasks OpenSim.ini flag for testing the UDP packet sending code and packet throttler.   This flag gets purposely disabled in grid mode.  This flag also has the consequence that you can see the prim in neighboring regions without going into them.  Be warned, this causes tons of dropped packets.
2007-11-21 02:17:24 +00:00
Teravus Ovares 5a71d03b7a *Huge* structural changes in ODE/OdePrim to get all of the calls in threadlocked code. ODEPrim was almost completely re-written.
Copy/Space test needed.
2007-11-20 04:38:08 +00:00
Teravus Ovares 615b40b68b * Refactored IClientAPI.OutPacket to require a second mandatory parameter. This parameter has an enum:int ThrottleOutPacketType and contains types; Resend, Land, Wind, Cloud, Task, Texture, and Asset. 2007-11-18 15:54:05 +00:00
Jeff Ames d10c79d421 first stab at implementation of CopyInventoryItem 2007-11-18 13:50:46 +00:00
Teravus Ovares 46ccfa1741 * Found several cases where prim set physical were not subscribing to physics events. 2007-11-18 13:37:02 +00:00
MW f71fa731f5 Made the background (ie empty space) colour of the exported map image blue. 2007-11-18 12:18:56 +00:00
MW 87b07c19ef Added "export-map <filename>" console command to the region server that will export a jpg image of the world map covering a 20 X 20 regions area centred on the current active region (ie the one set with change-region). While this should work in grid mode (if using the grid asset server and if my last commit did fix the world map), you might need to call the "export-map" command then wait a little while (60 seconds?) and then call it again so that you make sure the region has got all the texture assets from the asset server. 2007-11-18 12:04:21 +00:00
MW 7f99644864 Attempt to get World Map working in Grid mode, will need to be using the grid asset server for it to work correctly and has only been quickly tested in a three region grid.
Moved PermissionManager creation out of the Scene constructor and instead a PermissionManager is passed to the constructor as a param. So that we could create and use custom permissionsManagers.
Added AllowMovement property to ScenePresence which can be used to stop movement of avatars (for example in a custom region that wanted avatars always in one place).
Added PermissionManager call when copying objects, although currently the call will always return true so that it allows copying in places like Wright Plaza. 
A few other changes/fixes.
2007-11-18 11:11:44 +00:00
Dalien Talbot 2cd00f46b9 For every problem there's a solution that is simple, neat and wrong.
Looks like it has nothing to do with childregions - reverting and will 
try to debug after the sleep. Sorry for the noise :)
2007-11-18 07:58:04 +00:00
Dalien Talbot 0d8a2cccfd Looks like we're requesting the mapblocks for every agent - including
childagents. The infrastructure is not robust enough to handle it at 
this time - so ignore all the MapBlock requests for childagents.
2007-11-18 07:40:30 +00:00
Dalien Talbot f7b5c6550b Second try at having a bandaid for the multiple logins crash 2007-11-18 07:16:17 +00:00
Teravus Ovares 5fd2fa687e * Resolved the situation where prim is loaded from storage and when pushed never stops. 2007-11-16 22:13:13 +00:00
mingchen eb2f626561 *Added the TimeDilation property to Scene 2007-11-16 22:02:16 +00:00
Teravus Ovares 179695909a * Implemented the little friendly pop tooltip messages that appear when you hover your mouse over prim with the object name, description, ownerid.. etc. 2007-11-15 07:32:24 +00:00
Teravus Ovares 9f6b3e2357 * Added AvatarPicker in Standalone mode. Works for finding avatar to ban, manually trying to add a friend (with the add button) or useful to those who are curious which usernames have visited your standalone sim. Important for future development :D.
* Grid mode always returns 0 results until the Grid Communications portion is done.
2007-11-13 22:48:19 +00:00
Sean Dague eb41ec00c9 first pass on unlinking of objects. From Jay Clarke (IBM) 2007-11-13 19:57:11 +00:00
MW 297cc7ef4f Some work on cleanly removing Regions. 2007-11-13 12:23:05 +00:00
Teravus Ovares ec77e1eb17 * adds flag in OpenSim.ini for disabling physical prim. Look at OpenSim.ini.example in the bin folder for an example. 2007-11-11 00:08:18 +00:00
Sean Dague 2884112227 move Sun into a Region Module, pass 1. Currently this works fine with
a fixed 30 minute day and the sun going East -> West again.  It gets rid of
super noon as well.  It's a bit debug heavy right now, which I'll clean up
tomorrow.  I also plan to make time progression configurable in OpenSim.ini,
but that will be tomorrow.
2007-11-07 22:22:32 +00:00
MW 73fbacea1f Started to cleanup/close down childagent connections when a user teleports. As the client will not close old childagent connections without being told explicitly to do so by each region the connection is to. Currently only implemented in standalone mode. ( the TellRegionToCloseChildConnection( ) in OGS1GridServices.cs needs implementing for grid mode, and the inter region .net remoting added for the new messages).
hopefully fixed the echo bug in chatmodule.
2007-11-05 13:58:44 +00:00
MW d56ed8fe9c Some more refactoring 2007-11-04 22:22:53 +00:00
MW 039f2c46c0 Added support for OpenSim application plugins (as requested by Adam), which use Mono.addins for loading/management. (which is a pure .net solution so works on both Mono and MS .net, and is under the MIT license, will add the source code for the library later). I also suggest we look into switching to using Mono.addins for our Region module loading management.
A little bit more refactoring of Scene.
2007-11-04 13:48:15 +00:00
MW dabbdec2cd First part of Scene refactoring:
Started the move of some of the methods from scene into a inner class (currently called InnerScene.cs), the idea being that the code related to the 3d scene (primitive/entities/Avatars etc) will be in this inner class, then what is now Scene.cs will be left as a kind of wrapper class around it. And once the spilt is complete can be renamed to something like RegionInstance (or any name that sounds good and ids it as the Region layer class that "has" a scene). 
Added SceneCommunicationService which at the moment is a kind of high level wrapper around commsManager. The idea being that it has a higher level API for the Region/Scene to send messages to the other regions on the grid. a Example of the API is that instead of having sendXmessage methods, it has more functional level method like PassAvatarToNeighbour. Hopefully this will allow more freedom to do changes in communications that doesn't break other things.
2007-11-03 19:14:22 +00:00
darok f8e0cf0f1d Changes in BulletXPlugin: Added new class BulletXActor class inherits from PhysicsActor and it's the ancestor for BulletXCharacter and BulletXPrim.Physical modifications: Changes for pass the value of Physical flag in the SceneObjectPart class to the Physics engines. New call for AddPrimShape so it has a new parameter called "isPhysical". The old call will be obselete soon (i believe). PhysActor and its descendants have a new property called IsPhysical. By the way no new special funcionallity added. It's more like preparing the way for new modifications. 2007-11-03 10:25:43 +00:00
lbsa71 4fad66f855 * Diuerse beavtificatems 2007-11-01 19:19:05 +00:00
Charles Krinke 8af272b3ab Thank you, Melanie for solving: When receiving an ObjectAdd packet, the Rotation member is silently ignored and the prim is created with 0,0,0,1 rotation. The patch introduces a fix that passes the Rotation parameter from the packet to the object and uses it in the actual object creation. 2007-11-01 03:56:54 +00:00
Jeff Ames 13854d562f fixed filenames in log messages 2007-10-31 07:56:31 +00:00
Jeff Ames 7f0d836d35 made illogical bitwise operations logical 2007-10-31 05:29:51 +00:00
dan miller f5195a453c Tevarus' patch for object flags & implemented Phantom edits 2007-10-30 23:38:56 +00:00
lbsa71 67e12b95ea * Optimized usings
* Shortened type references
* Removed redundant 'this' qualifier
2007-10-30 09:05:31 +00:00
MW 3d8219f6c7 as per the "Filesystem cleanup for OpenSim repository" mailing list thread. Have flattened the OpenSim.Framework project/namespace. The problem is that the namespace is still wrong as its "OpenSim.Framework" while the directory is "OpenSim\Framework\General" , so we need to decide if we change the directory or correct the namespace.
Note this has lead to a big flat project, but I think a lot of the files we most likely don't even use any longer. And others belong in other projects/namespaces anyway.
2007-10-29 21:46:25 +00:00
lbsa71 03d49b0217 * ModuleLoader: Privatized some too-public fields
* Scene: Changed name from MakeAvatarPhysical to MakeRootAgent and added ForEachClient
* SceneManager: Added ForEachScene
* Worked some on appearances.
2007-10-29 11:54:31 +00:00
lbsa71 070047ce1b * Added prototypical AvatarFactory module interface to load avatar parameters
* Added dump_assets_to_file option to enable asset dumping for debug
* normalized some namespaces
* InventoryFolder renamed to InventoryFolderImpl to
2007-10-26 14:08:36 +00:00
Tleiades Hax 75be841839 Region ground texture was not marked as temporary, when being created, and assetcache did not check if an asset was temporary prior to uploading the cache to the asset server. Consequently the asset server was constantly being swamped by temporary ground textures. 2007-10-26 13:12:49 +00:00
Adam Frisby 2048d611cf * Added XMLRPC Controller Module to OpenSimMain which allows XML-RPC queries to be sent to the core application.
* Disabled by default, but has two functions so far -- shutdown (timed or now), and create-region.
* Added SendGeneralAlert function to SceneManager allowing all-user alerts to be sent from OpenSimMain.
2007-10-25 12:13:58 +00:00
Adam Frisby 3143768468 * Removed plenty more untagged console messages. Everything now has shiny groups. :) 2007-10-22 22:37:39 +00:00
Adam Frisby 5dad0ed729 * Return of R2162. /Take that SVN!/ 2007-10-22 21:57:32 +00:00
lbsa71 dd770c384c * Made EstateSetting static since there's only one instance, and we only need to create it once
* Now cacheing RegionInfos indefinitively; we should add a tiomeout to this cache
2007-10-22 17:55:49 +00:00
Sean Dague 6acaabefc3 revert r2162 as it completely clobbered all the work on
the ChatModule by MW and myself.  Couldn't find Adam online
after that rev went in.
2007-10-22 15:37:54 +00:00
Adam Frisby c4707a284f * Major ass commit.
* Sqlite Storage Engine now supports terrain -- however be aware that every terrain revision stored will at 512KB to your database file. At the moment it is storing every revision from the first.
* Fixed an issue where by noverbose mode would display lots of useless junk. Noverbose mode is now quite usable.
* Fixed a whole bunch of console message issues such as naming and categorisation
2007-10-22 15:23:48 +00:00
MW 2681de366b Made some changes to the load/save xml format, So that the old format can still be used, I have added new console commands of "load-xml2" and "save-xml2", if the old versions worked for you then please continue using them (at least for now). The new versions haven't been tested that much, so their format could be subject to change. 2007-10-22 11:06:54 +00:00
Tleiades Hax 9f2fcfb3ec Fixed a bug causing a crash during clientlog on in Windows (Thanks to Rookiie and nebadon for laying all the ground work)
Fixed a bug, preventing standalone mode to report neighboring sims correctly
2007-10-21 09:32:24 +00:00
Adam Frisby d8cbd173f5 * Instant Message functionality moved into a Region Modules
* You can now send instant messages to any user on the simulator, regardless of what region they are in.
2007-10-19 19:25:22 +00:00
lbsa71 9853db1708 * normalized line endings... 2007-10-19 12:57:40 +00:00
Tleiades Hax d79a3cc5e1 r 2113 introduced a leak, this should fix the leak 2007-10-19 06:10:35 +00:00
Tleiades Hax 05df857132 Possible fix for: Remoting exceptions with adjacent non-running sims.
Bugs 449, 454, 408, 244, 197
implemented InformClientOfNeighbours as an asynchroneous process, handling timeouts without blocking the main thread.

Improved logging of errors, removed catch all in try catch
2007-10-18 15:10:43 +00:00
MW 86e5f82cb1 Some changes to the sending of updates of SceneObjects to clients, that I did a few weeks ago but never committed (and never completely finished what I had planned). 2007-10-11 10:50:55 +00:00
lbsa71 a40e7100a2 * Gave ModuleLoader some good lovin'
* Introduced ModuleLoader.PickupModules that currently picks up IRegionModule:s from /bin
* Made LogBase thread-safe (or at least not thread-ignorant)
* Ignored some genned files
2007-10-10 18:24:13 +00:00
MW 8cf2daa838 some refactoring 2007-10-10 08:30:36 +00:00
MW f2f173a00e small bug fix 2007-10-08 09:16:03 +00:00