Commit Graph

834 Commits (8a098bf12c620bd56f3371f1cf8a90ffa04b16c8)

Author SHA1 Message Date
Justin Clarke Casey c9b41bdc4e * Add extra backup parameter to InnerScene.AddRestoredSceneObject() 2008-06-27 14:15:14 +00:00
MW 7a9922af27 Added support for terrain map to be serialised to xml(as base64 binary). useful for places that the terrain map is needed in a serialised form. Also could add console commands to save and load from files, which should be faster than .raw files (these load/save commands are not included/implemented)
Add util functions to compress and uncompress strings. 
Fixed a couple of modules so they use SceneCommunicationService rather than directly call functions on the CommsManager.
2008-06-25 19:33:19 +00:00
Charles Krinke f6bf4c39be Mantis#1587. Thank you kindly, Melanie for a patch that:
Add permissions magling to llGiveInventoryItem, 
correct some corner case functionality
2008-06-24 23:55:33 +00:00
Justin Clarke Casey 908d91be78 * refactor: Making some of the serialization names consistent, both within their pairings and with the others
* This does make some of the names less ideal than others - this should change in the future
2008-06-21 21:20:59 +00:00
Justin Clarke Casey e19a76377c * Refactor: Fold sog.DeleteParts() functionality into existing sog.DeleteGroup() 2008-06-21 20:12:01 +00:00
Justin Clarke Casey b290ce405f * Remove a bug I created in r5171 where taking an object would terminate the client session
* change code to use an explicit state variable instead of using SOG.Name = null to signal deletion
2008-06-21 19:56:19 +00:00
Teravus Ovares a5860ad438 * Adds Region ban capability to Regions. You access this by going to World->Region/Estate. Then on the Estate tab, at the lower right hand corner, clicking the 'Add' button and picking an avatar.
* It only persists across reboots for the mySQL datastore currently.
* Currently have stubs in the other datastores.
2008-06-21 03:29:08 +00:00
Justin Clarke Casey f69f696181 * Temporary workaround for mantis 1568. If the avatar apperance factory now throws any exception, we will carry on with the default appearance rather than terminating the client login 2008-06-19 17:03:59 +00:00
Teravus Ovares 1fcb7c2db4 * By popular demand, skipping trees from the map tile generation routine. Skipping these because we have no good representation, they just appear as blocks that obscure the rest of the map items. 2008-06-18 16:27:27 +00:00
Jeff Ames a728417eda Minor formatting cleanup. 2008-06-18 03:50:39 +00:00
Justin Clarke Casey 16d0a895cb * Refactor: Move the responsibility for applying physics and sending the initial client update to Scene.AddSceneObject() from some of the SceneObjectGroup constructors
* I think this has been done cleanly from inspection and testing, but if prim creation or load suddenly starts playing up more than usual, please open a mantis
* This also has the effect of stopping the archiver generating ghost in-world prims
* Some code dupliction also removed
2008-06-17 20:36:21 +00:00
Justin Clarke Casey 33d32355a1 * refactor: Remove largely duplicate code from SceneXmlLoader.CreatePrimFromXml2() 2008-06-17 17:23:00 +00:00
Justin Clarke Casey ba69cc31e5 * Refactor: Break out AssetsRequest to a separate file in the Archiver module 2008-06-16 15:36:01 +00:00
Teravus Ovares 5cccd4f6e5 * Vintage 2, a good year. 2008-06-14 20:33:03 +00:00
Teravus Ovares 7ca868dca5 * Fixes: 0001554: r5106 update fails to load on some regions with NullRef error on volume portion of maptile drawing routine. 2008-06-14 20:04:48 +00:00
Teravus Ovares 6bea792436 * Enables maptile display in grid mode for simulators that are not on the same instance.
* Only generates a new maptile after a refresh interval
* Maptile names have the UnixTimeSinceEpoch that they were generated and the regionUUID they're from, so you can know which ones are no longer necessary.
* Updates RegionInfo, so backup your /bin/Region/*.xml files.
2008-06-14 02:39:27 +00:00
Jeff Ames 64f01ade04 Update svn properties, clean up formatting, refactor out duplicate hard-coded port numbers. 2008-06-13 00:21:53 +00:00
Teravus Ovares 5219eb7420 * Split the World Map code into a module.
* Implemented a hack so regions beyond the 10,000m range will show the map without having to click on the map before they'll start to show.   The hack shows regions around the one you're in, but it won't show the one you're in..  you still need to click on the map to get that (not sure why yet).   Additionally, the map still only shows pictures for regions that are hosted on the same instance (no change).
2008-06-12 20:19:42 +00:00
Justin Clarke Casey 8714833986 * refactor: For new objects, move attach to backup to occur when adding to a scene, rather than on creation of the group
* Adding to a scene is now parameterized such that one can choose not to actually persist that group
* This is to support a use case where a module wants a scene which consists of both objects which are persisted, and ones which are just temporary for the lifetime of that server instance
2008-06-12 17:49:08 +00:00
Teravus Ovares 049cfe80e4 * Insulate maptile volume draw routine against TextureEntry oddities. 2008-06-12 11:06:31 +00:00
Teravus Ovares 2b6487c832 * Added Prim drawing to the mainmap tile generation.. you can see blocks representing the prim now on the mainmap.
* It isn't perfect since the blocks are square, however it's pretty good.
* Performance is also pretty good, however, if it takes too long for you, you can disable it in the OpenSim.ini 
* You can see how long it takes in milliseconds on the console when it finishes.
2008-06-12 01:11:57 +00:00
Teravus Ovares 2883656bbc For people receiving: Exception: System.ArgumentException: Value of -2147483648 is not valid for red, I've added the following message;
[MAPIMAGE]: Your terrain is corrupted in region {0}, it might take a few minutes to generate the map image depending on the corruption level
And, I've also kept it from crashing...
2008-06-11 19:45:17 +00:00
Teravus Ovares 8a93358405 * This completes ObjectDuplicateOnRay.
* In English, that means that Copy Selection works now, including Copy Centers and Copy Rotates.
2008-06-10 00:18:00 +00:00
mingchen 5ab5991676 *Fixing another object counting bug 2008-06-07 00:24:43 +00:00
mingchen 0fe363ba65 *Made Object Counting correct with linked objects and turned the previously protected functions that only return object counts to public so it can be easily used by outside classes. 2008-06-06 23:20:02 +00:00
Teravus Ovares c892ddcd20 * This wraps the autopilot request to the client's sit response. An interesting, but successful way to do it.
* This also takes care of a few error situations that were previously never seen.
2008-06-06 12:51:20 +00:00
Jeff Ames fbd37c420f Minor formatting cleanup. 2008-06-06 01:19:15 +00:00
Charles Krinke bc32395775 Mantis#1446. Thank you kindly, Grumly57 for a patch
that solves "trees are too small when rezzed"
2008-06-04 14:34:35 +00:00
Jeff Ames 4ec4e16c80 Formatting cleanup, minor refactoring, svn properties. 2008-06-04 09:59:27 +00:00
Teravus Ovares febe78d062 * Implements UserServer logoff in a few situations
* User tries to log-in but is already logged in.  Userserver will send message to simulator user was in to log the user out there.
* From the UserServer, admin types 'logoff-user firstname lastname message'.
* Some regions may not get the message because they're not updated yet.
2008-05-31 12:18:29 +00:00
Justin Clarke Casey 83f390e421 * Refactor: Change multiple requests for a module interface to use a stored reference instead. 2008-05-30 18:01:28 +00:00
Justin Clarke Casey 4f237f3ae3 * Crudely migrate SceneXmlLoader into the Serializer module 2008-05-30 17:52:14 +00:00
Dr Scofield 9590e671e6 while investigating why IRCBridgeModule.Close() was having no effect, i
noticed that Scene.Close() will only call Close on non-shared region
modules. i've now added code to SceneManager.Close() to collect all
shared region module from each scene before calling Scene.Close()
on it and then, once, all Scenes are closed, go through the list of
collected shared region modules and close them as well. SceneManager.Close()
is only called when we initiate a shutdown --- i've verified that a
Scene restart does not trigger the shutdown of shared modules :-)

also, this adds a couple of bug fixes to the IRCBridgeModule (which
after all didn't take kindly to being closed) as well as a check to
InterregionModule's Close() call.

finally, this fixes the RestPlugin's XmlWriter so that it no longer
includes the "xsd=..." and "xsi=..." junk.
2008-05-30 12:29:30 +00:00
Charles Krinke a84456c239 Mantis#1411. Thank you kindly for Dataserver.cs and a patch
that adds function stub to request region info by name and
adds llRequestSimulatorData() and the dataserver event
2008-05-29 13:55:02 +00:00
Jeff Ames 5752c1f5c2 Formatting cleanup. 2008-05-28 03:44:49 +00:00
Charles Krinke ed717ec181 Thank you kindly, Melanie for a patch for script reset
that creates the event handler chain ready to hook by script engines
2008-05-26 16:16:48 +00:00
Dr Scofield 1bb1d5d9b0 This cleans up a merge mess from the earlier checkin and implements llOwnerSay()
via the newly created Scene.SimBroadcast() call.
2008-05-26 15:37:31 +00:00
Justin Clarke Casey 5c8a93c426 * Extract and boil down necessary texture UUIDs for an archive of the scene prims
* no user functionality yet
2008-05-26 01:50:40 +00:00
Justin Clarke Casey d500209da0 * Refactor: Where possible, change visibility on InnerScene methods to protected internal on the basis that they shouldn't be manipulated by outsiders 2008-05-26 01:06:50 +00:00
Justin Clarke Casey a28ca7b78b * Refactor: remove code duplication between add ScenePresence methods in InnerScene 2008-05-26 00:47:36 +00:00
Justin Clarke Casey 73a28a56da * Refactor: Separate out RemoveScenePresence and add into InnerScene to match existing AddScenePresence 2008-05-26 00:38:04 +00:00
Jeff Ames 5d77625e9a Update svn properties. Formatting cleanup. 2008-05-25 23:27:38 +00:00
Justin Clarke Casey bc92d72828 * Refactor: Collapses parts of different code paths in scene used when deleting and unlinking an object 2008-05-25 00:09:08 +00:00
Justin Clarke Casey 0ee69707ea * Refactor: Collapse some multiple remove object paths
* Push some delete functionality into InnerScene to match what's already there for adding objects
2008-05-24 23:11:07 +00:00
Justin Clarke Casey 10564469c8 * Refactor: Remove some unused methods in Scene/InnerScene 2008-05-24 22:48:21 +00:00
Justin Clarke Casey f3067ce6f9 * Refactor: Change previous commits Object methods to SceneObject methods instead, on the basis that this is less likely to cause confusion with c#'s base object type 2008-05-24 22:45:13 +00:00
Justin Clarke Casey 79eecd3d25 * Refactor: Renaming various *Entity*() methods to *Object*() methods on the basis that they all take SOG parameters to improve code readability for now 2008-05-24 22:10:14 +00:00
Justin Clarke Casey 42693f3b20 * Refactor: Push some dictionary initialization down from Scene into InnerScene 2008-05-24 21:57:00 +00:00
Justin Clarke Casey dd4100db4c * Get the xml2 entities serialization representation in the archiver module
* Not yet reusing serialization module - this will happen in the future
* No user functionality yet
2008-05-24 19:21:57 +00:00
Teravus Ovares 375673ec90 This enables return from the parcel object owner display.
There's some oddness with the parcel counts, but if you can get past the oddness, you can return objects under an owner that you have permission to return.
2008-05-24 11:10:21 +00:00
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