Compare commits

...

4487 Commits

Author SHA1 Message Date
BlueWall 1c60ecf3ed Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-27 13:24:09 -04:00
Diva Canto 9bc94c502a MapImageService: changed the event at which the map tiles are uploaded, because they were being uploaded before the region was registered with the grid 2012-04-27 11:05:40 -07:00
Diva Canto a9dbe39319 MapImage security issue. Compare strings instead of IPAddresses. 2012-04-27 10:39:20 -07:00
Diva Canto 292752bb78 MapImage security issue: better error messages 2012-04-27 10:22:43 -07:00
Diva Canto ac64fe03d8 Amend to last commit: account for the existence of proxies. 2012-04-27 09:59:46 -07:00
BlueWall 0bf3f597fe Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-27 12:50:31 -04:00
Diva Canto 2970a18e54 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-27 09:26:14 -07:00
Diva Canto c84f63f4dc Minor change in error message (HG teleport failures) 2012-04-27 09:24:50 -07:00
Diva Canto e4e754ee93 MapImageService: added an additional security check for OSGrid and other grids like it. 2012-04-27 09:23:56 -07:00
BlueWall 02cc1ed91a Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-26 22:23:36 -04:00
BlueWall def8012ec1 Changing more methods to work with console and rest 2012-04-26 22:12:10 -04:00
Justin Clark-Casey (justincc) 07e62df558 Add regression test for teleporting an agent between separated regions on the same simulator.
This involves a large amount of change in test scene setup code to allow test scenes to share shared modules
SetupScene is now an instance method that requires an instantiation of SceneHelpers, though other SceneHelpers methods are still static
May split these out into separate classes in the future.
2012-04-27 00:58:54 +01:00
BlueWall b5db5d7a57 Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-26 18:17:19 -04:00
Oren Hurvitz 8a65f5a70d OSSL: Removed check for CanRunConsoleCommand() in osKickAvatar.
OSSL permissions are now controlled in OpenSim.ini.
2012-04-26 22:53:13 +01:00
Oren Hurvitz 0da8fe3124 Refactored how asset/inventory types are associated with content types: gathered all the knowledge into a single class. Added the Mesh content type. 2012-04-26 22:49:14 +01:00
Oren Hurvitz ee13d817f1 When creating an OAR, objects where the user is the Creator are always included, regardless of their permissions.
The purpose of the permission checks is to prevent the unauthorized copying of assets, but users can always copy assets that they created.
2012-04-26 22:41:31 +01:00
Justin Clark-Casey (justincc) cb6791fb30 Tweak log messages on local region to region teleport path to help with problem resolution. 2012-04-26 22:35:25 +01:00
Justin Clark-Casey (justincc) d19aa9e792 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-26 21:54:50 +01:00
BlueWall 2542ca2a49 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-26 16:40:36 -04:00
BlueWall fba802bb03 Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-26 16:13:47 -04:00
Talun b8114d2b67 Add a version of osNpcSay that takes a channel number Mantis 5747
osNpcSay(UUID npc, string message) left untouched

New functions:-
osNpcSay(UUID npc, int channel, string message)
osNpcShout(UUID npc, int channel, string message)
osNpcWhisper(UUID npc, int channel, string message)

Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-04-26 16:13:29 -04:00
Justin Clark-Casey (justincc) ca228c4770 Comment out old Scene.HandleLogOffUserFromGrid() to reduce client closing analysis complexity 2012-04-26 16:20:53 +01:00
Justin Clark-Casey (justincc) f49912f92a minor: Add more detail to unauthorized caps client message 2012-04-26 16:10:24 +01:00
Justin Clark-Casey (justincc) b0cbf16c19 minor: Add region name to dropped inbound packet message 2012-04-26 16:04:49 +01:00
Justin Clark-Casey (justincc) 4c4ffb9868 Add request verb and url to error messages in WebUtil that lack this.
Make exception printing consistent across windows and mono.
2012-04-26 00:43:31 +01:00
Justin Clark-Casey (justincc) e52fe03fff minor: Add avatar name to removing agent log message 2012-04-26 00:42:37 +01:00
Justin Clark-Casey (justincc) 74dbfe6bb5 Comment out avatar move to target message for now. 2012-04-25 23:46:42 +01:00
Mic Bowman 133370f158 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-25 11:57:29 -07:00
Mic Bowman a2d544c938 Add a configuration switch to turn on/off the use of the trash
folder when deleting objects from a scene. The use of the trash
folder causes assets to be created and stored everytime you delete
an object from the scene (slows down the delete and adds mostly useless
assets to your database).

Default is on (use the trash folder) which is the standard behavior.
2012-04-25 11:54:57 -07:00
BlueWall d76df3df79 Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-25 14:39:11 -04:00
Melanie 88553bb884 Port Avination link order to make OpenSim behave like SL. Make Primstar scripts work. Fixes Mantis #5990 2012-04-25 19:09:22 +01:00
BlueWall a153a3cf3b Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-25 13:43:48 -04:00
Mic Bowman 1afae01311 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-25 09:52:44 -07:00
Mic Bowman bec100a662 Add try/catch around Json script method registration to avoild some issues
with .NET 3.5 vs 4.0 differences.

See http://opensimulator.org/mantis/view.php?id=5971
2012-04-25 09:51:30 -07:00
BlueWall cca3c5f66e Fromatting output, cleanup 2012-04-25 10:50:33 -04:00
BlueWall 6fd803f24f Some more handlers added/converted 2012-04-25 10:05:41 -04:00
BlueWall 32a70fb7e9 Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-25 08:47:17 -04:00
Diva Canto 7aa25c6762 Slight rewording of output messages. 2012-04-24 22:40:07 -07:00
Diva Canto fd281ded3f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-24 22:17:52 -07:00
Diva Canto cf1c34605b HG: Moved User-level code down to the HGEntityTransferModule where it belongs. 2012-04-24 22:17:10 -07:00
BlueWall 38c0927707 Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-24 23:24:51 -04:00
Melanie 550ff3b4da Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-04-25 04:01:55 +01:00
Melanie 3be3189ee0 Commit the avination Teleport() methods (adaptedto justincc's changes) 2012-04-25 04:00:01 +01:00
Justin Clark-Casey (justincc) af86e2939c zero out SP velocity before calling SP.Teleport(), as the client expects (though this is also effectively done by physics at the moment) 2012-04-25 03:47:26 +01:00
Justin Clark-Casey (justincc) 683cfc6f82 refactor: Combine ScenePresence.Teleport() and TeleportWithMomentum()
These are identical apart from setting Velocity = zero, which has no practical effect anyway since this is zeroed when the avatar is added back to the physics scene.
2012-04-25 02:07:55 +01:00
Justin Clark-Casey (justincc) a65ca24701 Add regression test TestSameRegionTeleport() 2012-04-25 01:51:40 +01:00
BlueWall de4327bfd5 Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-24 20:39:46 -04:00
Justin Clark-Casey (justincc) f24289c47f Comment out AvatarService.SetAvatar debug log line for now 2012-04-25 01:09:23 +01:00
Justin Clark-Casey (justincc) 6b299a4287 Comment out some debug ATTACHMENTS log messages for now. 2012-04-25 00:52:33 +01:00
Justin Clark-Casey (justincc) 39a6d7cab4 Comment out the noisier AVFACTORY log messages for now.
Permanently comment out warnings about ScenePresence not being found - this is entirely expected if the avatar has alraedy logged out or left the scene.
2012-04-25 00:47:32 +01:00
BlueWall bf0b0c9ad5 Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-24 19:35:59 -04:00
BlueWall 578ec6cc26 Add OAuth support lib to provide authentication for endpoints 2012-04-24 19:26:44 -04:00
Justin Clark-Casey (justincc) 0f470326aa Improve teleport log debug and error messages to tell us who is teleporting. 2012-04-25 00:19:38 +01:00
BlueWall c0b2e64a90 Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-24 18:16:06 -04:00
Justin Clark-Casey (justincc) 54d5ff6774 Go back to always using the local timezone for now - not all machines have US/Pacific or Olsen Amercia/Los_Angeles and this introduces variability that the server operator cannot control
Please see http://opensimulator.org/mantis/view.php?id=5972 soon for more comments.
2012-04-24 23:00:50 +01:00
Justin Clark-Casey (justincc) ef1668adb3 Revert "Refactored how asset/inventory types are associated with content types: gathered all the knowledge into a single class. Added the Mesh content type."
This reverts commit d3a4d67a20.

Accidentally committed this when I didn't mean to yet.
2012-04-24 21:42:32 +01:00
Oren Hurvitz 2f398231ac Minor improvements to logging
Eliminated an extra newline in the console if the log line doesn't contain a category (example of a category: "[ASSETS]").
2012-04-24 21:38:09 +01:00
BlueWall 3dc88c55a9 Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-24 16:00:37 -04:00
Oren Hurvitz d3a4d67a20 Refactored how asset/inventory types are associated with content types: gathered all the knowledge into a single class. Added the Mesh content type. 2012-04-24 20:52:18 +01:00
Oren Hurvitz da5fd53702 Fixed problem with MySQL: it was possible for one thread to use an incomplete list of column names if another thread was creating the list at the same time. Now this is thread-safe. 2012-04-24 20:49:28 +01:00
Oren Hurvitz c70e85a327 When reading a region, use null objects to represent NULL fields.
Previously NULL fields were converted to an empty string due to the use of ToString(). But if the field was an Int (e.g., "locZ"), then the subsequent attempt to convert an empty string to an int caused an exception. Now the field is null so we don't try to convert it, so there's no exception.
2012-04-24 20:46:31 +01:00
Oren Hurvitz 6011bfa5e3 OSSL: fixed the threat level check for osParseJSONNew 2012-04-24 20:41:29 +01:00
Justin Clark-Casey (justincc) cbe889e10b minor: formatting changes to top of LLLoginResponse.SetDefaultValues(), chiefly some break up of the long line. 2012-04-24 20:30:19 +01:00
Olivier van Helden and Gudule Lapointe (Speculoos.net) 0e3053e4c9 DST settings to match client default Pacific Time (mantis #5972) 2012-04-24 20:22:34 +01:00
BlueWall 4d78837a3a Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-24 15:20:21 -04:00
Justin Clark-Casey (justincc) c6f30e044b Restore _parent_scene.actor_name_map[prim_geom] = this; accidentally removed from ODEPrim.SetGeom.
This occurred in 7a574be3fd from Sat 21 Apr 2012.
This should fix collision detection.
Mnay thanks to tglion for the spot and the fix in http://opensimulator.org/mantis/view.php?id=5988
2012-04-24 20:15:10 +01:00
BlueWall 3750f329d1 Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-24 02:29:43 -04:00
BlueWall 40828910e7 Plugin manager generic result for use by command line or rest interface 2012-04-24 02:27:23 -04:00
Diva Canto fd27988978 Changed the Map-related messages from Info to Debug. They're debug messages. 2012-04-23 21:29:18 -07:00
Justin Clark-Casey (justincc) 6c21e15cb9 Add online/offline indicator to "friends show" region console command.
Improve output table formatting.
2012-04-24 00:32:01 +01:00
Justin Clark-Casey (justincc) 40e37d8b78 Add osForceAttachToAvatar() and osForceDetachFromAvatar()
These behave identically to llAttachToAvatar() and llDetachFromAvatar() except that they do not enforce the PERMISSION_ATTACH check
Intended for use in completely controlled dedicated environments where these checks are more a UI hinderance than a help.
Threat level high.
2012-04-24 00:03:57 +01:00
Justin Clark-Casey (justincc) b798b32b19 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-23 22:54:11 +01:00
Justin Clark-Casey (justincc) 1f8d1bcdcf Replace common code to fetch self inventory item (as opposed to uuid) with GetSelfInventoryItem()
However, at some point it would be far more convenient to receive the TaskInventoryItem in the constructor rather than just the item UUID, so we don't have to constantly refetch our self item.
2012-04-23 22:52:46 +01:00
Justin Clark-Casey (justincc) 60065f06b3 refactor: Replace calls to InventorySelf() with existing m_itemID in LSL_Api
There's no point look up an item ID that we already have.
2012-04-23 22:23:47 +01:00
Talun 3c03418e06 Mantis 5977 Corrections to llRegionSayTo
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-04-23 07:16:59 -04:00
Talun 679da63da6 Mantis 5977 Corrections to llRegionSayTo
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-04-23 07:16:33 -04:00
BlueWall 6a69c3ac04 Filling in some more web handlers 2012-04-22 22:47:29 -04:00
BlueWall e8909703ae Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-22 19:34:52 -04:00
BlueWall 3e546ebbc5 Adding framework to handle web requests for plugin management 2012-04-22 19:31:51 -04:00
Justin Clark-Casey (justincc) 49ed68e98c refactor: simply some properties code in BasicPhysicsPlugin 2012-04-22 20:28:12 +01:00
Justin Clark-Casey (justincc) 58c890df5d Make TestSetPhysicsSinglePrim() actually add the object to the scene in order to test more code paths. 2012-04-22 20:03:34 +01:00
Justin Clark-Casey (justincc) 8205fe79ce Fix bug where setting phantom on a prim would result in a server log message rather than setting phantom.
This was an oversight when removing some race conditions from PhysicsActor setting recently.
Regression tests extended to probe this code path.
Extending regression tests required implementation of a BasicPhysicsPrim (there was none before).  However, BasicPhysics plugin is still of no current practical use other than to fill in as a component for other parts of regression testing.
2012-04-22 19:51:51 +01:00
BlueWall bd0dfc1d6d Make sorted lists for selecting plugins for operations 2012-04-21 17:51:44 -04:00
BlueWall 05b369965e Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-20 22:45:56 -04:00
Justin Clark-Casey (justincc) ae2b8f7007 Comment out spurious Body != IntPtr.Zero code after disableBody(), since disableBody() sets Body == IntPtr.Zero on all code paths. 2012-04-21 03:42:54 +01:00
Justin Clark-Casey (justincc) f609594595 refactor: Simplify ODEPrim.AddChildPrim() by returning early where appropriate. 2012-04-21 03:23:51 +01:00
BlueWall e76fa4c5aa Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-20 21:58:37 -04:00
BlueWall 027d313703 Cleanup and formatting 2012-04-20 21:52:02 -04:00
Justin Clark-Casey (justincc) 77a7de87e1 Add test for setting physics in a linkset 2012-04-21 02:45:16 +01:00
BlueWall 9b1741da0d Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-20 21:32:26 -04:00
Justin Clark-Casey (justincc) d5c724e5b8 Add regression test for prim status when root prim in a new linkset is non-physical 2012-04-21 01:51:57 +01:00
Justin Clark-Casey (justincc) 9ac48b2aff Fix a bug where linking a non-physical prim with a physical prim as root would make the non-physical prim phantom rather than part of the physics object.
On region restart, the whole object would become physical as expected.
Observed behaviour from elsewhere is that all prims in a new linkset should take on the status of the root prim.
Add regression test for this behaviour.
2012-04-21 01:43:09 +01:00
Justin Clark-Casey (justincc) 17bf2a62db Add test for correct physics status on linking two physics objects
Also fixes last build break.
2012-04-21 01:09:42 +01:00
Justin Clark-Casey (justincc) 71900968b2 refactor: extract common setup code in SceneObjectStatusTests 2012-04-21 01:01:24 +01:00
Justin Clark-Casey (justincc) ae789f6c16 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-21 00:55:27 +01:00
Justin Clark-Casey (justincc) 06552f217e Add TestSetPhysics() to SOP status tests 2012-04-21 00:54:48 +01:00
BlueWall 2122748af1 Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-20 19:21:48 -04:00
Justin Clark-Casey (justincc) 7a574be3fd Remove redundant prim_geom != IntPtr.Zero checks in ODEPrim.
prim_geom == IntPtr.Zero only before a new add prim taint is processed (which is the first taint) or in operations such as scale change which are done in taint or under lock.
Therefore, we can remove these checks which were not consistently applied anyway.
If there is a genuine problem, better to see it quickly in a NullReferenceException than hide the bug.
2012-04-21 00:12:07 +01:00
Justin Clark-Casey (justincc) c8307cdf1e Improve bitmap disposal to do null checks and not to potentially try disposal of uninitialized variables.
This issue doesn't cause the mono 2.10.5 compiler to fail but appears to cause the windows compiler to fail.
Resolves http://opensimulator.org/mantis/view.php?id=5973
2012-04-20 23:35:11 +01:00
Justin Clark-Casey (justincc) 566327a948 If a physical prim is manually moved (e.g. by a user) then set the geometry position as well as the body position
This is necessary to stop the moved prim snapping back to the original position on deselection if moved only once
This resolves http://opensimulator.org/mantis/view.php?id=5966
2012-04-20 23:24:24 +01:00
BlueWall 040412857c Undo the disposable 2012-04-20 14:13:32 -04:00
BlueWall 70808d6d54 Making plugins disposable 2012-04-20 13:16:44 -04:00
BlueWall 083dd0c17c A little bit of clean up 2012-04-20 09:58:24 -04:00
BlueWall b6f6f05e1a Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-20 08:00:44 -04:00
Justin Clark-Casey (justincc) 75f117484b Always dispose of existing opened bitmap from file in SaveFile(), instead of simply dropping the reference if the existing file didn't contain a bitmap of the same size. 2012-04-20 03:57:22 +01:00
Justin Clark-Casey (justincc) cba64ebc79 Explicitly dispose of bitmaps opened from files in GenericSystemDrawing and JPEG.cs 2012-04-20 03:46:33 +01:00
Justin Clark-Casey (justincc) 4ac2f839bd Remember to dispose of the bitmap opened from a file in GatekeeperServiceConnector.GetMapImage() 2012-04-20 03:32:38 +01:00
Garmin Kawaguichi 63cda3a6d0 concerns GenericSystemDrawing.cs
in OpenSim\Region\CoreModules\World\Terrain\FileLoaders\GenericSystemDrawing.cs
Ln 67
Apply Justin's solution

Signed-off-by: Garmin Kawaguichi <garmin.kawaguichi@magalaxie.com>
2012-04-20 03:26:02 +01:00
Justin Clark-Casey (justincc) f3dda2d85d Add more exception detail to Exception and IOException throws in BaseHttpServer.HandleRequest() 2012-04-20 03:12:25 +01:00
Justin Clark-Casey (justincc) 2b98e2f106 Stop teleports from dropping tall avatars through or embedding them in the floor when lured by short avatars.
This involves giving the ceiling of the Z-component in a lure rather than the floor.
Ideally we would give the exact float compensating for relative avatar height but it looks like that isn't possible with the parcel id format used in lures
2012-04-20 02:50:36 +01:00
BlueWall 3d6f9f9cec Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-18 20:02:48 -04:00
Melanie beb7b8d189 Fix a logic error in app domain creation 2012-04-18 23:23:37 +01:00
BlueWall 28f0bf7f08 Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-18 15:22:03 -04:00
Melanie 7a255efdb2 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-04-18 20:07:32 +01:00
Melanie ea73a03553 Don't re-add the assembly resolver for each script if not creating the appdomain 2012-04-18 20:01:41 +01:00
Justin Clark-Casey (justincc) c85f9d681a On "show part" command, show link number.
This replaces the Parts count which was rather pointless for a prim (it was either 1 if a child or the number of parts if the root).
This information is still avaliable on the "show object" command.
2012-04-18 00:39:39 +01:00
Justin Clark-Casey (justincc) b430c0162c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-18 00:00:09 +01:00
Justin Clark-Casey (justincc) 859646ef5c minor: Add some method doc. Add warnings since calling SOG link/delink methods directly rather than through Scene may allow race conditions. 2012-04-17 23:54:51 +01:00
Mic Bowman 84891930aa clean up some more logging spam in the jsonstore modules 2012-04-17 14:23:43 -07:00
Mic Bowman 4db518b9a3 Fix the Csharp 3.0 vs 4.0 problem in JsonStore initialization.
Cut down on the logging spam.
2012-04-17 14:15:17 -07:00
Mic Bowman 2d45ba47ac add configuration for jsonstore module, disabled by default 2012-04-17 13:55:00 -07:00
Mic Bowman 5ff2bda587 This commit adds a new optional region module, JsonStore, that provides structured
storage (dictionaries and arrays of string values) for scripts and region modules.
In addition, there are operations on the storage that enable "real" distributed
computation between scripts through operations similar to those of a tuple space.
Scripts can share task queues, implement shared locks or semaphores, etc.

The structured store is limited to the current region and is not currently
persisted. However, script operations are defined to initialize a store from a notecard
and to serialize the store to a notecard.

Documentation will be posted to the opensim wiki soon.
2012-04-17 13:45:27 -07:00
Mic Bowman 4bb72c9ffe make the namespace for the ScriptModuleComms consistent with its file system location 2012-04-17 13:45:03 -07:00
Justin Clark-Casey (justincc) cca6b6bd0d Add TestGetChildPartPositionAfterObjectRotation() 2012-04-17 02:14:10 +01:00
Justin Clark-Casey (justincc) 2f2181683c Add test TestGetChildPartPosition() 2012-04-17 01:51:13 +01:00
Justin Clark-Casey (justincc) 7e1ab216e3 Move some public methods on WebStatsModule to private to reduce some static analysis complexity.
There's no obvious reason for these methods to be public.
2012-04-17 01:33:55 +01:00
Justin Clark-Casey (justincc) 24a0cc5261 refactor: Rename EstateSettings.IsEstateManager() to EstateSettings.IsEstateManagerOrOwner() to reflect what it actually does.
This makes it consistent with other parts of OpenSimulator that are treating ESTATE_MANAGER and ESTATE_OWNER as different entities.
As per opensim-dev mailing list.
2012-04-17 01:25:41 +01:00
Talun 5655239f44 Null reference in llGetObjectMass on a seated avatar. 2012-04-17 00:56:46 +01:00
Justin Clark-Casey (justincc) e6ec83125b Use INSERT OR REPLACE INTO sql in WebStatsModule for session update rather than separate insert and update statements 2012-04-17 00:46:43 +01:00
Justin Clark-Casey (justincc) 572440cd23 correct bug where f_invalid was being inserted on a webstats update for an existing session rather than d_world_kb 2012-04-17 00:33:23 +01:00
Justin Clark-Casey (justincc) 1bb3873338 Simplify WebStatsModule by removing the uncompleted migrations section.
Use "create table if not exists" instead.
Client stats data is transitory data that it is not worth migrating.
2012-04-17 00:19:36 +01:00
Justin Clark-Casey (justincc) f213f55586 Fix bug in WebStatsModule where an exception would always be output on update if the user teleported to another region on that simulator.
This was because update was looking for an existing stats record unique in session id, agent id and region id.
But if the user teleports to another region then region id changes.
WebStatsModule promptly doesn't find the existing record and tries to insert a new one, but only session id is the primary key and that's still the same, which makes things go bang.
This makes the update search only on the unique session id.
This is only an issue with simulators that have multiple regions where the webstats module is enabled.
2012-04-17 00:02:58 +01:00
Justin Clark-Casey (justincc) 2c74e1bba8 Add GroupPosition and GetWorldPosition() checks to TestGetRootPartPosition() 2012-04-14 01:57:09 +01:00
Justin Clark-Casey (justincc) da342d0b21 minor: make test names consistent 2012-04-14 01:53:40 +01:00
Justin Clark-Casey (justincc) f61b234252 refactor: move common init code into SetUp() in SceneObjectSpatialTests 2012-04-14 01:52:16 +01:00
BlueWall 0f96b9f41b Merge branch 'integration' of /home/opensim/var/repo/opensim 2012-04-13 20:48:50 -04:00
Justin Clark-Casey (justincc) 317aebcce6 refactor: put SOG position test in a separate TestSceneObjectGroupPosition() 2012-04-14 01:47:56 +01:00
BlueWall f3f85c3106 Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-13 20:45:58 -04:00
Justin Clark-Casey (justincc) 40d01fb20b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-14 01:43:57 +01:00
Justin Clark-Casey (justincc) 3ae98611f2 Add simple RelativePosition and OffsetPosition checks to TestGetRootPartPosition 2012-04-14 01:43:03 +01:00
BlueWall 7bcd6a6842 Merge branch 'integration' of /home/opensim/var/repo/opensim into integration 2012-04-13 20:15:56 -04:00
Melanie e8898710d5 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-04-14 01:14:43 +01:00
BlueWall 30fff0e78e Load new ini after writing to ensure proper settings 2012-04-13 20:12:27 -04:00
nebadon 2254a718c8 Add Talun to the CONTRIBUTORS.txt, Thank you for the great patches
Talun
2012-04-13 17:09:23 -07:00
Talun 4d652c7041 Missing or unimplemented LSL memory functions.
Implemented to behave as if scripts were LSO.

Signed-off-by: nebadon <michael@osgrid.org>
2012-04-13 17:08:00 -07:00
Melanie 4bdd9d51bc Correct whitespace error introduced by previous commit 2012-04-14 01:04:26 +01:00
Justin Clark-Casey (justincc) eeec1f32c6 Add very basic TestGetRootPartPosition() test 2012-04-14 01:01:28 +01:00
Kevin Cozens a366c05ae2 Added ability to exclude inventory items or folders when saving IAR files. 2012-04-13 23:31:12 +01:00
Justin Clark-Casey (justincc) eced091689 Change threat level of osNpcStopMoveToTarget from Low to High to match other NPC functions, and change OSSL permissions name to osNpcStopMoveToTarget instead of osNpcStopMoveTo
Thanks to Oren Hurvitz for pointing out these mistakes.
2012-04-13 22:52:24 +01:00
Justin Clark-Casey (justincc) 1ad3fdb40b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-13 22:34:36 +01:00
Justin Clark-Casey (justincc) ab7c0e7547 Remove hardcoded god requirement from osSetRegionWaterHeight, osSetRegionSunSettings and, osSetEstateSunSettings no matter the threat level.
Change threat level on osSetRegionSunSettings and osSetEstateSunSettings from nuisance to high to match similar functions.
If you had enabled these functions but had relied on the hardcoded god check in the code, then please adjust your OSSL permissions config.
Thanks to Oren Hurvitz for pointing this out.
2012-04-13 22:32:33 +01:00
BlueWall 9babd79a66 Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-12 21:45:41 -04:00
Talun 08e509978d Mantis 55025 Implement script time.
Signed-off-by: nebadon <michael@osgrid.org>
2012-04-12 18:44:00 -07:00
BlueWall ffc1f6a656 Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-12 21:37:13 -04:00
nebadon 30d8506bc2 make changes to FlotsamCache.ini.example as noted in mantis #5960
http://opensimulator.org/mantis/view.php?id=5960
2012-04-12 18:27:14 -07:00
BlueWall e0c4f8ed76 Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-11 23:34:54 -04:00
BlueWall a57ec18fb5 Add a development mode
Pluggin development needs the pluggin to be directly loaded so the running program may be stopped for inspection and modifications. This is controlled by a configuration switch in the Robust.ini
2012-04-11 23:24:17 -04:00
Snoopy Pfeffer 8be14095fe HGFriendsModule: Type casts to fix compile error 2012-04-11 18:56:28 +02:00
Snoopy Pfeffer 1f4d3d3582 HGFriendsModule: Added optional user level based restriction to send friendship invitations to foreign users. 2012-04-11 18:52:07 +02:00
Diva Canto f2ede8c7e0 HGFriendsModule: add the scaffolding for supporting permissions pertaining to HG friendships. Snoopy take it from here. 2012-04-11 08:13:11 -07:00
BlueWall 0a949a20ca Send the service so the pluggin can load other assemblies 2012-04-11 09:19:16 -04:00
BlueWall bb3aa1440d Tell git to remove these files (moved)
These are now living in lib32/lib64 directories.
2012-04-11 06:24:56 -04:00
BlueWall 1d4bee454e Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-10 19:19:00 -04:00
BlueWall d95e6ca0c6 More work on install/loading/unloading
Moved troublesome openjpeg libs - testing to see if opensim region can run with the change
2012-04-10 19:01:22 -04:00
Snoopy Pfeffer 78fd487a70 New OS scripting functions osSetTerrainTexture and osSetTerrainHeight as originally proposed in SL Jira (https://jira.secondlife.com/browse/SVC-244). 2012-04-10 21:49:43 +02:00
Justin Clark-Casey (justincc) 4ab479bf58 Add uri to various log messages when region registration fails. Upgrade some debug log messages to error. 2012-04-10 20:40:59 +01:00
BlueWall 3e6043bb47 Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-10 14:38:18 -04:00
BlueWall 679533f632 Work on loading new addins 2012-04-10 14:36:24 -04:00
Justin Clark-Casey (justincc) fb44e7b636 minor: convert tabs to spaces in config example files from recent 7c534e5 2012-04-10 17:46:34 +01:00
Justin Clark-Casey (justincc) 2b339bfd97 Correct max_listeners_per_region in OpenSimDefaults.ini to max_listens_per_region
Value for this setting in OpenSimDefaults.ini (1000) is same as setting in code (1000) so this should have no effect
Thanks to Ovi Chris Rouly for pointing this out.
2012-04-10 17:22:02 +01:00
Snoopy Pfeffer f9dd4ed89c Do not timeout group member cache entry, as long as there are frequent group membership requests. These are caused by movements within the parcel boundaries. 2012-04-10 15:51:26 +02:00
BlueWall a798b98f85 More work on dynamic loading/unloading 2012-04-10 00:20:55 -04:00
BlueWall 0838c5288f Add method for plugin teardown/unloading 2012-04-09 21:59:21 -04:00
BlueWall 35fa8b454d Working on run-time init
Working on build-up and tear-down for loading/unloading pluggins
2012-04-09 17:53:55 -04:00
BlueWall 4b278c64d6 Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-09 17:50:57 -04:00
Talun 78c0028179 Mantis5502 implementation of some of the new constants
Signed-off-by: Melanie <melanie@t-data.com>
2012-04-09 21:25:22 +01:00
BlueWall 27845de7ea Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-08 20:58:56 -04:00
Diva Canto 0f277dfa17 Addresses mantis #5846 2012-04-08 17:54:59 -07:00
BlueWall fb18476032 More work on comands
Getting this framed up. Will make generic returns so as to interface with external web service to manage plugins.
2012-04-08 20:25:28 -04:00
BlueWall 74776c4ee0 More command work
Start working toward using list entry numbers to select instead of the plugin id
2012-04-08 20:09:54 -04:00
BlueWall 952ad59c1f Work on commands 2012-04-08 17:38:44 -04:00
BlueWall c066f528ef Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-07 23:44:25 -04:00
BlueWall 0591a85787 More work on commands 2012-04-07 23:39:15 -04:00
Diva Canto d4a370a5f2 A few more minor improvements on Suitcase inventory service. 2012-04-07 14:52:15 -07:00
Diva Canto 7c534e558d Added gatekeeper and uas addresses to grid info, so that viewers can take advantage of that info. 2012-04-07 14:38:32 -07:00
BlueWall 7a686ef124 Some work on web interface
Adding some web handlers to manage plugins. Returns json for integration into external processing.
2012-04-07 14:52:02 -04:00
BlueWall 931c28888b Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-07 14:22:14 -04:00
Diva Canto 0d566aa385 Better Suitcase Inventory Service. 2012-04-06 21:52:48 -07:00
BlueWall d4a6ed3d98 Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-06 23:56:08 -04:00
Diva Canto 806082cd6e Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-06 20:35:01 -07:00
Diva Canto 9637e50956 Moved the inventory manipulation from HGEntityTransferModule to HGInventoryAccessModule where it belongs. They need to exchange some events, so added those to EventManager. Those events (TeleportStart and TeleportFail) are nice to have anyway. 2012-04-06 20:34:31 -07:00
BlueWall b8eafc6280 More work on commands
Install is working now
2012-04-06 22:22:55 -04:00
BlueWall 5509d981d4 Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-06 20:11:58 -04:00
Justin Clark-Casey (justincc) cce760dbfc Rather than having a FromFolderID property on every single prim and only ever using the root prim one, store on SOG instead.
This reduces pointless memory usage.
2012-04-07 00:40:55 +01:00
Justin Clark-Casey (justincc) 7d8bb33c5b Store FromItemID for attachments once on SOG instead of on every SOP and only ever using the root part entry.
This eliminates some pointless memory use.
2012-04-07 00:33:02 +01:00
BlueWall 4f4ca1625f Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-06 19:24:14 -04:00
BlueWall 90a2296983 Have some commands working
Still rough, but making some progress.
2012-04-06 19:22:34 -04:00
Justin Clark-Casey (justincc) 70b5a2dace refactor: Eliminate unnecessary SOP.m_physActor 2012-04-06 23:49:23 +01:00
Justin Clark-Casey (justincc) 33e91f1088 Implement PRIM_POS_LOCAL on llSetPrimitiveParams() and other prim params LSL functions.
This is the same as PRIM_POSITION
2012-04-06 23:43:03 +01:00
Justin Clark-Casey (justincc) 4a58d4c5a4 refactor: Use clearer part.ParentGroup.IsAttachment in LSL_Api.GetPartLocalPos() 2012-04-06 23:36:13 +01:00
Justin Clark-Casey (justincc) 3af1cd65f9 Fix llGetLinkPrimParams for PRIM_POS_LOCAL for child prims whether in scene or attachments.
Return relative position to root prim rather than 0,0,0.
Should fix same issue with llGetLocalPos()
http://opensimulator.org/mantis/view.php?id=5951
2012-04-06 22:41:35 +01:00
Justin Clark-Casey (justincc) 47108bb351 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-06 21:15:31 +01:00
Justin Clark-Casey (justincc) f2903db390 For llGetMass(), return the mass of the avatar is the object is attached.
As per http://lslwiki.net/lslwiki/wakka.php?wakka=llGetMass
This is the mass as used by the physics engine (ODE or Bullet).
2012-04-06 21:14:19 +01:00
Talun c3a8c00ce0 Addition of missing constants for llGetObjectDetails including for Mantis 5502
Signed-off-by: nebadon <michael@osgrid.org>
2012-04-06 12:42:46 -07:00
Justin Clark-Casey (justincc) 627efc172b Make llGetMass() return total mass of object when called on root prim.
As per http://lslwiki.net/lslwiki/wakka.php?wakka=llGetMass
Aims to resolve http://opensimulator.org/mantis/view.php?id=5954
2012-04-06 20:32:39 +01:00
Justin Clark-Casey (justincc) 908cebbea8 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-06 20:29:54 +01:00
Diva Canto 6a9f36788d Deleted the unused and commented code from 2 commits ago. 2012-04-06 12:28:15 -07:00
Diva Canto 4c32f79c10 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-06 11:52:38 -07:00
Diva Canto 7435582b70 If an AddItem fails, try adding it to the right folder type. 2012-04-06 11:52:05 -07:00
Diva Canto 25b3edc21c WARNING: LOTS OF COMMENTED AND UNUSED CODE IN THIS COMMIT. This is on purpose; it's an historical record of what works and what doesn't wrt manipulating inventory at the viewer. I'll remove the unused code in a subsequent commit, but wanted to place it in history. The uncommented code works. 2012-04-06 11:51:12 -07:00
Diva Canto 953fe46811 A few minor tweaks here and there in XInventoryService. 2012-04-06 11:48:41 -07:00
Diva Canto 6eaff18961 Finish the implementation of GetUserInventory, even though it's still not used. 2012-04-06 11:38:47 -07:00
Diva Canto 8fd86c9156 Packing of folder in SendBulkUpdateInventory always set the folder type to -1. Not sure if there's a reason for it, but I'm changing it to the given folder type. 2012-04-06 11:24:34 -07:00
Diva Canto e324fb2415 Guard against null inventory contents. 2012-04-06 11:22:30 -07:00
Diva Canto cdbe34716f Thank you, BaseHttpServer, for telling me where things go wrong. 2012-04-06 11:21:27 -07:00
BlueWall 1aab096a83 Start filling out commands 2012-04-05 23:48:25 -04:00
BlueWall de1d213117 Adding command skeleton 2012-04-05 13:55:04 -04:00
BlueWall f494e6b086 Working on plugin manager 2012-04-05 12:25:24 -04:00
BlueWall 2d9971ea93 Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-05 08:34:03 -04:00
Snoopy Pfeffer 67537f3596 Added missing refresh of group membership client side cache to the groups module. Before memberships of non active groups often were not stored in the cache (n_groupPowers). 2012-04-05 13:03:57 +02:00
Snoopy Pfeffer 8f45eb913c Revert last commit 2012-04-05 11:10:05 +02:00
Snoopy Pfeffer e4406c846d Group based access restrictions to parcels require group membership, but not that this group is active for that user. 2012-04-05 10:25:54 +02:00
Snoopy Pfeffer 600a86bcae Little bug fix in HasGroupAccess, to properly store the case "true" in the cache. 2012-04-05 10:02:18 +02:00
BlueWall f266e19243 automatic creation of ini form repository 2012-04-04 20:01:23 -04:00
BlueWall e4a69297f6 Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-04 20:00:47 -04:00
Melanie a5d6b624f6 Simplify group access checks and break them out into a separate method.
Use existing cache if the avatar is within the region and use an
ExpiringCache to cache status if the avatar is not in the region. The
30 second delay now applies to scripted objects ony and only when the owner
is not present.
2012-04-05 00:45:58 +01:00
Snoopy Pfeffer 36c8fa16c0 Implements group based access restrictions for parcels of land. Because of caching there can be a delay of up to 30 seconds until the access rights are effectively changed for a user. 2012-04-05 00:53:40 +02:00
BlueWall 4fa5fa5e08 Remove some old work + add to config/init 2012-04-04 15:07:19 -04:00
BlueWall d2cd39d0d8 Adding configuration management to plugins 2012-04-04 14:15:52 -04:00
BlueWall a4cb9639cc Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-04 09:26:29 -04:00
Garmin Kawaguichi 9a9923405a terrain save-tile extensions Signed-off-by: Garmin Kawaguichi <garmin.kawaguichi@magalaxie.com>
Signed-off-by: Melanie <melanie@t-data.com>
2012-04-03 20:06:03 +01:00
BlueWall 639c6bdd62 Add a delay to let regions load before calling PostInit
Something is letting PostInit fire before the regions are loaded. This small delay "fixes" it. Will continue to look for a way to make sure they are loaded first.
2012-04-03 14:50:26 -04:00
Justin Clark-Casey (justincc) 633f4bb3d8 remove possible PhysActor unexpectedly null race conditions when changing prim collision status
factor out common SOP physics scene adding code into a common SOP.AddToPhysics() that is the counterpart to the existing RemoveFromPhysics()
2012-04-03 09:28:17 +01:00
Justin Clark-Casey (justincc) e480e25d8b Fix more SOP.PhysActor race conditions in LSL_Api 2012-04-03 06:01:05 +01:00
Justin Clark-Casey (justincc) 7468299673 Eliminate race condition where many callers would check SOP.PhysicsActor != null then assume it was still not null in later code.
Another thread could come and turn off physics for a part (null PhysicsActor) at any point.
Had to turn off localCopy on warp3D CoreModules section in prebuild.xml since on current nant this copies all DLLs in bin/ which can be a very large number with compiled DLLs
No obvious reason for doing that copy - nothing else does it.
2012-04-03 05:51:38 +01:00
BlueWall b3ecf935cd Update mono-addins 2012-04-02 22:50:13 -04:00
BlueWall 4c5b3adb96 Do some work on the plugin registry locations and configuration manager 2012-04-02 17:06:31 -04:00
BlueWall 335d167ead Added some logging 2012-04-02 00:48:36 -04:00
BlueWall 36daea4480 Added some utilities and copyright/license 2012-04-01 23:15:38 -04:00
BlueWall 5c92aa262a Pass server up to IntegrationService to allow pluggins to register their handlers 2012-04-01 15:58:26 -04:00
BlueWall 445caca18b Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-01 11:10:21 -04:00
BlueWall 4b90dcfb73 Missed these files 2012-04-01 11:05:05 -04:00
BlueWall ade1acc9d4 Making IntegrationService pluggable
First steps to making a pluggable IntegrationService.
2012-04-01 09:38:59 -04:00
BlueWall e8eb9b7e84 Add Integration Service
Adding an integration service to provide base services at endpoints for external application integration. So far, landtool.php is converted to use the IntegrationService. Others will follow to provide coverage for the base helperuri applications needed in OpenSim.
2012-03-31 17:57:58 -04:00
Melanie 6e7f13a72d Implement bulk inventory update over CAPS (not recursive by design,
do NOT CHANGE THIS, needed for HG 2.0)
2012-03-31 02:32:47 +01:00
Justin Clark-Casey (justincc) 32a953fed7 refactor: Rename SOG.GetChildPart() to GetPart() since it can also return the 'root' part. 2012-03-31 01:52:06 +01:00
Justin Clark-Casey (justincc) f0406f9fe2 Rename SOG.HasChildPrim(uint) to SOG.ContainsPart(uint) to match existing ContainsPart method and remove method duplication.
HasChildPrim is also misleading since the 'root' prim can also be returned.
2012-03-31 01:45:37 +01:00
Justin Clark-Casey (justincc) 387d7fdad5 Allow llRegionSayTo() to work on the PUBLIC_CHANNEL, as per http://wiki.secondlife.com/wiki/LlRegionSayTo
Addresses http://opensimulator.org/mantis/view.php?id=5950
2012-03-31 01:29:13 +01:00
Justin Clark-Casey (justincc) 38d241a317 Add MSSQL login processing fix for servers run on different locales.
This may no longer be an issue with better locale enforcement in OpenSimulator but it doesn't hurt to have this patch.
http://opensimulator.org/mantis/view.php?id=4680
Thanks to controlbreak for this
2012-03-31 01:12:04 +01:00
Justin Clark-Casey (justincc) 69fc8c4985 minor: small message adjustment and unnecessary code elimination when notifying client of no build permission 2012-03-31 01:07:14 +01:00
Justin Clark-Casey (justincc) c2b98cfd4e Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-31 01:04:38 +01:00
PixelTomsen 874140f950 fix Infinite loading on No Rez http://opensimulator.org/mantis/view.php?id=5932 2012-03-31 01:01:59 +01:00
Diva Canto 5a8ed50639 Added missing dependency for MS 2008. I hope. (I don't have 2008 to test this) mantis #5949 2012-03-30 12:39:45 -07:00
Justin Clark-Casey (justincc) e5343bccdf Add Extended flavour option to opensim version information.
This flavour is for changes in addition to the 0.7.3-post-fixes branch that are too large to be considered fixes but should be reasonably stable.
This flavour will almost certainly never see a formal release.
2012-03-30 02:11:32 +01:00
Justin Clark-Casey (justincc) 269e479cdc minor: remove some now unneeded code from FriendsCommandsModule 2012-03-30 02:00:01 +01:00
Justin Clark-Casey (justincc) 3525c876c8 Make default "show friends" console command show friends fetched from the friends service.
There is no a --cache option which will show friends from the local cache if available.
2012-03-30 01:57:38 +01:00
Justin Clark-Casey (justincc) 1ef62ca75e Lock NullFriendsData.m_Data for consistency and against concurrent read/write 2012-03-30 01:23:34 +01:00
Justin Clark-Casey (justincc) bce7964ac2 refactor: Move "friends show cache" console command out into separate FriendsCommandsModule.
Expose required methods on IFriendsModule.  Rename GetFriends() -> GetFriendsFromCache() for self-documentation
2012-03-30 01:05:29 +01:00
Justin Clark-Casey (justincc) 59157d9d63 Add simple login test with online friends. Add IFriendsModule.GrantRights() for granting rights via a module call.
Rename IFriendsModule.GetFriendPerms() -> GetRightsGrantedByFriend() to be more self-documenting and consistent with friends module terminology.
Add some method doc.
2012-03-30 00:42:55 +01:00
Justin Clark-Casey (justincc) b8d383da0a Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-30 00:38:23 +01:00
Diva Canto 30db0ac5e2 Finish up the SuitcaseInventory service. 2012-03-29 16:25:55 -07:00
Justin Clark-Casey (justincc) bf09d6a22b refactor: Stop passing both IClientAPI and agentID to friend event listeners, these are redundant. Replace a few magic numbers with FriendRights enum already used elsewhere. 2012-03-29 18:31:57 +01:00
Justin Clark-Casey (justincc) 012b01f224 Add simple regression test for logging in with offline friends. Don't expect to receive any in this instance. 2012-03-29 03:19:45 +01:00
Justin Clark-Casey (justincc) cd3f3cbdde Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-29 01:29:00 +01:00
Justin Clark-Casey (justincc) 22a85b947a Add back parts of reverted changes that were not concerned with child agent caching.
This adds ScenePresence to IClientAPI.SceneAgent earlier on in the add client process so that its information is available to EventManager.OnNewClient() and OnClientLogin()
Also add a code comment as to why we're caching friend information for child agents.
2012-03-29 01:26:30 +01:00
Melanie 62b1c807c2 Also add OSS header to interface 2012-03-29 01:14:50 +01:00
Melanie bd83676d6c Change namespace on CallingCardModule and correct interface file placemant. Also ass OpenSource header 2012-03-29 01:13:08 +01:00
Justin Clark-Casey (justincc) 93ac47f0d3 Revert "Simplify friends caching by only doing this for root agents - no functions require caching for child agents."
We need to cache child agents so that friends object edit/delete permissions will work across boarders on regions hosted by different simulators.

This reverts commit d9f7b8549b.
2012-03-29 01:08:47 +01:00
Justin Clark-Casey (justincc) a1de9bc33f Revert "Add comment about setting client.SceneAgent in AddNewClient()"
This reverts commit 964cae4f37.
2012-03-29 01:08:37 +01:00
Melanie c52ff5cf7b Committing the Avination calling card module 2012-03-29 00:47:09 +01:00
Melanie 5a82d939e6 Adding the Avination calling card interface 2012-03-29 00:34:28 +01:00
Melanie 532e3dad26 Pushing the Avination Calling card hooks. Module to follow. 2012-03-29 00:31:11 +01:00
Justin Clark-Casey (justincc) 964cae4f37 Add comment about setting client.SceneAgent in AddNewClient() 2012-03-29 00:21:14 +01:00
Justin Clark-Casey (justincc) d9f7b8549b Simplify friends caching by only doing this for root agents - no functions require caching for child agents.
This allows us to avoid unnecessary multiple calls to the friends service.
All friends functions originate from the root agent and only go to other root agents in existing code.
This also allows us to eliminate complex ref counting.
2012-03-28 23:40:25 +01:00
Justin Clark-Casey (justincc) 7aa0c05fba Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-28 23:38:04 +01:00
Justin Clark-Casey (justincc) 33df0c2efd Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-28 23:36:30 +01:00
Robert Adams 4138880464 BulletSim: update 64 bit libraries and change Linux configuration to use the files in the lib32 and lib64 directories as needed. 2012-03-28 15:36:20 -07:00
Diva Canto 6bf4d88397 HG 2.0 Suitcase inventory: proof of concept now working properly with the heavy SendBulkInventoryUpdate message. Waiting for Melanie to finish the light-weight version of that message. 2012-03-28 15:32:19 -07:00
Justin Clark-Casey (justincc) 874bf1f8e5 Enable voice by default on parcels to weaken effects of viewer 2/3 ParcelVoiceInfoRequest bug
Viewer 2/3 contains a bug where the viewer will constantly retry ParcelVoiceInfoRequest requests on voice-disabled parcels where voice is otherwise available.
Attempts to fix this server-side have not been successful - sending a non-OK http code (e.g. a 404) just makes the viewer request again immediately.
Dropping the request entirely is a bit better but the viewer still retries after a minute.
Estate settings already enabled voice by default so doing the same for parcels.  This only has an effect if you have any voice system active at all.
Ultimately, the re-request bug needs to be fixed viewer-side (LL suffers from the same issue!) but it might be worth implementing the drop request hack.
2012-03-28 23:30:28 +01:00
Diva Canto 51dc1e709c HG 2.0: added the beginning of HGSuitcaseInventoryService. Plus moved the hack away from ScenePresence. This is better but it still doesn't restore the inventory upon arrival. 2012-03-28 15:01:37 -07:00
Diva Canto 03766c010f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-27 20:38:02 -07:00
Diva Canto af96b99356 More on switching the root folder from under the viewer. More experiments. 2012-03-27 20:36:54 -07:00
Melanie 614c404923 Typo fix 2012-03-28 03:45:52 +01:00
Diva Canto 4007f62158 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-27 19:09:03 -07:00
Diva Canto 300968e933 HG: Switch root folders from under the viewer. Towards HG 2.0. This is guarded by an obscure config that no one but me should be using at this point. 2012-03-27 19:08:29 -07:00
Melanie b24605d526 Fix typos 2012-03-28 02:55:29 +01:00
Justin Clark-Casey (justincc) 514a9fdf8e Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-28 02:52:11 +01:00
Justin Clark-Casey (justincc) 12d3ea3029 Add "friends show cache <first-name> <last-name>" command for debugging purposes.
This adds a reverse lookup (name -> ID) to IUserManagement instead of hitting the UserAccountService directly.
2012-03-28 02:51:34 +01:00
Melanie a43e804e59 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-03-28 02:46:31 +01:00
Melanie 0463a00d34 Start on Bulk inventory update via CAPS. Not functional yet. HG v2 2012-03-28 02:45:50 +01:00
Melanie 8c0f1e9058 Add a corresponding method for items. HG v2 2012-03-28 02:10:07 +01:00
Melanie 710c14fb57 Add SendRemoveInventoryFolders which allows to remove one or more
folders from the viewer's inventory view. For HG v2.0. More to come
2012-03-28 01:49:06 +01:00
Justin Clark-Casey (justincc) 445e8bc560 minor: Add some documentation to OnNewClient and OnClientClosed events 2012-03-28 01:08:56 +01:00
Justin Clark-Casey (justincc) cb41fb64be Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-28 01:06:18 +01:00
Melanie 37603ca6da Reverse a conditional in XInventory that made updating system folder evrsion numbers impossible 2012-03-27 23:11:06 +01:00
Diva Canto db5f46fa23 Let grided simulators retrieve the user's inventory skeleton 2012-03-27 15:24:55 -07:00
Justin Clark-Casey (justincc) b74a89bc12 minor: clean up some code formatting in VivoxVoiceModule.cs 2012-03-27 22:33:42 +01:00
Diva Canto 5e07336672 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-27 14:25:36 -07:00
Diva Canto 91950b3147 Amend to previous commit regarding the config name. Bugs bite. 2012-03-27 14:24:59 -07:00
Snoopy Pfeffer 19837ff4dd Two new scripting functions osInviteToGroup(userID) and osEjectFromGroup(userID) that invite/eject users to/from groups the object containing the script is set to. These functions also work for closed groups. 2012-03-27 22:30:02 +02:00
Snoopy Pfeffer 5d37a31436 Merge branch 'master' of ssh://snoopy@opensimulator.org/var/git/opensim 2012-03-27 22:16:25 +02:00
Snoopy Pfeffer 7223b63563 User level based restrictions for HyperGrid teleports, asset uploads, group creations and getting contacted from other grids. Incoming HyperGrid teleports can also be restricted to local users. 2012-03-27 22:09:58 +02:00
Dan Lake 971d32fda3 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-27 12:51:58 -07:00
Dan Lake 0247d738e2 When loading objects from DB, first add to scene, then call TriggerOnSceneObjectLoaded. 2012-03-27 12:50:58 -07:00
Diva Canto de242a29ca HG: beginning of a more restrictive inventory access procedure (optional). Experimental: we'll try switching the root folder from under the viewer. 2012-03-27 11:54:13 -07:00
Diva Canto 2e2634896d Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-27 10:09:08 -07:00
Diva Canto 8131a24cde Send the config section name up to the service classes themselves (XInventory and Assets). 2012-03-27 10:08:13 -07:00
Justin Clark-Casey (justincc) b78224176e Add Garmin Kawaguichi to CONTRIBUTORS.txt 2012-03-27 02:10:39 +01:00
Justin Clark-Casey (justincc) 09c85a6a6c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-27 02:10:02 +01:00
Garmin Kawaguichi 1aa1a9eb3d In TerrainModule.cs, the command terrain save-tile is modified to remove an unnecessary double argument "minimum Y tile" 2012-03-27 02:05:57 +01:00
Robert Adams 872d513daa BulletSim: make avatar animations update properly.
It seems that ODE calls the avatar collision handling routine even
if there are no collisions. This causes the animation to be updated.
So, for instance, going from HOVER to FLY is caused by the physics engine
calling the collision routine each frame with 0 collisions.
2012-03-26 17:36:33 -07:00
Robert Adams 84c9bd52d3 BulletSim: update BulletSim binaries and configuration fixing a crash which happens when there are more than a few hundred physical objects. 2012-03-26 13:48:15 -07:00
Melanie ad865ab4fc Add some more overloads to allow registering overloaded methods and lists
of methods.
2012-03-26 16:46:07 +01:00
Robert Adams 2fcdecf090 BulletSim: fix typo introducted by previous checkins (git merge sometimes makes mistakes) 2012-03-26 08:57:40 -07:00
Robert Adams f8879e06d2 Merge branch 'bulletsim1' 2012-03-26 08:49:12 -07:00
Robert Adams 3691e39178 BulletSim: update BulletSim.dll and libBulletSim.so with latest versions 2012-03-26 08:48:51 -07:00
Melanie 3810e98474 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim
Conflicts:
	OpenSim/Region/OptionalModules/Scripting/ScriptModuleComms/ScriptModuleCommsModule.cs
2012-03-26 14:21:15 +01:00
Melanie 7e0936e4b6 Add a hust UUID to the script invocations 2012-03-26 14:19:55 +01:00
Mic Bowman 055269805d Fix compile error in ScriptModuelComms and add some debugging into the modInvoke
routines to simplify finding method registration issues.
2012-03-25 22:59:06 -07:00
Melanie 98a6c78943 Fix the omission on the interface declaration 2012-03-26 03:33:39 +01:00
Melanie c9c01d5226 Further simplify ScriptComms 2012-03-26 03:20:40 +01:00
Melanie ac0f1ff0a6 Dynamically create the delegate type to reduce complexity in the caller 2012-03-26 01:47:20 +01:00
Melanie d7cc194e83 Correct the design error I introduced into ScriptComms. Untested but about to
be.
2012-03-26 01:47:14 +01:00
Melanie cb44808504 Simplify the module invocation registration. The types and method name
can be pulled fromt he delegate so we don't need to pass them explicitly
2012-03-25 19:52:38 +01:00
Mic Bowman a07fa0395f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-24 22:45:17 -07:00
Mic Bowman a14437ad5a Add support for key, vector, rotation and list types for both
arguments and return values to the modInvoke family of functions.

See http://opensimulator.org/wiki/OSSL_Script_Library/ModInvoke
2012-03-24 22:43:42 -07:00
Justin Clark-Casey (justincc) 4f17537555 Allow the user to enter help topics in upper or lowercase.
Forcing uppercase (e.g. help Assets) is too annoying.
Thanks to WhiteStar for pointing this out.
2012-03-24 03:07:01 +00:00
Justin Clark-Casey (justincc) f03c3c062e Hack example on to "terrain save-tile" extended help.
Thanks to Garmin Kawaguichi for the initially suggested text.
2012-03-24 02:41:45 +00:00
Justin Clark-Casey (justincc) f53c6b2594 Use system provided temporary file in "terrain save-tile" to avoid problems with drive letters on windows
Thanks to Garmin Kawaguichi for picking up on this and providing an initial solution (which I adapted).
2012-03-24 02:30:43 +00:00
Justin Clark-Casey (justincc) cf61c74e90 Give feedback when "terrain save-tile" is not successfully invoked. 2012-03-24 02:16:44 +00:00
Robert Adams 07388071d4 Merge branch 'bulletsim1' of ssh://island.sciencesim.com/home/sceneapi/radams1/bs-opensim into bulletsim1
Conflicts:
	OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
2012-03-23 16:20:53 -07:00
Robert Adams ff54b3c366 BulletSim: change default of shouldDisableContactPoolDynamicAllocation from False to True. It seems that collisions don't happen well when it is False (things fall through terrain). 2012-03-23 15:50:32 -07:00
Robert Adams 3f53b7bc91 BulletSim: Add new configuration parameters to get and set console commands 2012-03-23 13:15:24 -07:00
Robert Adams 142de1d02f BulletSim: add a bunch of internal Bullet configuration parameters to OpenSimDefaults.ini and the code. 2012-03-23 13:15:23 -07:00
Robert Adams 1273f259e4 BulletSim: remove confusion between angularVelocity and rotationalVelocity (there is still confusion in the rest of OpenSim). Enhance some debug statements to include the object ID. 2012-03-23 13:15:22 -07:00
Robert Adams 2f6e8564fe BulletSim: add updated (but not working) BulletSim dlls 2012-03-23 13:15:20 -07:00
Robert Adams 1a738caeca BulletSim: update TODO list. Rearrange code for readability. Add per object friction and restitution runtime settable parameters. 2012-03-23 13:15:18 -07:00
Robert Adams de24feb275 BulletSim: Add AvatarRestitution parameter. Centralize computation of buoyancy for flying. Tweek avatar default friction and resititution 2012-03-23 13:15:17 -07:00
Robert Adams 6ecdadb329 BulletSim: set buoyancy in only one place 2012-03-23 13:15:16 -07:00
Robert Adams b22d040169 BulletSim: add some new runtime setable parameters to match the dll. 2012-03-23 13:15:14 -07:00
Robert Adams 6c50442625 BulletSim: update BulletSim.dll to Bullet 2.80 and add libBulletSim.so to the new lib32 and lib64 binary directories 2012-03-23 13:15:13 -07:00
Robert Adams 975184b3f9 BulletSim: Update list of TODO tasks 2012-03-23 13:15:11 -07:00
Robert Adams 164706043d Have the PhysicsParameters module output console command responses
directly to the console rather than logging at INFO (which doesn't
output anything for WARN).

There should really be a WriteLine method on ICommandConsole so all
of the different commands don't have to figure out where the command
output should go.
2012-03-23 13:11:58 -07:00
nebadon 6b87a29c86 fix yield prolog so it compiles with mono 2.11 there has been a bugzilla
report files with mono project in regards to this change, this simply
lets us move forward with using mono 2.11 for now :
https://bugzilla.xamarin.com/show_bug.cgi?id=4052
2012-03-23 02:22:57 -07:00
Justin Clark-Casey (justincc) d4beb2f5bc Comment out log message about sending periodic appearance updates. 2012-03-23 03:39:39 +00:00
Justin Clark-Casey (justincc) e5b182fb41 Add information about SendPeriodicAppearanceUpdates to OpenSimDefaults.ini for now.
Default remains false.
2012-03-23 03:38:33 +00:00
Justin Clark-Casey (justincc) 54887bf386 Add experimental SendPeriodicAppearanceUpdates = true/false setting to [Startup] in OpenSim.ini
On osgrid and other places, I have observed that manually sending appearance updates from the console often relieves grey avatar syndrome.
Despite hunting high and low, I haven't been able to find where this packet is sometimes being lost - it might be a persistent viewer bug for all I know.
Therefore, this experimental setting resends appearance data for everybody in the scene every 60 seconds.  These packets are small and the viewer only fetches texture
data if it doesn't already have it.
Default is false.
2012-03-23 03:33:07 +00:00
Justin Clark-Casey (justincc) 4ed833bc9d Add a scene maintenance thread in parallel to the heartbeat thread. The maintenance thread will end up running regular jobs that don't need to be in the main scene loop.
The idea is to make the critical main scene loop as skinny as possible - it doesn't need to run things that aren't time critical and don't depend on update ordering.
This will be done gradually over time to try and uncover any issues.  Many non-criticial scene loop activities are being launched on separate threadpool threads anyway.
This may also allow modules to register their own maintenance jobs without having to maintain their own timers and threads.
Currently the maintenance loop runs once a second, as opposed to the 89ms scene loop.
2012-03-23 02:49:29 +00:00
Justin Clark-Casey (justincc) 349454ca27 Remove unnecessary shutting down check in Scene.Heartbeat(). Add some method doc. Rename HeartbeatThread, shuttingdown to conform to code standards. 2012-03-23 01:46:11 +00:00
BlueWall c0672cb7db Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-22 21:27:03 -04:00
BlueWall 176bba4f67 Merge branch 'master' of /home/opensim/src/opensim 2012-03-22 21:26:30 -04:00
Justin Clark-Casey (justincc) 18b3f1132e Rename Scene.StartTimer() to Start() - this method no longer uses a timer. Comment out more effectively unused old heartbeat code. 2012-03-23 01:21:43 +00:00
Justin Clark-Casey (justincc) 4ee8b3e23e Fix build break 2012-03-23 01:11:43 +00:00
Justin Clark-Casey (justincc) a9995ede65 Fix bug in ScenePresenceAnimator.RemoveAnimation() introduced in commit 1a8769e
Forgot to uppercase the animation name for default animations, since for some reason we store and use them in upper rather than lowercase.
2012-03-23 01:08:13 +00:00
Justin Clark-Casey (justincc) bc2963d42a Comment out unused scene loop restart code.
This has actually been unused since at least 0.7.2 due to earlier changes.
2012-03-23 01:03:10 +00:00
Justin Clark-Casey (justincc) 08b8ebcc7e Use m_lastFrameTick instead of m_lastUpdate in Scene.GetHealth(). m_lastUpdate is no longer properly updated and is redundant anyway. 2012-03-23 00:55:11 +00:00
BlueWall c903813e00 RegionReady logging
Some maintenance to clean up logging messages
2012-03-22 20:49:45 -04:00
Justin Clark-Casey (justincc) 40b9b519b8 Add commented out section on collisions switch in Scene.SetSceneCoreDebug().
This was not implemented before the recent changes but should be at some point.
2012-03-23 00:12:14 +00:00
Robert Adams efe61b2481 BulletSim: remove confusion between angularVelocity and rotationalVelocity (there is still confusion in the rest of OpenSim). Enhance some debug statements to include the object ID. 2012-03-22 17:04:06 -07:00
Justin Clark-Casey (justincc) 15c2499ccd Comment out login parameters debug output accidentally included with c4b2d24 2012-03-22 23:31:41 +00:00
Justin Clark-Casey (justincc) c1d064e1ca Comment out a terrain save-tile debugging message that accidentally crept in with c4b2d24 2012-03-22 23:16:52 +00:00
Justin Clark-Casey (justincc) 5bf45b9b98 refactor: simplify code for checks when part.OwnerID != destPart.OwnerID in MoveTaskInventoryItem() 2012-03-22 22:40:38 +00:00
Justin Clark-Casey (justincc) 760010d6fb Fix llGiveInventory() so that it checks the destination part for AllowInventoryDrop, not the source.
This allows llAllowInventoryDrop() to work.
Regression test added for this case.
2012-03-22 22:33:37 +00:00
Justin Clark-Casey (justincc) 3bcf71c647 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-22 22:33:16 +00:00
Justin Clark-Casey (justincc) c4b2d24f33 Add llGiveInventory() test from object to object where both objects are owned by the same user. 2012-03-22 22:17:07 +00:00
Diva Canto df624c13c9 HG Friends: don't notify if the server isn't there. 2012-03-22 15:08:57 -07:00
Diva Canto 25e5b6a76c Added new simple_build_permissions config to the .ini and .example files. 2012-03-22 14:21:07 -07:00
Melanie 6bc1ccf234 Change a false false to be truly true - or is this statement false?
Fixes perms boo-boo
2012-03-22 20:39:18 +00:00
Melanie b5d0bc2488 Rework Diva's patch to simplify it 2012-03-22 20:25:20 +00:00
Melanie 45b588cf00 Revert "Simple build permissions feature. NOTE: EXPERIMENTAL, DISABLED BY DEFAULT. Turns out that this can't be expressed by cascading Permission modules, so I did it as per this patch."
This reverts commit 6146e7ef25.
2012-03-22 20:10:38 +00:00
Diva Canto 6146e7ef25 Simple build permissions feature. NOTE: EXPERIMENTAL, DISABLED BY DEFAULT. Turns out that this can't be expressed by cascading Permission modules, so I did it as per this patch. 2012-03-22 12:57:12 -07:00
Justin Clark-Casey (justincc) a8c87bab64 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-22 01:56:07 +00:00
BlueWall c98e3a6422 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-21 20:34:51 -04:00
BlueWall 06c81a2afe Fix typo
Add enclosing " to urls
2012-03-21 20:33:45 -04:00
Robert Adams 4bfd9e28ca BulletSim: add updated (but not working) BulletSim dlls 2012-03-21 17:24:17 -07:00
Justin Clark-Casey (justincc) 9949ac2f9f refactor: Rename AvatarAnimations -> DefaultAvatarAnimations for code clarity since non-default animations are handled completely separately from this class 2012-03-22 00:10:41 +00:00
Justin Clark-Casey (justincc) 71ec84d77f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-22 00:00:05 +00:00
Justin Clark-Casey (justincc) 1a8769e6ef Instead of loading default avatar animations in both SLUtil and AvatarAnimations, load just in AvatarAnimations instead.
This lets us remove the dependency of OpenSim.Framework.dll on data/avataranimations.xml, which is not necessary for ROBUST.
This commit also takes care of the odd situation where animations are stored and used internally with uppercase names (e.g. "STAND")
but scripts refer to them with lowercase names (e.g. "sit").
2012-03-21 23:57:39 +00:00
Robert Adams 7783c93802 BulletSim: update TODO list. Rearrange code for readability. Add per object friction and restitution runtime settable parameters. 2012-03-21 16:16:47 -07:00
Robert Adams cb2727cf6e BulletSim: Add AvatarRestitution parameter. Centralize computation of buoyancy for flying. Tweek avatar default friction and resititution 2012-03-21 16:16:46 -07:00
Robert Adams 6c55fd93a3 BulletSim: set buoyancy in only one place 2012-03-21 16:16:45 -07:00
Robert Adams 898a16802b BulletSim: add some new runtime setable parameters to match the dll. 2012-03-21 16:16:44 -07:00
Robert Adams 3e7e166124 BulletSim: update BulletSim.dll to Bullet 2.80 and add libBulletSim.so to the new lib32 and lib64 binary directories 2012-03-21 16:16:42 -07:00
Robert Adams eafc3d6c47 BulletSim: Update list of TODO tasks 2012-03-21 16:16:41 -07:00
Diva Canto 5170cd7577 Updated the UserAccountsClient a little bit, plus some more sanity checks on the service connector. 2012-03-21 11:22:39 -07:00
Diva Canto 4a9ca3ca8f HG Friends: reroute the status notifications to the HGFriends service, so that they can scale better. They were previously being handled by the UAS; that is still there, but it's now obsolete and will be removed in a future release. 2012-03-21 10:35:06 -07:00
Diva Canto d8bcb78b10 HG Friends: pulled sim-bound notification code to HGStatusNotifier, so that we can better manage this traffic. 2012-03-21 09:14:17 -07:00
Diva Canto 8ad426f329 Removed extraneous debug message 2012-03-21 08:08:43 -07:00
Diva Canto 1089e9b842 Removed extraneous debug message 2012-03-21 08:08:12 -07:00
Diva Canto 5abe1b4fce Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-20 21:36:46 -07:00
Diva Canto 91cc09b7bf HG Friends config for Robust.HG.ini.example 2012-03-20 21:36:24 -07:00
Diva Canto d49dd5573b Removed extraneous debug messages. Added a check for UUID.Zero. 2012-03-20 21:36:02 -07:00
Justin Clark-Casey (justincc) 54a8a5baba If "debug scene updates true" then print out to log when a garbage collection occurs. 2012-03-21 02:02:14 +00:00
Justin Clark-Casey (justincc) de53aa32e0 Add Scene.DebugUpdates switch which, if turned on, will print out a warning when a frame updates takes longer than twice the desired time
This is controlled via "debug scene updates true|false" on the region console.
Also fix an oversight with "debug scene teleport true|false"
2012-03-21 01:27:09 +00:00
Justin Clark-Casey (justincc) ab243f4a57 Incorporate scene teleporting debugging into "debug scene teleport true|false" command 2012-03-21 01:13:44 +00:00
Justin Clark-Casey (justincc) 9671e43497 Replace "scene debug true false true" console command with "scene debug scripting true" or other parameters as appropriate.
This is to allow individual switching of scene debug settings and to provide flexibiltiy for additional settings.
2012-03-21 01:02:58 +00:00
Melanie 7a0d7be44c Refix the fixed fix! 2012-03-21 00:17:58 +00:00
Diva Canto 69a9a6993e Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-20 17:33:26 -07:00
Justin Clark-Casey (justincc) 91a001d3cf fix compile error from last commit 2012-03-21 00:31:31 +00:00
Diva Canto 9e8b194356 Fixed borkness with map search introduce by my last changes to it. 2012-03-20 17:29:34 -07:00
Diva Canto 742acc0a3c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-20 17:26:18 -07:00
Diva Canto f7c61790b7 Fixed borkness with previous merge. 2012-03-20 17:25:52 -07:00
Justin Clark-Casey (justincc) 022366a074 refactor: simplify EstateManagementModule.handleEstateDebugRegionRequest() 2012-03-21 00:23:46 +00:00
Diva Canto 841b4232f6 Line endings 2012-03-20 17:19:55 -07:00
Diva Canto 3fa51f66ec Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
Conflicts:
	OpenSim/Framework/Util.cs
2012-03-20 17:19:14 -07:00
Diva Canto d08ad6459a HG Friends: allow the establishment of HG friendships without requiring co-presence in the same sim. Using avatar picker, users can now search for names such as "first.last@grid.com:9000", find them, and request friendship. Friendship requests are stored if target user is offline. TESTED ON STANDALONE ONLY. 2012-03-20 17:14:19 -07:00
Justin Clark-Casey (justincc) 7bf628ab31 Add ability to log warn if a frame takes longer than twice the expected time. Currently commented out. 2012-03-21 00:02:08 +00:00
Justin Clark-Casey (justincc) 4c41b53a4b Add prim name to "[MESH]: No recognized physics mesh..." log message 2012-03-20 23:35:50 +00:00
Justin Clark-Casey (justincc) 02f9caf6ce remove some mono compiler warnings 2012-03-20 23:34:10 +00:00
Justin Clark-Casey (justincc) 3701f893d3 remove unnecessary tmpFrameMS, use maintc instead for frame time calculation 2012-03-20 23:31:57 +00:00
Justin Clark-Casey (justincc) c39fba8f9d minor: remove some mono compiler warnings 2012-03-20 23:19:11 +00:00
Justin Clark-Casey (justincc) 8bdd38b804 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-20 23:14:15 +00:00
Justin Clark-Casey (justincc) 30b2a8c778 Move frame loop entirely within Scene.Update() for better future performance analysis and stat accuracy.
Update() now accepts a frames parameter which can control the number of frames updated.
-1 will update until shutdown.
The watchdog updating moves above the maintc recalculation for any required sleep since it should be accounted for within the frame.
2012-03-20 23:12:21 +00:00
nebadon bd1f848bf6 slight increase in jump power to make running jump slightly better. 2012-03-20 14:17:15 -07:00
nebadon 9ed3532c1b reduce avatar verticle jump from the absurd 5 meter jump to a less
absurd 3m vertical jump to better match what you would see in Second
Life and be more in line with what users would expect.
2012-03-20 13:45:38 -07:00
Justin Clark-Casey (justincc) 86bd287b53 refactor: precalculate the fixed movement factor for avatar tilting (sqrt(2)) rather than doing it multiple times on every move. 2012-03-20 20:39:33 +00:00
Justin Clark-Casey (justincc) 5f2a65c976 refactor: Eliminate unnecessary duplicate avCapsuleTilted 2012-03-20 20:28:58 +00:00
Justin Clark-Casey (justincc) a3abd65e3d Remove pointless ThreadAbortException catching in a test that isn't run anyway. 2012-03-20 01:41:32 +00:00
Justin Clark-Casey (justincc) 8c911ddaf0 Remove some pointless catching/throwing in the scene loop. 2012-03-20 01:39:19 +00:00
Justin Clark-Casey (justincc) 4cbaf053cf Fix small typo 2012-03-20 00:53:33 +00:00
Justin Clark-Casey (justincc) 1c0f3a1f21 Fix crash where two scene loop threads could changes m_MeshToTriMeshMap at the same time.
Have to lock m_MeshToTriMeshMap as property is static and with more than one region two scene loops could try to manipulate at the same time.
2012-03-20 00:40:03 +00:00
Justin Clark-Casey (justincc) e9271ec653 Add some doc about the EventManager.OnLoginsEnabled event. 2012-03-19 22:48:26 +00:00
Justin Clark-Casey (justincc) e2b1c569da Fix a bug where logins to standalones would fail if the RegionReady module was not active
Unfortunately, the OnLoginsEnabled event is currently only guaranteed to fire if the RegionReady module is active.
However, we can instantiate the AuthorizationService in the module RegionLoaded method since by this time all other modules will have been loaded
2012-03-19 22:45:03 +00:00
Justin Clark-Casey (justincc) 437f18bc41 Stop console command "xengine status" throwing an exception if there are no scripts in a region.
Addresses http://opensimulator.org/mantis/view.php?id=5940
2012-03-19 21:43:23 +00:00
Justin Clark-Casey (justincc) 4972491efb Move startup/shutdown command .txt files to .txt.example files to avoid clobbering on updates.
Thanks to Whitestar in http://opensimulator.org/mantis/view.php?id=5938 for pointing out this problem.
2012-03-19 00:29:02 +00:00
Justin Clark-Casey (justincc) ab54ce1907 Fix configuration problems where XAssetDatabasePlugin was picked up accidentally.
The asset data plugin now implements IXAssetData rather than IAssetData so the ordinary AssetService should no longer pick it up.
This replaces the changes in 92b1ade.  There is no longer any need to adjust your StandaloneCommon.ini/Robust.ini/Robust.HG.ini files.
This may explain very recent issues in the last few weeks where textures have been disappearing or turning white (as they were going to different places).
Unfortunately, you will need to rollback to an earlier database backup or reupload the textures.
2012-03-19 00:18:04 +00:00
Diva Canto d1256536b5 Added GetUUID(first, last) on UserAgentsService so that we can finally make direct user connections. 2012-03-17 21:27:28 -07:00
Diva Canto 441ef301a3 Amend to previous commit: normalize strings ToLower. 2012-03-17 19:41:47 -07:00
Diva Canto 7dfa0309c6 More on HG access control. This commit splits the UserManagementModule into the Basic one and the HG one, so that we can do everything that needs to be done for HG ACLs to work without interfering with the vanilla opensim. For the moment, it finds foreign users who have left a trace in the region, e.g. an object. This makes it possible to ban/IM/etc these users using the regular avatar picker. TODO: contact the UAS directly given a name of the form First.Last @foo.com. 2012-03-17 15:36:20 -07:00
Diva Canto 92b1ade78e BAD JUSTIN!
People using standalone in master, please update your StandaloneCommon.ini according to this change.
People using robust in master, please update your Robust.HG.ini.example[.HG].ini according to this change.
2012-03-17 15:01:10 -07:00
Diva Canto 1a4fdd2666 Moved HandleAvatarPickerRequest from the generic Scene.PacketHandlers to the UserManagementModule where it belongs. No functional changes. 2012-03-17 10:48:22 -07:00
Diva Canto d87a5758fb Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-17 10:00:43 -07:00
Diva Canto 33c14cb107 Region access control! Region operators can now specify things like DisallowForeigners (means what it says) and DisallowResidents (means that only admins and managers can get into the region). This puts the never-completed AuthorizationService to good use. Note that I didn't implement a grid-wide Authorization service; this service implementation is done entirely locally on the simulator. This can be changed as usual by pluging in a different AuthorizationServicesConnector. 2012-03-17 10:00:11 -07:00
Justin Clark-Casey (justincc) 4a57112f19 Add osGetInventoryDesc() as per http://opensimulator.org/mantis/view.php?id=5927
This allows one to get description data for a given prim inventory item.
Thanks MarcelEdward and GuduleLapointe!
2012-03-17 04:02:23 +00:00
Justin Clark-Casey (justincc) 1e4180fc93 Clean up "save iar" help 2012-03-17 02:54:19 +00:00
Diva Canto a4dca88a57 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-16 13:08:27 -07:00
Diva Canto a2009ffe2e Terrain: added [Terrain] section with an option to load an initial flat terrain. Default is still pinhead island. I much rather have a flat land in the beginning. 2012-03-16 13:08:05 -07:00
Justin Clark-Casey (justincc) 59b6f6a6e0 minor: reuse threadpool count we just fetched instead of fetching it again 2012-03-16 03:56:56 +00:00
Justin Clark-Casey (justincc) bece2023e7 Add total scripts count to "show threads"
However, this returns 0 on Mono (at least on 2.6.7)!  So not showing if it is zero.
2012-03-16 03:52:13 +00:00
Justin Clark-Casey (justincc) 9497a7c7bd refactor: separate out console and status report generation parts of XEngine 2012-03-16 03:32:14 +00:00
Justin Clark-Casey (justincc) 922d8c9312 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-16 03:28:17 +00:00
Justin Clark-Casey (justincc) 6e8f80f1ab Improve threadpool reporting to "show threads" console command (also gets printed out periodically) 2012-03-16 03:26:47 +00:00
Diva Canto 05bb2e4275 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-15 20:22:59 -07:00
Diva Canto 05a1493fff More on map search: send extra messages to the user regarding the region being found or not, because the UI is horribly confusing -- places profile is always "loading..." whether the region exists or not. 2012-03-15 20:22:26 -07:00
Justin Clark-Casey (justincc) 421b562a04 Add process working memory to "show stats" memory statistics.
This shows the actual amount of RAM being taken up by OpenSimulator (objects + vm overhead)
2012-03-16 02:43:33 +00:00
Justin Clark-Casey (justincc) 78e992dbd0 Move startup_commands.txt.example to startup_commands.txt for consistency with the existing shutdown_commands.txt.
Add comments to both files saying what they are (files that can contain console commands to execute on sim startup/shutdown) with an example.
2012-03-16 02:13:45 +00:00
Justin Clark-Casey (justincc) b19be657b6 Remove unnecessary "backup" command in shutdown_commands.txt
The simulator is already doing this internally.
2012-03-16 02:10:59 +00:00
Justin Clark-Casey (justincc) aa881e8065 Allow comments to appear in command scripts (e.g. shutdown_commands.txt).
These can start with ; # or //
2012-03-16 02:07:26 +00:00
Justin Clark-Casey (justincc) 34f6f87b6c Remove unused bin/ScriptEngines/Default.lsl
It would certainly be nice to change the default script on disk, but this is currently unused and isn't a suitable default.
At this location it would also stop an easy manual deletion of script engine compiles and state.
2012-03-16 01:51:16 +00:00
Justin Clark-Casey (justincc) 8550a4a07e In Top Scripts report, don't show scripts with no or less than 1 microsecond of execution time.
This is to make the report clearer and less confusing.
2012-03-16 01:46:21 +00:00
Justin Clark-Casey (justincc) c386b68373 Aggregate script execution times by linksets rather than individual prims.
This is for the top scripts report.
2012-03-16 01:31:53 +00:00
Justin Clark-Casey (justincc) 7df4a544fe Fix owner name display in "Top Colliders" and "Top Script" region reports. 2012-03-16 00:53:36 +00:00
Justin Clark-Casey (justincc) a4b01ef38a Replace script-lines-per-second with the script execution time scaled by its measurement period and an idealised frame time.
The previous lines-per-second measurement used for top scripts report was inaccurate, since lines executed does not reflect time taken to execute.
Also, every fetch of the report would reset all the numbers limiting its usefulness and we weren't even guaranteed to see the top 100.
The actual measurement value should be script execution time per frame but XEngine does not work this way.
Therefore, we use actual script execution time scaled by the measurement period and an idealised frame time.
This is still not ideal but gives reasonable results and allows scripts to be compared.
This commit moves script execution time calculations from SceneGraph into IScriptModule implementations.
2012-03-16 00:34:30 +00:00
Diva Canto 0548eeb571 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-15 16:03:33 -07:00
Diva Canto 18d1d6d3b4 More on SLURLs and V3. This is hacky, but it works. Basically, we have to redefine the encoding of HG URLs because the viewer messes them up. Examples of what works and doesn't work:
- secondlife://ucigrid00.nacs.uci.edu|8002/128/128 <-- works throughout the viewer
- secondlife://http|!!ucigrid00.nacs.uci.edu|8002+Test+Zone+1/128/128 <-- works throughout the viewer
- secondlife://http|!!grid.sciencesim.com!grid!hypergrid.php+Yellowstone01+74/128/128 <-- works throughout
- secondlife://http%3A%2F%2Fucigrid00.nacs.uci.edu%3A8002%20UCI%20Central%201/128/128 <-- works in chat, but not as URLs in the webkit
2012-03-15 16:03:09 -07:00
Diva Canto df144eb9e2 Revert "Revert "More hacking around viewer bug""
This reverts commit e5612553ce.
2012-03-15 14:55:25 -07:00
Diva Canto f52917288a These SLURLs are very confusing! -- reverting the revert. Hack is, indeed, needed.
Revert "Revert "Hack around https://jira.secondlife.com/browse/VWR-28570""

This reverts commit 5a9560db28.
2012-03-15 14:54:25 -07:00
Diva Canto 5a9560db28 Revert "Hack around https://jira.secondlife.com/browse/VWR-28570"
This reverts commit 697ac7fd9d.
2012-03-15 14:36:48 -07:00
Diva Canto e5612553ce Revert "More hacking around viewer bug"
This reverts commit 10731732b4.
2012-03-15 14:36:29 -07:00
Mic Bowman 8b5298a62e Protect the scriptmodulecomms interface. 2012-03-15 13:37:43 -07:00
Mic Bowman 402ff75d78 Adds a new script command 'modInvoke' to invoke registered functions
from region modules. The LSL translator is extended to generate the
modInvoke format of commands for directly inlined function calls.

A region module can register a function Test() with the name "Test".
LSL code can call that function as "Test()". The compiler will translate
that invocation into modInvoke("Test", ...)
2012-03-15 13:16:02 -07:00
Diva Canto fd4ad82367 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-15 11:06:08 -07:00
Diva Canto 10731732b4 More hacking around viewer bug 2012-03-15 11:05:43 -07:00
Diva Canto 697ac7fd9d Hack around https://jira.secondlife.com/browse/VWR-28570 2012-03-15 10:17:02 -07:00
Justin Clark-Casey (justincc) acb1355ff2 Remove property/field duplication in ScriptInstance where it's unnecessary. 2012-03-15 02:02:31 +00:00
Justin Clark-Casey (justincc) 2d32401e23 Simplify some logic in the ScriptInstance constructor - running is set to false in both if/else branches 2012-03-15 01:32:16 +00:00
Justin Clark-Casey (justincc) f0c1746063 minor: correct indentation levels 2012-03-15 01:26:38 +00:00
Justin Clark-Casey (justincc) 5ddda89238 Remove duplication of m_RunEvents and Running 2012-03-15 00:48:44 +00:00
Justin Clark-Casey (justincc) 2f81e53f63 Fix a problem where multiple near simultaneous calls to llDie() from multiple scripts in the same linkset can cause unnecessary thread aborts.
The first llDie() could lock Scene.m_deleting_scene_object.
The second llDie() would then wait at this lock.
The first llDie() would go on to remove the second script but always abort it since the second script's WorkItem would not go away.
Easiest solution here is to remove the m_deleting_scene_object since it's no longer justified - we no longer lock m_parts but take a copy instead.
This also requires an adjustment in XEngine.OnRemoveScript not to use instance.ObjectID instead when firing the OnObjectRemoved event.
2012-03-15 00:20:47 +00:00
Justin Clark-Casey (justincc) 12cebb12d5 Alleviate an issue where calling Thread.Abort() on script WorkItems can fail to release locks, resulting in a crippled simulator.
This seems to be a particular problem with ReaderWriterLockSlim, though other locks can be affected as well.
It has been seen to happen when llDie() is called in a linkset running more than one script.
Alleviation here means supplying a ScriptInstance.Stop() timeout of 1000ms rather than 0ms, to give events a chance to complete.
Also, we check the IsRunning status at the top of the ScriptInstance.EventProcessor() so that another event doesn't start in the mean time.
Ultimately, a better solution may have to be found since a long-running event would still exceed the timeout and be aborted.
2012-03-15 00:06:52 +00:00
Diva Canto d6dd3c42d1 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-13 20:16:19 -07:00
Diva Canto 479dd65a63 Teleports: bounce off repeated requests of teleporting the same agent. Some scripts do that, and that fails the whole thing. 2012-03-13 20:15:38 -07:00
Diva Canto 5a09572393 Minor sanity check on simulation agent handler (content type) 2012-03-13 20:14:51 -07:00
Justin Clark-Casey (justincc) 95ec96bf86 refactor: rename ScriptInstance.m_CurrentResult to m_CurrentWorkItem to make it more understandable as to what it is and what it does (hold a thread pool work item for a waiting of in-progress event)
Also add other various illustrative comments
2012-03-14 00:29:36 +00:00
Diva Canto 37828c9b9a Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-13 08:07:11 -07:00
Diva Canto 4eb2605c79 Datasnapshot: added "secret" to the registration/deregistration query so that data providers can verify authenticity if they want. 2012-03-13 08:06:30 -07:00
Justin Clark-Casey (justincc) 25592bbd85 Add max thread and min thread information to "xengine status" region console command 2012-03-12 21:16:05 +00:00
Robert Adams e0dd38f672 Rename the stream extension method WebUtil.CopyTo() to WebUtil.CopyStream().
.NET 4.0 added the method Stream.CopyTo(stream, bufferSize). For .NET 3.5
and before, WebUtil defined an extension method for Stream with the signature
Stream.CopyTo(stream, maxBytesToCopy). The meaning of the second parameter
is different in the two forms and depending on which compiler and/or
runtime you use, you could get one form or the other. Crashes ensue.
This change renames the WebUtil stream copy method to something that
cannot be confused with the new CopyTo method defined in .NET 4.0.
2012-03-12 10:07:04 -07:00
Melanie 1547fe959e Change OpenSim.ini.example to reflect how to actually enable prim limits,
as opposed to how it was first designed.
2012-03-12 16:06:35 +00:00
Diva Canto 13fb582c12 DataSnapshot: renamed gridserverURL to gatekeeperURL, and normalimzed the capitalization of 'name' to lower case, also in the same <grid> section. 2012-03-12 07:55:17 -07:00
Diva Canto 824eb7ed20 Added osGetGridGatekeeperURI() 2012-03-10 19:51:28 -08:00
Diva Canto 291dc39691 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-10 08:09:43 -08:00
Justin Clark-Casey (justincc) 05e821c444 Fix TestSaveOarNoAssets() by not launch a no-assets request on a separate thread.
This was previous behaviour anyway.
2012-03-10 03:11:28 +00:00
Justin Clark-Casey (justincc) 6e26f17923 minor: In IAR save, log when we start adding the control file rather than saying afterwards that we added it. 2012-03-10 02:13:17 +00:00
Justin Clark-Casey (justincc) 5507752dc5 minor: rearrange some save oar messages so they say what they're about to do rather than what they've just done. 2012-03-10 02:11:30 +00:00
Justin Clark-Casey (justincc) 1693799623 On OAR saving, try fetch assets serially rather than firing all the requests at the asset service at once.
This may (or may not) improve reliability for http://opensimulator.org/mantis/view.php?id=5898
Quick tests show that save time is the same.
2012-03-10 02:03:07 +00:00
Justin Clark-Casey (justincc) 3a5928f813 Add satguru and Fernando to contributors 2012-03-10 01:31:27 +00:00
Justin Clark-Casey (justincc) d6ebf2d6ca Add ability to specify a default estate to be used when creating regions.
This is configured in the new [Estates] section of OpenSim.ini.
If a default estate is configured then all new regions are automatically joined to it instead of asking the user.
If the default estate does not already exist then it is created.
Current default behaviour remains the same - the user is asked for estate details when necessary.
Thanks to Frenando Oliveira for the patch which I adapated further.
2012-03-10 01:27:05 +00:00
Mic Bowman 7b8e9d88e3 Serialize all web requests to a particular host:port pair; only applied to the PostToService variants. 2012-03-09 16:53:51 -08:00
Justin Clark-Casey (justincc) bdc968f1fc Factor out common default animations code into SLUtil. LLClientView now makes use of the SLUtil copy via a method rather than each LLClientView loading a separate copy.
As per opensim-users mailing list discussion.
2012-03-09 23:57:24 +00:00
Melanie 5c5a493791 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-03-09 22:59:23 +00:00
satguru srivastava 35f2479858 fix for NPC not playing internal animations 2012-03-09 22:58:59 +00:00
Diva Canto a58152bd2a More on inventory transfer hold ups:
- Added an inventory cache for caching root and system folders
- Synchronized the remote inventory connector, so that all the remote inventory calls are serialized
This will not make much difference in the hold ups. We'd have to move the FireAndForget high up to AddInventoryItem, but that opens up a can of worms regarding the notification of the recipient... the recipient would be notified of the offer before the items are effectively in his inventory, which could lead to surprises.
2012-03-09 12:59:24 -08:00
Diva Canto 81869c4a3f More on HG inventory transfers. Move the FireAndForget higher up. 2012-03-09 09:48:12 -08:00
Diva Canto f545d669de Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-08 19:32:21 -08:00
Diva Canto 7db5ba7702 More on the freeze on HG inventory transfers: spawn a threadlet on the functional asset posts so that the client threads doesn't freeze (but the network posts are serialized). 2012-03-08 19:31:53 -08:00
Justin Clark-Casey (justincc) 06dda14505 Simplify minimap coarse location code by just reference SP.AbsolutePosition
This is rather than checking whether the avatar is sitting and doing its own calculation.
2012-03-09 02:50:57 +00:00
Justin Clark-Casey (justincc) 205c36d3a4 Get rid of unnecessary ParentID == 0 check on SP.Get_AbsolutePosition since this is handled by the necessary ParentPart check 2012-03-09 02:44:08 +00:00
Justin Clark-Casey (justincc) 94e58ff6b9 Use SP.ParentPart instead of ParentID in places where it's more efficient (saving extra null checks, etc.)
However, it looks like we should retain SP.ParentID since it's much easier to use that in places where another thread could change ParentPart to null.
Otherwise one has to clumsily put ParentPart in a reference, etc. to avoid a race.
2012-03-09 02:38:11 +00:00
Justin Clark-Casey (justincc) b454326273 refactor: cleanup SP.HandleAgentSit so that everything is done within one if (part != null), rather than having unnecessary multiple checks 2012-03-09 02:33:48 +00:00
Diva Canto c22446ede0 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-08 18:29:08 -08:00
Diva Canto 8a34d1b710 HG inventory/asset transfers: serialize asset posts. I'm using the same pattern as suggested in the patch mantis #5921. Testing it in this smaller context to see how it works. 2012-03-08 18:28:46 -08:00
Justin Clark-Casey (justincc) 73c47f7205 Remove a race condition from SP.Set_AbsolutePosition where we assume the ParentPart is still not null if the ParentID != 0
Another thread could come in and stand the avatar between those two instructions.
2012-03-09 02:22:22 +00:00
Melanie 42a7a85062 FireAndForget scripted rez - port from Avination 2012-03-09 00:57:49 +00:00
Justin Clark-Casey (justincc) df4b06aed1 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-09 00:20:10 +00:00
Justin Clark-Casey (justincc) 034c9d6bcc Merge branch 'xassetservice' 2012-03-09 00:19:42 +00:00
Justin Clark-Casey (justincc) 3c5bd7c35a minor: move some compression related var setup inside compression if/then switch 2012-03-09 00:16:49 +00:00
Justin Clark-Casey (justincc) 0cbdf9dad2 Put big fat EXPERIMENTAL warning in xassetservice database plugin
This should not currently be used in any circumstances except for experimentation.
Database tables used by this plugin can still change at any time with no migration path.
2012-03-09 00:05:34 +00:00
Diva Canto 9c8ef96301 Fixes mantis #5923 2012-03-08 15:55:43 -08:00
Melanie 675d40357c Hold a ref to the prim we're sat on rather than querying scene each time
the check for significant is carried out. Prevents a deadlock condition.
2012-03-08 19:14:34 +00:00
Justin Clark-Casey (justincc) fa2a64564a Move "change region" command into general category 2012-03-08 02:24:37 +00:00
Justin Clark-Casey (justincc) dfdb0e140c Uses shorter AddCommand form for "show estates" 2012-03-08 02:23:52 +00:00
Justin Clark-Casey (justincc) 650d761c06 Display help commander topics in capitalized form - the commands themselves are still lowercase.
Also convert the estate commands to simply AddCommand() calls so that commands from two different modules can be placed in the same category
2012-03-08 02:17:45 +00:00
Justin Clark-Casey (justincc) 430304c176 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-08 01:59:00 +00:00
Justin Clark-Casey (justincc) 749c3fef8a Change "help" to display categories/module list then "help <category/module>" to display commands in a category.
This is to deal with the hundred lines of command splurge when one previously typed "help"
Modelled somewhat on the mysql console
One can still type help <command> to get per command help at any point.
Categories capitalized to avoid conflict with the all-lowercase commands (except for commander system, as of yet).
Does not affect command parsing or any other aspects of the console apart from the help system.
Backwards compatible with existing modules.
2012-03-08 01:51:37 +00:00
Justin Clark-Casey (justincc) 6bdea15ecf minor: make NPC tests run in a given order, comment out log lines in mock region data plugins, null out scene in script and npc torture tests, add other doc comments to torture tests 2012-03-07 01:11:37 +00:00
Melanie a1b28a61a6 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-03-07 01:04:09 +00:00
Melanie 7769362687 Always zero the PhysActor on dupes to prevent side effects on the orignal prim 2012-03-07 01:03:26 +00:00
Justin Clark-Casey (justincc) f3678d217f Stop individually deleting objects at the end of each ObjectTortureTest.
We can now do this since the entire scene and all objects within it are now successfully gc'd at the end of these tests.
This greatly improves the time taken to run each test (by reducing teardown time, not the time to actually do the test work that we're interested in).
Slightly simplifies config read in Scene constructor to help facilitate this.
2012-03-07 00:31:18 +00:00
Justin Clark-Casey (justincc) 23aba007dd Add documentation to make more explicit the difference between OnRezScript and OnNewScript in the event manager
OnNewScript fires when a script is added to a scene
OnRezScript fires when the script actually runs (i.e. after permission checks, state retrieval, etc.)
2012-03-07 00:04:24 +00:00
Justin Clark-Casey (justincc) 3376979923 Remove static m_MainInstance in LocalGridServiceConnector.
I believe this was originally required back when there could be two LocalGridServiceConnectors but this is no longer the case.
Having such statics makes performance testing much more difficult since they prevent GC of objects unless static references are explicitly nulled.
2012-03-06 23:51:50 +00:00
Justin Clark-Casey (justincc) 98251cdab3 Add sensor, dataserver requests, timer and listener counts to "xengine status" command.
This is for diagnostic purposes.
2012-03-06 23:21:17 +00:00
Justin Clark-Casey (justincc) e9d8eb5a27 Remove unnecessary explicit ElapsedEventHandler in SimReporter 2012-03-06 22:31:25 +00:00
Justin Clark-Casey (justincc) 0f4cdc0c5b Explictly close down the StatsReporter so that we can shutdown its timer
This is another step necessary for the scene to be garbage collected between performance tests
2012-03-06 19:05:32 +00:00
Justin Clark-Casey (justincc) b3449e998a Fix TestSyntaxError() and TestSyntaxErrorDeclaringVariableInForLoop()
They were all failing assertions but the exceptions these threw were caught as expected Exceptions.
I don't think we can easily distinguish these from the Exceptions that we're expecting.
So for now we'll do some messy manually checking with boolean setting instead.
This patch also corrects the assertions themselves.
2012-03-06 02:30:22 +00:00
Justin Clark-Casey (justincc) a92153ed88 Get all test methods in OpenSim.Region.ScriptEngine.Tests.dll to report that they're running 2012-03-06 02:21:19 +00:00
Justin Clark-Casey (justincc) 85198a45cb Fix off by one error in script error reporting. 2012-03-06 02:01:47 +00:00
Justin Clark-Casey (justincc) 1dc03e5c4f Simplify NPCModuleTests code by putting the NPCModule in an instance variable rather than making each test fetch it seperately.
Also rename instance variables in the test to conform to naming standards and for understandability
2012-03-06 01:47:43 +00:00
Justin Clark-Casey (justincc) d44b7c486a Go back to setting appearance directly in NPCModule.SetAppearance() to fix mantis 5914
The part reverted is from commit 2ebb421.
Unfortunately, IAvatarFactoryModule.SetAppearance() does not transfer attachments.
I'm not sure how to do this separately, unfortunately I'll need to leave it to Dan :)
Regression test added for this case.
Mantis ref: http://opensimulator.org/mantis/view.php?id=5914
2012-03-06 01:27:30 +00:00
Chris Hart 413bc1e77e Updates to MSSQL store for 0.7.3 to include:
* Telehub support
* Bugfix to Friends lookups
* Updates to Creator fields to store up to 255 characters for HG item creator storage
2012-03-06 00:27:49 +00:00
Justin Clark-Casey (justincc) 441449e240 Switch to sha256 from sha1 in order to avoid future asset hash collisions.
Some successful collision attacks have been carried out on sha1 with speculation that more are possible.
http://en.wikipedia.org/wiki/Cryptographic_hash_function#Cryptographic_hash_algorithms
No successful attacks have been shown on sha256, which makes it less likely that anybody will be able to engineer an asset hash collision in the future.
Tradeoff is more storage required for hashes, and more cpu to hash, though this is neglible compared to db operations and network access.
2012-03-06 00:14:21 +00:00
Justin Clark-Casey (justincc) fd2b285b1b remove unnecessary hash local variable 2012-03-05 23:50:41 +00:00
BlueWall ac934e2dbb Add WebProfiles config to other config example 2012-03-04 11:11:01 -05:00
BlueWall 33a154e446 Merge branch 'master' of /home/opensim/var/repo/opensim into v3_support 2012-03-04 10:42:37 -05:00
Justin Clark-Casey (justincc) 3780df8a32 Make asset compression optional. Currently set to false and not configurable from outside MySQLXAssetData. 2012-03-03 01:43:36 +00:00
Justin Clark-Casey (justincc) 75dc8b1aed Implement basic gzip compression for xassetdata
Whether this is worthwhile is debatable since here we are not transmitting data over a network
In addition, jpeg2000 (the biggest data hog) is already a compressed image format.
May not remain.
2012-03-03 01:28:58 +00:00
Justin Clark-Casey (justincc) 2535a4cafc If asset data already exists with the required hash then don't rewrite it 2012-03-03 00:05:02 +00:00
Justin Clark-Casey (justincc) 94b323d1d8 Perform asset storage transactionally 2012-03-02 23:41:54 +00:00
Justin Clark-Casey (justincc) 7113b44bdd Merge branch 'master' into xassetservice 2012-03-02 23:30:19 +00:00
Justin Clark-Casey (justincc) 98ad6ed255 comment out "[CAPS]: ScriptTaskInventory Request" log spam 2012-03-02 23:29:35 +00:00
Justin Clark-Casey (justincc) e81b3502ef Make xassetservice execute one query to retrieve the asset, not two 2012-03-02 23:26:03 +00:00
Justin Clark-Casey (justincc) c2c102d33e Remove outdated comment about checking attachment prims in Scene.PipeEventsForScript() 2012-03-02 22:52:26 +00:00
Justin Clark-Casey (justincc) 089fd61a3b Allow a script to receive events if its root prim is in an area where it's allowed to run rather than checking its own prim.
This allows scripts to run in child prims that are outside region boundaries.
This is an interim patch applied from http://opensimulator.org/mantis/view.php?id=5899 though it does not resolve that bug
Thanks tglion!
2012-03-02 22:43:24 +00:00
BlueWall d242d47e5c OpenID auth needs hashing before authenticating 2012-03-02 15:05:06 -05:00
BlueWall 6fc350725d Merge branch 'master' into v3_support 2012-03-02 15:02:09 -05:00
Dan Lake 64a036b4cf Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-02 09:19:35 -08:00
Dan Lake 8d249f8456 ScenePresence line endings and fix AllowMovement default to true. 2012-03-02 09:19:13 -08:00
Justin Clark-Casey (justincc) 6e3523e25e minor: remove mono compiler warning 2012-03-02 04:08:07 +00:00
Justin Clark-Casey (justincc) 2a2656f629 Merge branch 'master' into xassetservice 2012-03-02 04:01:53 +00:00
Justin Clark-Casey (justincc) be4199c3bc Make XAssetService a de-duplicating asset service.
This is an extremely crude implemenation which almost works by accident.  Nevertheless it does work.
It can be tested with the instructions at http://opensimulator.org/wiki/Feature_Proposals/Deduplicating_Asset_Service#Testing
It does not interact at all with the existing asset service or any data stored there.
This code is subject to change without notice and should not be used for anything other than gawking.
2012-03-02 03:57:55 +00:00
Diva Canto 8fccd2b555 Send the right name and creation date on the BasicProfileModule. 2012-03-01 19:55:51 -08:00
Dan Lake e8779cd9e5 In ScenePresence, removed several private variables used to store public parameters. They were only used by the get/set and make code harder to refactor. 2012-03-01 19:22:05 -08:00
Justin Clark-Casey (justincc) dd63cd1656 Start by adding XAssetService as a copy of the existing AssetService.
This is the start of exploring the creation of a bundled OpenSimulator asset service that does de-duplication and possibly file storage of assets.
Along the lines of coyled's SRAS, but not intended to replace, merely to act as a more performant bundled default.
Might end up nicking stuff from kcozen's patch at http://opensimulator.org/mantis/view.php?id=5429
More details at http://opensimulator.org/wiki/Feature_Proposals/Deduplicating_Asset_Service
Feedback and discussion welcome as commits are made.
2012-03-02 02:23:35 +00:00
Justin Clark-Casey (justincc) ec48a2f32b minor: Rename pCampbot console prompt to "pCampbot" rather than "Region" 2012-03-02 01:54:48 +00:00
Justin Clark-Casey (justincc) 94971bf3b9 Provide feedback on bot login states in pCampbot 2012-03-02 01:31:28 +00:00
Justin Clark-Casey (justincc) d8c4985527 Move SenseRepeaters.Count check inside the SenseRepeatListLock.
No methods in the List class are thread safe in the MS specification/documentation
2012-03-02 00:28:37 +00:00
Justin Clark-Casey (justincc) dcfd05c8ea lock SenseRepeatListLock when added a new sensor during script reconstitution.
This is already being done in the other place where a sensor is added.
Adding a sensor whilst another thread is iterating over the sensor list can cause a concurrency exception.
2012-03-02 00:22:23 +00:00
Mic Bowman 8a375f3c30 Adds an OSSL command for regular expression-based string replacement. Parameters
are osReplaceString(string source, string patter, string replace, integer count, integer start)
The count parameter specifies the total number of replacements to make, -1 makes
all replacements.
2012-03-01 14:49:49 -08:00
BlueWall 7a88d21e59 Merge branch 'master' of /home/opensim/src/opensim 2012-03-01 14:20:46 -05:00
BlueWall a2b0ed537e Fix indexing on string trim
Thanks to zadark for pointing this out,
	smxy for deciphering the ?: operator and
	Plugh for the fix \o/ yay for IRC
2012-03-01 14:18:48 -05:00
Justin Clark-Casey (justincc) 0007711eb5 Use a fully stubbed out MockConsole for unit tests rather than inheriting from CommandConsole.
This is so that the static MainConsole.Instance doesn't retain references to methods registered by scene and other modules to service commands.
This prevents the scene from being garbage collected at the end of a test.
This is not the final thing preventing GC - next up is the timer started by SimStatsReporter that holds a reference to Scene that prevents end of test gc.
2012-03-01 03:23:10 +00:00
Justin Clark-Casey (justincc) 255afbf08a Remove more now unused third party libraries. 2012-03-01 02:11:15 +00:00
Justin Clark-Casey (justincc) aabbbb32ff Flick master up to 0.7.4 2012-02-29 23:45:14 +00:00
Justin Clark-Casey (justincc) 1e95b01f13 Extend distsrc target to cleanup the files generated by running prebuild 2012-02-29 21:51:46 +00:00
BlueWall 69c999033b Revert "Fix authentication for OpenID provider"
This reverts commit 9f597c2d42. Fixing OpenID causes issues with other parts of the code.
2012-02-29 15:52:15 -05:00
BlueWall 1a54e76948 Trigger a build 2012-02-29 14:54:06 -05:00
BlueWall df75f5ae37 Merge branch 'master' of /home/opensim/src/opensim 2012-02-29 14:42:36 -05:00
BlueWall afc9a7d3f9 Merge branch 'master' of /home/opensim/src/opensim into v3_support 2012-02-29 14:39:51 -05:00
BlueWall 9f597c2d42 Fix authentication for OpenID provider 2012-02-29 14:39:07 -05:00
Justin Clark-Casey (justincc) a181fae722 Don't start pCampbot if the user doesn't supply bot firstname, lastname stub and password 2012-02-29 03:00:56 +00:00
Justin Clark-Casey (justincc) 40c838896c Use correct casing of RegionSettings.Sandbox in the various database modules.
MySQL and MSSQL have it as Sandbox, sqlite as sandbox.
In various different places in every plugin the wrong casing is used...
Consistency, who needs it?  Or one day sqlite can change to Sandbox.
2012-02-29 00:33:17 +00:00
Justin Clark-Casey (justincc) 670c7842a4 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-29 00:03:55 +00:00
Justin Clark-Casey (justincc) 2fce7dd593 Call Dispose() via using() on SqliteCommands in WebStatsModule after use. 2012-02-28 22:54:21 +00:00
Kevin Cozens a813e7ffdd Fixed two typos. White space cleanups.
Signed-off-by: nebadon <michael@osgrid.org>
2012-02-28 14:12:39 -07:00
Mic Bowman 4268427ac3 Some clean up in WebUtil, remove unused ServiceRequest function. 2012-02-27 15:15:03 -08:00
Diva Canto 142f8a4aec HG: Remove async in posting assets to foreign grid. Mono hates concurrency there. 2012-02-25 21:00:19 -08:00
BlueWall 4177571a78 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim into v3_support 2012-02-25 14:33:56 -05:00
PixelTomsen 01f454242d PRIM_SCULPT_FLAG_INVERT, PRIM_SCULPT_FLAG_MIRROR implemented
http://opensimulator.org/mantis/view.php?id=5763
2012-02-25 15:33:33 +00:00
Justin Clark-Casey (justincc) 4a5f9fe6a2 Move libopenjpeg native libraries into lib32 and lib64 as appropriate. 2012-02-25 04:26:32 +00:00
Justin Clark-Casey (justincc) 6159110258 Remove some more unused Bullet libraries. 2012-02-25 04:22:59 +00:00
Justin Clark-Casey (justincc) ca19b9078f Remove old libbulletnet native libraries. These are not used in the current generation bullet physics plugin. 2012-02-25 03:36:43 +00:00
Justin Clark-Casey (justincc) 6138662716 Move other sqlite and ode 32-bit and 64-bit libraries into lib32 or lib64 as appropriate. 2012-02-25 03:25:56 +00:00
Justin Clark-Casey (justincc) 3fbcd21916 Remove xunit.dll, Fadd.Globalization.Yaml.dll and Fadd.dll. It looks like these were once connected with HttpServer.dll but are now unused. 2012-02-25 03:12:41 +00:00
Justin Clark-Casey (justincc) b48b0b1e58 Remove EXPERIMENTAL tags from load iar/save iar commands. 2012-02-25 00:48:41 +00:00
Justin Clark-Casey (justincc) f9066e7d86 Establish a distsrc nant target for producing the source distribution.
This is in addition to the distbin target.  The distbin target now needs distsrc to be run first.
Still needs some extra tweaking that I shall eventually put in as sed invocations or similar.
2012-02-25 00:36:28 +00:00
PixelTomsen 7b5e42c744 llGetLinkMedia, llSetLinkMedia, llClearLinkMedia implementation mantis: http://opensimulator.org/mantis/view.php?id=5756 http://opensimulator.org/mantis/view.php?id=5755 http://opensimulator.org/mantis/view.php?id=5754 2012-02-24 23:10:41 +00:00
Justin Clark-Casey (justincc) bafef292f4 Take watchdog alarm calling back outside the m_threads lock.
This is how it was originally.  This stops a very long running alarm callback from causing a problem.
2012-02-24 05:25:18 +00:00
Justin Clark-Casey (justincc) 9e6ffe7798 Rename Watchdog.GetThreads() to GetThreadsInfo() to reflect what it actually returns and for consistency. 2012-02-24 05:15:47 +00:00
Justin Clark-Casey (justincc) 84735b644c Get rid of some of the identical exception catching in Scene.Update(). 2012-02-24 05:12:56 +00:00
Justin Clark-Casey (justincc) f67f37074f Stop spurious scene loop startup timeout alarms for scenes with many prims.
On the first frame, all startup scene objects are added to the physics scene.
This can cause a considerable delay, so we don't start raising the alarm on scene loop timeouts until the second frame.
This commit also slightly changes the behaviour of timeout reporting.
Previously, a report was made for the very first timed out thread, ignoring all others until the next watchdog check.
Instead, we now report every timed out thread, though we still only do this once no matter how long the timeout.
2012-02-24 05:02:33 +00:00
Justin Clark-Casey (justincc) fe229f10e6 In osSetSpeed(), if no avatar for a uuid is found then don't attempt to set speed. 2012-02-24 04:08:59 +00:00
PixelTomsen 0b9f4d7e74 llLinkSitTarget implementation http://wiki.secondlife.com/wiki/LlLinkSitTarget 2012-02-24 00:58:11 +00:00
Justin Clark-Casey (justincc) f034958bdc Load appropriate 32-bit/64-bit Windows sqlite dll if using WebStatsModule.
This should resolve http://opensimulator.org/mantis/view.php?id=5901
2012-02-23 23:11:47 +00:00
Justin Clark-Casey (justincc) 90ea00a109 Try to resolve some problems with viewers crashing after hitting parcel banlines or freezing on the banline.
This involves
1) On forcible teleport, call m_scene.RequestTeleportLocation() rather than ScenePresence.Teleport() - only EntityTransferModule now should call SP.Teleport()
2) When avatar is being forcibly moved due to banlines, use a 'stop movement' tolerance of 0.2 to requested position rather than 1
This prevents the avatar sometimes being stuck to banlines until they teleport somewhere else.
This aims to fix some problems in http://opensimulator.org/mantis/view.php?id=5822
2012-02-23 22:56:42 +00:00
BlueWall af377470e1 Merge branch 'master' into v3_support 2012-02-22 22:29:30 -05:00
Melanie 9ed4245d9e Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-02-23 01:42:08 +00:00
Melanie 1dfc990264 Add a position parameter to region crossing of objects. This avoids the
potential bad update that places an object at the opposite side of the
origin sim for a moment before actually crossing it. Especially important in
grids like OSG where lag between sims is high.
2012-02-23 01:40:30 +00:00
BlueWall 165ae251ec V3 Support
The V3 webapps need SSO capability and use OpenID. We need to send both our OpenID server url and a token for the user in the login response.
2012-02-22 16:36:28 -05:00
BlueWall 67bea681e2 Add web profile url setting to ini 2012-02-21 23:04:49 -05:00
Justin Clark-Casey (justincc) 5d31267185 Remove two spurious m_sceneGraph != null checks in Scene.cs. It's set in constructor and never subsequent set to null. 2012-02-22 00:55:16 +00:00
Justin Clark-Casey (justincc) cf9b3e7708 Restore the taskItem null check that I accidentally blatted in 5397a6d
This is a valid check because the caller could supply an invalid uuid.
2012-02-21 23:41:48 +00:00
PixelTomsen 1c533eb520 Fix:LINK_ROOT flag for llGetLinkName() by SinglePrim 2012-02-21 23:15:33 +00:00
Justin Clark-Casey (justincc) 5397a6d4c6 Fix problem with dragging child part inventory item to user inventory.
This fixes the problem by fixing the permissions module to look at root part permissions rather than having to do this for every caller.
Resolves http://opensimulator.org/mantis/view.php?id=5569
2012-02-21 22:54:30 +00:00
Justin Clark-Casey (justincc) 76f411147d Revert "Fix:Cannot drag inventory from child prim into inventory http://opensimulator.org/mantis/view.php?id=5569"
This reverts commit 15ce73caca.

As per the COMMENTS in http://opensimulator.org/mantis/view.php?id=5569, I was going to fix this in a more general way.
2012-02-21 22:49:06 +00:00
PixelTomsen 15ce73caca Fix:Cannot drag inventory from child prim into inventory http://opensimulator.org/mantis/view.php?id=5569 2012-02-21 22:07:12 +00:00
BlueWall 7cf970fb27 V3 Support:
This starts V3 support by adding a profile server url to the login response. This requires viewer support - which is also being worked on.
2012-02-21 14:21:03 -05:00
Justin Clark-Casey (justincc) a27e5a9c95 Both 32-bit and 64-bit BulletSim.dll must have the same name. Rename the 64 bit one in lib64 2012-02-21 04:12:17 +00:00
Justin Clark-Casey (justincc) daee2eda93 Load 32-bit or 64-bit BulletSim Windows library automatically as appropriate.
This uses the same approach as ODE.
radams, if this doesn't work for you please feel free to revert.
2012-02-21 04:10:39 +00:00
Justin Clark-Casey (justincc) a15b00d3ef Replace previous windows 64-bit sqlite3.dll with one from http://system.data.sqlite.org/downloads/1.0.79.0/sqlite-netFx35-binary-bundle-x64-2008-1.0.79.0.zip
In this zip, it's called System.Data.SQLite.dll.  We rename it to lib64/sqlite3.dll
This is a little unexpected but it works.  For some reason my hand-rolled one in Visual Studio 2008 did not.
This is sqlite 3.7.10.  Other libraries are still currently 3.7.6 but this should make no difference.
This should make it possible to use OpenSim.exe on 64-bit Windows now, though currently the bullet physics plugin will still complain (can be ignored if you are not using bullet).
2012-02-21 04:01:27 +00:00
Justin Clark-Casey (justincc) 1b906ef2ad Replace win 64-bit sqlite3.dll with another version, though I suspect this one won't work either. 2012-02-21 03:24:01 +00:00
Justin Clark-Casey (justincc) 68a4ef5ef6 Add 64 bit Windows sqlite3.dll and use this if running a 64-bit windows process. 2012-02-21 02:52:20 +00:00
Justin Clark-Casey (justincc) 90dc5f47e7 Fix bug where NPCs would establish child agents on other neighbour regions that had come up after the NPC was created. 2012-02-21 01:57:19 +00:00
Justin Clark-Casey (justincc) 19d271d3fc Remove PhysXPlugin and wrappers.
In over 4 years this never progressed beyond an unimplemented stub.
This doesn't mean that it can't come back if someone is interested in implementing PhysX support.
2012-02-21 01:45:17 +00:00
Diva Canto 4a329098e8 Amend to last commit: synchronize access to queues. 2012-02-20 11:12:02 -08:00
Diva Canto 99b9c1a9d5 More improvements on agent position updates: if the target sims fail, blacklist them for 2 min, so that we don't keep doing remote calls that fail. 2012-02-20 10:58:07 -08:00
Diva Canto 1c3ee5d1ce One more tweak related to the previous 2 commits. 2012-02-19 16:42:01 -08:00
Diva Canto b489c85226 Amend to last commit. This should have been committed too. 2012-02-19 15:37:37 -08:00
Diva Canto dcea23906b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-19 12:28:47 -08:00
Diva Canto 20c65ac438 A few more tweaks on position updates and create child agents. Mono hates concurrent uses of the same TCP connection, and even of the connections to the same server. So let's stop doing it. This patch makes movement much smoother when there are lots of neighbours. 2012-02-19 12:28:07 -08:00
BlueWall bcb9577495 Use localy defined name, TPFlags, for Constants.TeleportFlags 2012-02-19 12:09:57 -05:00
PixelTomsen d22715126c Fix:Fly setting for Parcel dosen't work http://opensimulator.org/mantis/view.php?id=5887
Signed-off-by: nebadon <michael@osgrid.org>
2012-02-19 01:58:28 -07:00
PixelTomsen a114367b9b Fix:OmegaX, OmegaY and OmegaZ not saved for child prims http://opensimulator.org/mantis/view.php?id=5893
Signed-off-by: nebadon <michael@osgrid.org>
2012-02-19 01:00:01 -07:00
Diva Canto 2ffc055f7e This should smooth movement in heteregeneous networks by a lot: cache the region by position instead of looking it up all the time -- this was being done during the main update loop! 2012-02-18 21:59:42 -08:00
BlueWall 14e9bf894c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-18 00:51:23 -05:00
BlueWall f4cd35322f Route logins according to Estate, Telehub and TeleportFlags 2012-02-18 00:45:43 -05:00
BlueWall 7bdcf9eb26 Propagate our teleport flags on logins 2012-02-18 00:32:09 -05:00
Justin Clark-Casey (justincc) 9846a1e56e Report an error if the required native Windows ODE library can't be found. 2012-02-18 02:52:29 +00:00
Justin Clark-Casey (justincc) 4cc97df8f3 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-18 02:46:44 +00:00
Justin Clark-Casey (justincc) 0ef64fbe03 Actually add the Windows 64-bit ode.dll file.
This might be why it didn't work.
2012-02-18 02:46:07 +00:00
BlueWall fbccff4994 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-17 21:15:18 -05:00
Justin Clark-Casey (justincc) 84184708de Fix a bug where changing shape parameters of a child prim in a linkset would not persist.
Resolves http://opensimulator.org/mantis/view.php?id=5819
2012-02-18 01:15:43 +00:00
BlueWall 8f8b478d36 Parcel sales support to SQLite 2012-02-17 20:04:38 -05:00
Justin Clark-Casey (justincc) b817c337dc On Windows automatically load the correct native ODE library depending on whether the process is 32-bit or 64-bit
In theory, this means that a 64-bit Windows OS user can now run OpenSim.exe with ODE and use more than 2 (or 3) GB of memory.
However, this is completely untested since I don't currently own a 64-bit Windows box.  Feedback appreciated.
Using OpenSim.32BitLaunch.exe should continue to work.  Other platforms are unaffected.
This will currently not work with sqlite - I will add that too if this works.
2012-02-18 00:33:52 +00:00
BlueWall d03e878d53 Fillin missing SQLite support for Telehubs 2012-02-17 17:31:20 -05:00
Dan Lake b313d16493 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-17 13:51:54 -08:00
Dan Lake 784263f5e3 Added the TriggerAvatarAppearanceChanged to EventManager. It's triggered by AvatarFactoryModule after an avatar's appearance has been succesfully changed and persisted (if the persist option is set). 2012-02-17 13:45:45 -08:00
Robert Adams 6baa13ab7a Add new and updated script events 2012-02-17 09:12:41 -08:00
BlueWall 0e16e0fb6a Merge branch 'master' of /home/opensim/src/opensim 2012-02-17 08:21:33 -05:00
BlueWall ba98d6fffe Fix missing telehub handling on login 2012-02-17 08:03:53 -05:00
Justin Clark-Casey (justincc) 972f73ed2b Make osNpcStopAnimation() call AvatarStopAnimation() rather than AvatarPlayAnimation() 2012-02-17 02:53:12 +00:00
BlueWall c5ff37bf3e Merge branch 'master' of /home/opensim/src/opensim 2012-02-16 09:01:02 -05:00
BlueWall 6b867773a8 Remove some debugging output form the logger 2012-02-16 08:59:34 -05:00
Justin Clark-Casey (justincc) 912aac3447 minor formatting changes from last commit (4486n7d) 2012-02-16 03:37:40 +00:00
PixelTomsen 4486b7d8e8 Fix: Object owned by the group does not return to the last owner http://opensimulator.org/mantis/view.php?id=5404 2012-02-16 03:35:18 +00:00
Justin Clark-Casey (justincc) 1267094a51 Turn off logging on test in last commit (2b84295). 2012-02-16 03:02:11 +00:00
Justin Clark-Casey (justincc) 2b842958cc If shape properties fail SOP parsing (e.g. due to commas instead of decimal points) print out one short message listing the failing node names rather than lots of exceptions.
Adds skeleton bad float values deserialization test
2012-02-16 02:58:00 +00:00
Justin Clark-Casey (justincc) 80ec2ac167 Correct a bug introduced in 1f402fdf (Feb 7 2012) where the delete friends grid call would try and contact the wrong uri. Also fixes the build from df960d5 2012-02-16 01:39:12 +00:00
Justin Clark-Casey (justincc) df960d5767 Add known identity informatio nto log message if an exception is thrown during LLUDPServer.HandleUseCircuitCode() 2012-02-16 01:25:54 +00:00
Justin Clark-Casey (justincc) c0760f9f91 Comment out "experimental" log message printed out whenever a physics mesh was generated for a mesh
Also adds prim name to the "no asset data" error log message
2012-02-16 00:28:57 +00:00
Justin Clark-Casey (justincc) c906128191 Fix some logic mistakes where firstly osNpcCreate() without options was creating npcs sensed as agents and secondly the OS_NPC_SENSE_AS_AGENT option was having the opposite effect.
Hopefully makes progress on addressing http://opensimulator.org/mantis/view.php?id=5872
2012-02-16 00:22:39 +00:00
Justin Clark-Casey (justincc) f574d3c8fc Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-15 01:50:57 +00:00
Justin Clark-Casey (justincc) ebe5e1731d In ObjectTortureTests, run garbage collector on Teardown and run scene loop update when scene objects have been deleted.
At least on mono 2.6.4, running GC.Collect() is not guaranteed to force gc of all objects when run in the same method where those objects had references.
Therefore, GC.Collect() is now being done in the per-script teardown of ObjectTortureTests.
In addition, scene loop update is being run after garbage collection in order to clean out the viewer update list of scene objects in the SceneGraph.
These measures mean that scene objects/parts are now garbage collected after a test run if deleted from the scene, resulting in a much better memory usage report (though probably still not very accurate).
However, deletion takes a very long time - what's really needed is to find out now why the entire scene isn't being GC'd by this measure.
This change hasn't yet been applied to the other stress tests.
2012-02-15 01:45:25 +00:00
Dan Lake 2ebb421331 Refactor appearance saving for NPC to use AvatarFactoryModule interface. 2012-02-14 17:20:34 -08:00
Mic Bowman a9e8bd59a3 Fix a race condition in the simian groups connector. When requests were
too slow they would circumvent the cache (piling up on the network service
and making the problem even worse). This condition happens frequently
during permission checks.
2012-02-13 19:38:22 -08:00
PixelTomsen 4589ce61bc Fix: get embedded objects from Notecard fails with activated FreeSwitchVoiceModul
http://opensimulator.org/mantis/view.php?id=2607
2012-02-14 02:12:12 +00:00
PixelTomsen 33e66107be Fix: Lightshare Module(Windlight)-Region settings are not applicable for database sqlite mantis: http://opensimulator.org/mantis/view.php?id=5888 2012-02-14 02:06:42 +00:00
PixelTomsen db90dea9bd Fix: MSSQLDB Grid - unable to register region http://opensimulator.org/mantis/view.php?id=5886 2012-02-14 02:04:02 +00:00
Justin Clark-Casey (justincc) 04544b4510 Revert "Add GridStore migration for MSSQL."
This reverts commit 0b17a66e68.
2012-02-14 02:03:23 +00:00
Justin Clark-Casey (justincc) 0b17a66e68 Add GridStore migration for MSSQL.
This is done blind since I don't use MSSQL.  If this doesn't work, then one will have to wait for it to be updated for the 0.7.3 opensim release.
2012-02-14 02:02:11 +00:00
Justin Clark-Casey (justincc) 04986bbb15 Add some more data to the new user connection logging for debug purposes. 2012-02-14 01:50:51 +00:00
Justin Clark-Casey (justincc) b0d02adeee Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-14 00:01:24 +00:00
Justin Clark-Casey (justincc) 48b962c401 Update [XEngine] AppDomainLoading advice in OpenSim.ini.example 2012-02-14 00:00:49 +00:00
Mic Bowman 04a195266b short circuit the expensive parts of the permission checking code
if the current user is the owner of an object. none of the later
checks can reverse the outcome.
2012-02-13 13:21:42 -08:00
Justin Clark-Casey (justincc) 21393af631 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-13 20:48:50 +00:00
Justin Clark-Casey (justincc) 189c67db95 On object deserialization, go back to logging errors at DEBUG level rather than ERROR. Restore extra log message if shape processing fails.
Logging level was DEBUG before 312e145 (Fri Feb 3 2012).
312e145 also accidentally removed the 'general error' log message if any shape deserialization failed.
This commit restores it, though this has no functional impact.
2012-02-13 20:43:26 +00:00
Justin Clark-Casey (justincc) b92b9228ef correct the default avatar_terminal_velocity value that I accidentally left in whilst testing 2012-02-11 02:29:07 +00:00
Justin Clark-Casey (justincc) f49897a419 Clamp ODE character velocity. Make ODE falling character 54m/s by default.
If velocity reaches 256 in any vector then bad things happen with ODE, so we now clamp this value.
In addition, a falling avatar is clamped by default at 54 m/s, which is the same as a falling skydiver.
This also appears to be the value used on the linden lab grid.
This should resolve http://opensimulator.org/mantis/view.php?id=5882
2012-02-11 02:28:40 +00:00
Justin Clark-Casey (justincc) aab30f5e67 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-11 00:11:28 +00:00
Justin Clark-Casey (justincc) e7fd732209 Make ScenePresence.MovementFlag a private only settable value to reduce complexity of code analysis 2012-02-11 00:10:59 +00:00
Melanie 5023cc86f0 Change parser to leave embedded quotes alone if the pattern is recognized
as an OptionSet long option
2012-02-10 23:58:39 +00:00
Justin Clark-Casey (justincc) 71e484516a minor: Remove warning from RegionInfo due to repeated config.GetString() call where the first was unused. 2012-02-10 23:41:14 +00:00
Justin Clark-Casey (justincc) 38f878952c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-10 23:39:59 +00:00
Justin Clark-Casey (justincc) d80422eba7 Add line numbers to Util.PrintCallStack() 2012-02-10 23:39:32 +00:00
BlueWall ee078f717a Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-10 16:28:11 -05:00
BlueWall 73f34de1f9 Merge branch 'master' of /home/opensim/var/repo/opensim 2012-02-10 16:27:14 -05:00
Justin Clark-Casey (justincc) b3d152f3ba Fix an npc delete race condition with LSL sensors where an initial presence check could succeed but then the npc removed before the subequent npc check.
The resulting null would cause an exception.  We now check for null before looking at SenseAsAgent.
Hopefully fixes http://opensimulator.org/mantis/view.php?id=5872
2012-02-10 21:26:05 +00:00
PixelTomsen a7dc7e636e Fix: Covenant view fails after updates or cache-clean see mantis http://opensimulator.org/mantis/view.php?id=2879
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-02-10 15:45:03 -05:00
Justin Clark-Casey (justincc) 44d84bc277 Fix bug where somebody taking a copy of an object they didn't own that was rezzed before the region was restarted would wrongly place the copy in the object owner's inventory.
Addresses http://opensimulator.org/mantis/view.php?id=5825
2012-02-10 19:58:34 +00:00
PixelTomsen 7273e05995 Fix: Unable to remove AV from friend list (sqldb-bug) http://opensimulator.org/mantis/view.php?id=3731 2012-02-10 02:30:55 +00:00
Justin Clark-Casey (justincc) ddca5347c3 When an asset is uploaded (e.g. a mesh) set individual copy/move/transfer permissions, not PermissionMask.All
Setting PermissionMask.All will cause next permissions to replace current permissions when the object is rezzed, since bit 4 will be set.
This is not correct behaviour for a freshly uploaded mesh.  Freshly rezzed in-world prims also do not have bit 4 set (don't yet know exactly what this is).
Should resolve http://opensimulator.org/mantis/view.php?id=5651
2012-02-10 02:13:15 +00:00
Justin Clark-Casey (justincc) e8cc1bd329 Fix another Torture test build break on Windows. 2012-02-09 20:12:29 +00:00
Justin Clark-Casey (justincc) 9c84a8162f If NPCModule.CreateNPC() fails to create the required ScenePresence (which should in theory never happen), don't add the NPC to the npc list but return UUID.Zero instead. 2012-02-09 01:17:59 +00:00
Justin Clark-Casey (justincc) 16c4636048 Add NPC torture tests for 100, 1000 and 2000 create and delete NPC calls. 2012-02-09 00:38:09 +00:00
Justin Clark-Casey (justincc) dbe32a1f6d minor: put in commented out logging statements for future reuse 2012-02-09 00:10:45 +00:00
Justin Clark-Casey (justincc) 3fa61c4a39 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-08 22:21:15 +00:00
Justin Clark-Casey (justincc) dfa19e23f0 Stop a scene object from attempting to link with itself (which results in an exception and constant complaints in v3 viewers).
Aims to address http://opensimulator.org/mantis/view.php?id=5878
2012-02-08 22:19:34 +00:00
Robert Adams d5c08c44bf Add missing reference to prebuild.xml for torture tests 2012-02-07 16:40:09 -08:00
Justin Clark-Casey (justincc) bef2a368f4 Make WebStats logging report consistently as WEB STATS MODULE instead of VC, VS and WEBSTATS 2012-02-07 23:38:53 +00:00
Justin Clark-Casey (justincc) a4367e75d3 Set UseMeshiesPhysicsMesh = true in [Mesh] by default
This means that uploaded meshes will get a physics (collision) mesh if uploaded with that option via a viewer.
2012-02-07 23:15:23 +00:00
Justin Clark-Casey (justincc) c87751a822 Add start GC memory and end GC memory to object stress test printouts.
This illustrates that references to Scene, SOG, etc. are not currently being released when a stress test ends (or at regression test end in general).
This means even the current stress tests take much more memory than they need, a problem that will have to be addressed.
2012-02-07 23:03:53 +00:00
Justin Clark-Casey (justincc) 1f402fdf5e Add url to logging if SynchronousRestFormsRequester.MakRequest() throws an exception in service connectors 2012-02-07 21:40:28 +00:00
Justin Clark-Casey (justincc) bd928218dd Add TestAddTaskInventoryItem() 2012-02-07 21:00:47 +00:00
Justin Clark-Casey (justincc) 773994723a Add warning about only uncommenting EstateConnectionString if you know what you're doing to GridCommon.ini.example (was already in StandaloneCommon.ini.example) 2012-02-07 20:35:04 +00:00
Justin Clark-Casey (justincc) 7583768b9e Remove debug logging if physics actor is null in SOP.ApplyPhysics()
This is not valid in the case of BasicPhysics which can return a null PhysicsActor (though I think it should really return a do-nothing PhysicsActor).
2012-02-07 20:26:26 +00:00
Justin Clark-Casey (justincc) c22970448f Add TestCompileAndStart100Scripts() torture test. 2012-02-07 19:42:32 +00:00
Justin Clark-Casey (justincc) 038d1bf742 Add a regression test to compile and start a script. Remove Path.GetDirectoryName when getting assembly loading path in Compiler.CompileFromDotNetText().
The Path.GetDirectoryName call in Compiler.CompileFromDotNetText is unnecessary since AppDomain.CurrentDomain.BaseDirectory is always a directory.
Later path concatenation is already done by Path.Combine() which handles any trailing slash.
Removing Path.GetDirectoryName() will not affect the runtime but allows NUnit to work since it doesn't add a trailing slash to AppDomain.CurrentDomain.BaseDirectory.
2012-02-07 17:44:37 +00:00
Melanie 130b1c0665 Revert my two quick fixes for the lag issue and put in the real fix, which
is to only write to the database if data was changed. I was writing to the db
on every step of every avatar. Sure to give us lag, that.
2012-02-05 20:47:02 +00:00
Melanie a5fcdde179 Revert "Remove checks on ban list expiry on every move. To be re-added on parcel"
This reverts commit 35f14a262d.
2012-02-05 20:12:45 +00:00
Melanie 0904772a6f Revert "Check ban list for a particular parcel only when an avatar moves into it."
This reverts commit 8923ad755d.
2012-02-05 20:12:35 +00:00
BlueWall 4e11983c7c Make configuration uniform
Pickup the max physical prim size in Scene to make it uniform since adding code to get default size from the OpenSim*.ini.
2012-02-05 12:38:20 -05:00
Melanie 8923ad755d Check ban list for a particular parcel only when an avatar moves into it.
This restores functionality remove in the last commit without reintroducing
the performance penalty.
2012-02-05 04:03:32 +00:00
Melanie 35f14a262d Remove checks on ban list expiry on every move. To be re-added on parcel
boundary crossing only as soon as I'm properly awake. This should fix
recent performance issues
2012-02-05 03:44:15 +00:00
BlueWall 13999dfc1d Set PhysPrimMax default to 0 so ini files won't be overridden 2012-02-04 21:52:55 -05:00
nebadon 36ed0dcdaa change NonPhysicalPrimMax to NonphysicalPrimMax in Scenes.cs to make the
variable in OpenSim.ini and Regions.ini match
2012-02-04 19:45:10 -07:00
nebadon 44badf452e change NonPhysicalPrimMax to NonphysicalPrimMax to make this variable
work correctly, it was being ignored because of the case, this effects
OpenSim.ini.example and OpenSimDefaults.ini
2012-02-04 19:41:25 -07:00
BlueWall df07b97abd Make NonphysicalPrimMax setting work properly
RegionInfo setting will override only if it is > 0
2012-02-04 21:30:16 -05:00
BlueWall 43b4e4cfc3 Quiet the map module logging 2012-02-04 19:08:52 -05:00
BlueWall 6034e5d112 Add default value to TelehubObject 2012-02-04 00:28:22 -05:00
Justin Clark-Casey (justincc) 8779ff3c8f Supply correct parameters to detailed authentication login fail message 2012-02-04 02:00:35 +00:00
Justin Clark-Casey (justincc) edc11a1d39 Add missing RCERR_UNKNOWN and RCERR_SIM_PERF_LOW LSL constants that would eventually be used by llCastRay(), though OpenSim does not use these yet. 2012-02-04 01:04:00 +00:00
Justin Clark-Casey (justincc) 09d6521361 Correct RC_* LSL constants used by llCastRay().
Many thanks to WhiteStar for doing the research on this.
2012-02-04 01:00:11 +00:00
Justin Clark-Casey (justincc) 6c252a0fa1 Add TestRegionSettingsDeserialize 2012-02-04 00:55:03 +00:00
Justin Clark-Casey (justincc) 9b762a5a84 Only look for an uploaded transactional asset in Scene.UpdateTaskInventory if we have been passed a non-zero transaction ID.
This resolves the recent regression from deeb728 where notecards could not be saved in prim inventories.
This looks like a better solution than deeb728 since only non-caps updates pass in a transaction ID.
Hopefully resolves http://opensimulator.org/mantis/view.php?id=5873
2012-02-04 00:20:27 +00:00
Justin Clark-Casey (justincc) 2b6c5fcb31 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-03 23:48:12 +00:00
Justin Clark-Casey (justincc) 312e1457dd Change SceneObjectSerializer to use common ExternalRepresentationUtils.ExecuteReadProcessors() methods.
Adds ability to submit a customized exception message to match logging.
2012-02-03 23:47:01 +00:00
Snoopy Pfeffer bd9d7484f0 Merge branch 'master' of ssh://snoopy@opensimulator.org/var/git/opensim 2012-02-04 00:39:58 +01:00
Dan Lake 4f8f44d9c3 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-03 15:21:37 -08:00
Dan Lake ea19e50919 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
2012-02-03 15:21:07 -08:00
BlueWall 0742630d81 Merge branch 'master' of /home/opensim/src/opensim 2012-02-03 18:20:26 -05:00
Dan Lake 107cef2b0e Check for null scene in ScheduleFullUpdate and ScheduleTerseUpdate before triggering events on a potentially null Scene 2012-02-03 15:18:48 -08:00
Justin Clark-Casey (justincc) ce34b359ad Extend m_avatars lock in NpcModule.CreateNPC over both creation of NPC scene presence and population of m_avatars.
This is required to stop a race where the SensorRepeat module can detect an NPC avatar before m_avatars is populated.
Extending the lock is the easiest to understand solution rather than getting complicated with null checks.
Hopefully resolves http://opensimulator.org/mantis/view.php?id=5872
2012-02-03 23:04:26 +00:00
PixelTomsen 5c545d1d2e Fix: Covenant changed time not set http://opensimulator.org/mantis/view.php?id=5869
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-02-03 18:02:51 -05:00
Snoopy Pfeffer 83ef13a79a Changed save oar and save iar parameter -p|--profile to -h|--home, including corresponding RemoteAdmin parameter 2012-02-03 23:53:18 +01:00
Justin Clark-Casey (justincc) 6234264211 Refactor common deserialization processor code to generic method ExternalRepresentationUtils.ExecuteReadProcessors() 2012-02-03 22:45:50 +00:00
Justin Clark-Casey (justincc) f17066b7bf Change LandDataSerializer deserialization so that in the future it won't care about extra elements or element order.
This brings it into line with other deserializations such as object and will improve future backward compatibility.
2012-02-03 22:21:54 +00:00
Snoopy Pfeffer 1a18948935 Corrected console help texts for "save iar" 2012-02-03 23:04:18 +01:00
Dan Lake 61adf36339 Commenting out new event until I can fix OpenSim tests. Currently, testing objects does not create a Scene or EventManager so triggering events crashes some tests 2012-02-02 18:19:22 -08:00
Dan Lake ed846f11f1 OpenSim tests do not always create an EventManager so calls to trigger events during tests must check for null EventManager 2012-02-02 18:06:34 -08:00
Dan Lake 3257dbe76d Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-02 17:44:11 -08:00
Dan Lake 146d78edfa ObjectAddedToScene event should be fired when duplicating objects 2012-02-02 17:41:05 -08:00
Dan Lake ee2b2aadc3 fix line endings 2012-02-02 17:39:05 -08:00
Melanie 76a658324c Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-02-03 00:07:23 +00:00
Melanie 574c240202 Fix test failure 2012-02-03 00:05:36 +00:00
Melanie 447a66d660 Replace ParcelAccessEntry with a new struct, LandAccessEntry, which more
accurately reflects the data sent by the viewer. Add times bans and the
expiration of timed bans.
Warning: Contains a Migration (and nuts)
2012-02-02 23:40:56 +00:00
Justin Clark-Casey (justincc) 54d473e200 D'oh - we want to call llGetLinkNumberOfSides() in the LSL_Stub, not llGetLinkNumber(). 2012-02-02 23:35:16 +00:00
Justin Clark-Casey (justincc) 264c83aec4 Add llGetLinkNumberOfSides to LSL_Stub and ILSL_Api
It already existed in LSL_Api but it also needs to exist in these two other places for a script to be able to see it.
Hopefully resolves http://opensimulator.org/mantis/view.php?id=5489
2012-02-02 22:48:36 +00:00
Justin Clark-Casey (justincc) 17df4185ce Add stress tests for simple object add of 100 prim objects. Add time taken to output (this is unreliable). 2012-02-02 18:42:27 +00:00
Diva Canto dbf6381e34 OpenID: server connector had a copy-and-paste error that made identity queries fail. 2012-02-02 08:39:23 -08:00
Melanie 567f4c51f8 Improve reliability of script state saving by covering various saving
and loading scenarios which resulted in loss of continuity on item ids
2012-02-02 01:52:17 +00:00
Dan Lake 0ce9ad4a56 Add event RegionHeartbeatEnd for modules interested in coordinating activity with region heartbeats 2012-02-01 17:01:28 -08:00
Dan Lake c10193c72b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-01 16:25:35 -08:00
Melanie 003bd9f1b3 Small optimization to last commit 2012-02-01 10:05:04 +00:00
Melanie cc1476fc36 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-02-01 09:45:42 +00:00
Melanie 241ddd031f Fix copy/paste errors 2012-02-01 09:45:15 +00:00
Melanie c08d6df7e1 Prevent a changed attachment that has been saved from being saved again. 2012-02-01 09:38:20 +00:00
Melanie fcc1fa2c32 Straighten out some attachment mess. Don't save attachment states for HG
visitors at all. On Leaving a sim, save only the changed ones. Don't save
all scripted stuff when leaving a sim.
2012-02-01 09:36:14 +00:00
Diva Canto 3d7b5e5e93 HG: This hopefully fixes the HG teleports back home to OSGrid. Looks like Uri.ToString() drops the port when it's port 80. 2012-01-31 22:00:59 -08:00
Justin Clark-Casey (justincc) 99e71222f0 Lay out script status in property per row format, since getting too long for console lines. 2012-02-01 00:27:42 +00:00
Justin Clark-Casey (justincc) e3680f216e Add count of events queued for a particular script in "scripts show" console command 2012-02-01 00:17:02 +00:00
Justin Clark-Casey (justincc) 8b3da1bff4 Make script console commands only show for selected region. 2012-02-01 00:10:07 +00:00
Justin Clark-Casey (justincc) 437de6743c Implement "xengine status" console command to show various xengine stats 2012-02-01 00:07:06 +00:00
Justin Clark-Casey (justincc) f028dca711 Add "show part uuid" and "show part name" console commands.
These commands will display part/prim details for a given uuid or name
The "show object uuid" and "show object name" commands will now only display details for objects (i.e. not child parts in a linkset).
This is for consistency with the "delete object" commands which only delete objects, not parts.
2012-01-31 23:35:13 +00:00
Justin Clark-Casey (justincc) 996cc6097e Implement "show object name <name>" console command to show details of an object with the given name 2012-01-31 23:21:02 +00:00
Justin Clark-Casey (justincc) ac7cded080 Get rid of the "no objects found" feedback for now - this doesn't work well if a command is executed over multiple scenes. 2012-01-31 23:06:48 +00:00
Justin Clark-Casey (justincc) ab89adfaef Implement "show object uuid <uuid>" console command.
This will show details about a part with the given uuid if it's found.
2012-01-31 23:03:39 +00:00
Justin Clark-Casey (justincc) 647b326edc Add more user feedback if an object isn't found for which delete was requested. 2012-01-31 22:27:05 +00:00
Justin Clark-Casey (justincc) 77b032549e Add the name of a deleted object to the console output 2012-01-31 22:22:32 +00:00
Justin Clark-Casey (justincc) e3e38e34c5 If a particular region is selected in the console, only try to delete objects in that region, rather than in every region on the simulator
The old wrong behaviour was in place before the command was extracted to a module.
2012-01-31 22:21:10 +00:00
Justin Clark-Casey (justincc) 9bd02b5da1 Move object delete commands into a commands region module, in preparation for adding similar show commands. 2012-01-31 21:57:45 +00:00
Justin Clark-Casey (justincc) 2f84d5397b minor: remove mono compiler warning 2012-01-31 21:14:09 +00:00
Justin Clark-Casey (justincc) 1505c22995 Use Environment.TickCount & Int32.MaxValue; instead of Util.EnvironmentTickCount(); when producing the threads report to reduce wraparound.
This matches the tickcount masking in the thread watchdog.
For some reason, Util.EnvironmentTickCount() masks ticks by 0x3fffffff instead of 0xffffffff
2012-01-31 21:09:26 +00:00
Justin Clark-Casey (justincc) 10b9348071 Remove scene object null check on SceneGraph.AddSceneObject(). Complain explicitly if there's an attempt to add any object with a zero UUID.
Callers themselves need to check that they're not attempting to add a null scene object.
2012-01-31 20:30:30 +00:00
Justin Clark-Casey (justincc) f3780b9eae Add torture tests to test adding 10,000, 100,000 and 200,000 single prim scene objects.
These can be run using the "nant torture" target.  They are not part of "nant test" due to their long-run future nature.
Such tests are designed to do some testing of extreme situations and give some feedback on memory usage, etc.
However, data can be inconsistent due to different machine circumstances and virtual machine actions.
This area is under development.
2012-01-31 19:56:37 +00:00
PixelTomsen a98a146c50 Fix:llSetText - limited text to a maximum of 254 chars
mantis: http://opensimulator.org/mantis/view.php?id=5867

Signed-off-by: nebadon <michael@osgrid.org>
2012-01-31 10:17:38 -07:00
Melanie d2dfa4cfe7 Make parcel sale overlays work. No auction support. 2012-01-31 03:09:44 +00:00
Melanie fe0975dc24 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-01-30 21:39:36 +00:00
Melanie 2b84b6d8b1 Use the requested sim's map, not our own 2012-01-30 21:39:12 +00:00
Justin Clark-Casey (justincc) dbc039783b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-30 21:34:40 +00:00
Melanie 53c3faac5d Patch in the rest of the maptile stuff 2012-01-30 21:24:21 +00:00
Melanie c4cc626dff Add the needed column in the regions table and a few tweaks.
Warning: Contains a Migration
Warning: Cannot guarantee nut free
2012-01-30 20:34:32 +00:00
Melanie bde2ff5e78 Next step for world map overlays 2012-01-30 20:11:47 +00:00
Melanie ea16c9f858 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim
Conflicts:
	OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
2012-01-30 19:49:12 +00:00
Melanie df9c35bc0f Some plumbing for map overlays 2012-01-30 19:46:55 +00:00
Justin Clark-Casey (justincc) 9d93c4808e lock SceneObjectGroupsByFullID in SceneGraph.ForEachSOG() to stop failure if SceneObjectGroupsByFullID is updated elsewhere at the same time. 2012-01-30 19:21:58 +00:00
BlueWall 54e6b2402c Revert "Pickup map overlay tile from RegionSettings.ParcelImageID"
This reverts commit 00d1c88c59.

Need to dig a little deeper to see exactly how V1 viewers are using this
2012-01-30 12:39:08 -05:00
BlueWall 00d1c88c59 Pickup map overlay tile from RegionSettings.ParcelImageID 2012-01-30 11:49:22 -05:00
Melanie 3de534896e Add ParcelImageID to RegionSettings so we can have that overlay.
Warning: Contains a Migration.
Warning: May contain nuts.
2012-01-30 16:22:21 +00:00
Garmin Kawaguichi 5e60afe5ed Fix llEdgeOfWorld functionality - see mantis http://opensimulator.org/mantis/view.php?id=5865
Signed-off-by: nebadon <michael@osgrid.org>
2012-01-29 14:41:47 -07:00
PixelTomsen e8b688b61f Fix:Get embedded objects in notecard http://opensimulator.org/mantis/view.php?id=2607
Signed-off-by: nebadon <michael@osgrid.org>
2012-01-29 12:40:43 -07:00
BlueWall f7c237c0e1 Merge branch 'master' of /home/opensim/var/repo/opensim into mapwork 2012-01-28 11:35:28 -05:00
BlueWall ae057a7589 Adding our parcel's generated id to map packets 2012-01-28 10:36:39 -05:00
BlueWall 1a20b60d82 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-28 08:47:25 -05:00
Bo Iwu 2e31f12cf4 Send CHANGED_TELEPORT during local TP again - partially revert cf73afec35
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-01-28 08:43:58 -05:00
Justin Clark-Casey (justincc) 2ef9fd05fa Add an overloaded SceneObjectPart.UpdateTextureEntry(Primitive.TextureEntry texEntry) for region modules 2012-01-28 02:45:13 +00:00
Justin Clark-Casey (justincc) 154ba0124a Add experimental --publish option to "save oar" so that OARs reloaded to the same grid don't have the publisher as owner. 2012-01-28 02:21:41 +00:00
Justin Clark-Casey (justincc) 088f1213b4 Remove accidental /user postfix from HomeURI in [HGInventoryAccessModule] in GridCommon.ini.example and from SRV_ProfileServerURI in [LoginService] in Robust.HG.ini.example
As per http://opensimulator.org/mantis/view.php?id=5852, confirmed by diva via aiaustin
2012-01-28 01:01:19 +00:00
Justin Clark-Casey (justincc) e391d6390c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-28 00:44:11 +00:00
Justin Clark-Casey (justincc) deeb7287a2 Comment out xfer section in Scene.UpdateTaskInventory() which was causing spurious errors and "script saved" messages when script properties were changed.
Viewers since at least Linden Lab 1.23 use the script upload capability to save script changes.
It's unknown whether the commented out code was working for very old viewers or not.
Code is commented out to reduce complexity and so that useful error messages don't need to be removed.
If there is a substantial population using extremely old viewers that can't upgrade to a newer version 1 viewer (e.g. 1.23) or similar TPV then this can be revisited.
2012-01-28 00:39:53 +00:00
Melanie 7352aea9ac Remove IClientAPI from the money module. It was only used to pass in the
agent id anyway
2012-01-28 00:18:12 +00:00
Justin Clark-Casey (justincc) 7837c611fb Add OS_NPC_SENSE_AS_AGENT option to osNpcCreate().
This allows NPCs to be sensed as agents by LSL sensors rather than as a specific NPC type (which is currently an OpenSimulator-only extension).
Wiki doc on this and other recent NPC functions will follow soon
2012-01-28 00:00:12 +00:00
Justin Clark-Casey (justincc) 31b87ff07b Increment LPS script stat for OSSL functions that were not already doing this 2012-01-27 23:24:49 +00:00
Justin Clark-Casey (justincc) 7c1d075a5a Implement osIsNpc(key npc):integer. This return TRUE if the given key belongs to an NPC in the region. FALSE if not or if the NPC module isn't present. 2012-01-27 23:17:13 +00:00
Justin Clark-Casey (justincc) abf0dd4250 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-27 23:14:34 +00:00
Justin Clark-Casey (justincc) 9939f94f08 Implement osNpcGetOwner(key npc):key. This returns the owner for an 'owned' NPC, the npc's own key for an 'unowned' NPC and NULL_KEY is the input key was not an npc.
llGetOwnerKey() could also be extended but this does not allow one to distinguish between an unowned NPC and some other result (e.g. 'no such object' if NULL_KEY is the return.
Also, any future extensions to LSL functions by Linden Lab are unpredictable and OpenSim-specific extensions could clash.
2012-01-27 23:05:48 +00:00
Diva Canto 91ac21b9ec HG Inventoty: Guard against items not found. 2012-01-26 17:00:58 -08:00
BlueWall 6da82d9805 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-26 16:29:39 -05:00
PixelTomsen 616373db16 llManageEstateAccess implementation http://wiki.secondlife.com/wiki/LlManageEstateAccess
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-01-26 16:15:23 -05:00
Melanie da720ce9be Support rejecting a teleport if a user is banned in all parcels that have
spawn points
2012-01-26 10:21:45 +00:00
BlueWall a6abecf5fa Change references from sop to sog and add protection from null ref
I had code made additions to the map module that was based on the earlier work that I did before Melanie made improvements. Updating the new code to incorporate the same changes.
2012-01-26 00:33:34 -05:00
Justin Clark-Casey (justincc) 093469c33c Add basic TestAddScript() regression test 2012-01-26 01:16:03 +00:00
Justin Clark-Casey (justincc) 13d9b64b1d Re-enable error logging associated with assembly and script loading failure in ScriptInstance.
Swallowing exceptions just leads to more mysterious failures later on.
2012-01-26 00:28:51 +00:00
Justin Clark-Casey (justincc) 55c6cbabfd refactor: change RezScriptFromAgentInventory(), RezNewScript() and AddInventoryItem() to accept an agent id rather than a full IClientAPI.
This stops some code having to make spurious client == null checks and reduces regression test complexity.
2012-01-26 00:10:37 +00:00
Justin Clark-Casey (justincc) 8e5502fdc2 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-25 23:24:44 +00:00
Justin Clark-Casey (justincc) 2de3a1b9da refactor: decompose most of RezScript() into RezScriptFromAgentInventory(), RezNewScript() and rename one RezScript() to RezScriptFromPrim() 2012-01-25 23:22:07 +00:00
nebadon d053625663 Update save oar and save iar help responses to reflect new -h|--home
switches which replace -p|--profile ie: "save oar
--home=http://hg.osgrid.org:80 region.oar"
2012-01-25 15:59:07 -07:00
Robert Adams e9de7e7107 Update BulletSim.dll with some interface changes and tuning (see opensim-libs). Change BSScene to use new interface. 2012-01-25 14:40:38 -08:00
Justin Clark-Casey (justincc) 2e7c1bcfd9 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-25 21:26:34 +00:00
Pixel Tomsen 8f53c768f5 llGetParcelMusicURL implementation http://wiki.secondlife.com/wiki/LlGetParcelMusicURL
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-01-25 15:48:38 -05:00
Justin Clark-Casey (justincc) 82c3d0cf89 minor: stop the WebStatsModule logging UPDATE or INSERT every time it updates bin/LocalUserStatistics.db 2012-01-25 20:36:51 +00:00
Justin Clark-Casey (justincc) e20cf3789b Serialize calls to ODE Collide() function across OdeScene instances to prevent ODE crashes on simulators running more than one region.
It turns out that calls to Collide() are not thread-safe even for objects in different ODE physics worlds due to ODE static caches.
For simulators running multiple regions, not serializing calls from different scene loops will sooner or later cause OpenSim to crash with a native stack trace referencing OBBCollider.
This affects the default OPCODE collider but not GIMPACT.  However, GIMPACT fails for other reasons under some current simulator loads.
ODE provides a thread local storage option, but as of ODE r1755 (and r1840) DLLs compiled with this crash OpenSim immediately.
2012-01-25 19:31:50 +00:00
Melanie 7444f3bfad Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim
Conflicts:
	OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
2012-01-25 15:02:54 +00:00
Melanie f84b69cad1 Change the WorldMapModule to use SOG rather than SOP for the telehub ans
cover a potential nullref
2012-01-25 15:00:06 +00:00
BlueWall 959bcfa7f8 Merge branch 'master' of /home/opensim/src/opensim 2012-01-24 21:35:12 -05:00
BlueWall 7c514fe155 Telehub map items displayed 2012-01-24 21:33:11 -05:00
Dan Lake 3d1f43046d Removed unused delegates in SceneGraph: ObjectDuplicateDelegate, ObjectCreateDelegate, ObjectDeleteDelegate 2012-01-24 17:05:53 -08:00
Justin Clark-Casey (justincc) 2d0412d366 Make errors reported by OpenSim when it halts because it can't find certain config sections or files a bit more user friendly. 2012-01-24 22:35:55 +00:00
Justin Clark-Casey (justincc) 8e0eaa980f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-24 22:16:45 +00:00
Justin Clark-Casey (justincc) 09baa3e679 Comment out asset statistics section from periodic stats as these have not been recorded for a very long time.
Some might make a comeback in the future but others are of dubious usefuless for health check purposes, or the complexity of collection outweighs their usefulness.
Some data is available via other means (e.g. "fcache status").
2012-01-24 22:14:21 +00:00
BlueWall 3ae6345f1b Merge branch 'master' of /home/opensim/src/opensim 2012-01-24 17:14:08 -05:00
BlueWall dc329202ef Put Telehubs on the map 2012-01-24 17:11:35 -05:00
Justin Clark-Casey (justincc) 5e445aaf7b Fix "Abnormal client thread terminations" stat in period CONNECTION STATISTICS to count the number of times clients are disconnected due to ack timeouts.
This has been broken for a long period and would only ever show 0.
2012-01-24 22:09:13 +00:00
Justin Clark-Casey (justincc) ab8956d58f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-24 22:04:28 +00:00
Justin Clark-Casey (justincc) e8f1e7e96e Comment out inventory statistics section from periodic stats, since this only contained the now uncollected and irrelevant inventory cache number. 2012-01-24 22:03:30 +00:00
Dan Lake 488fe0ae9c Removed unused events in SceneGraph: OnObjectCreate, OnObjectRemove, OnObjectDuplicate 2012-01-24 13:41:26 -08:00
Justin Clark-Casey (justincc) 7e76397a26 minor: correct text and usage for "image queues show" reigon console command. 2012-01-24 20:54:35 +00:00
Justin Clark-Casey (justincc) a704d444f2 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-24 20:36:16 +00:00
Justin Clark-Casey (justincc) 8b035dc3c7 Restrict accessible of ODECharacter Shell and Body. Add method doc and some error log lines. 2012-01-24 18:46:24 +00:00
Melanie 855d3a3ba5 Teleport routing, part 1 2012-01-24 04:06:37 +00:00
Melanie a4977bbe19 Simplify and streamline telehub editing code. Verify rotations and fix
spwan point positioning on rotated telehubs.
2012-01-24 02:36:35 +00:00
Melanie 0d2e02efb1 Reverse the spawn point distance vector 2012-01-24 01:30:41 +00:00
Melanie c0e1784e86 Correct a coordinate to make the viewer like it 2012-01-24 01:18:13 +00:00
Melanie 7bb01a17ee Add a forgotten parameter 2012-01-24 00:38:00 +00:00
Melanie 87799c1f3d Change Telehubs to store only the data that is really needed and not
additional redundant information.
2012-01-24 00:32:10 +00:00
Melanie c36c916342 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-01-23 21:25:59 +00:00
Melanie 48379e6442 IMPORTANT!!!!! Please READ. DO NOT Use this version or any before it since the
Telehub commits! They will eat your babies and corrupt your database while
they munch. DO NOT use anything from the first Telehub commit to this one.
FIRST GOOD COMMIT is the one FOLLOWING this one. You have been warned.
2012-01-23 21:23:55 +00:00
BlueWall 8db64dc77f Merge branch 'master' of /home/opensim/var/repo/opensim into telehub 2012-01-23 14:54:43 -05:00
BlueWall 6a85abbd14 Add update to Telehub position and rotation before adding SpawnPoints 2012-01-23 14:53:25 -05:00
BlueWall c1f6478a37 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-23 11:10:56 -05:00
BlueWall 0037577814 Merge branch 'telehub' 2012-01-23 11:10:42 -05:00
BlueWall 9cfc43005d Cleanup 2012-01-23 10:28:18 -05:00
BlueWall 39c9b656c8 Cleanup unused parts, add some error handling 2012-01-23 09:42:15 -05:00
Melanie f7bd7c5901 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-01-22 23:21:35 +00:00
Melanie 7c404375c7 Fix up some parameter naming 2012-01-22 23:20:10 +00:00
BlueWall d1ef7ee5ca Add note about setting up test databases 2012-01-22 16:27:49 -05:00
BlueWall 74c1ed77a4 Finish connecting Telehub to database 2012-01-22 14:51:15 -05:00
BlueWall 1cd26ba85e Hooking up new telehub data to the database 2012-01-22 11:46:16 -05:00
Melanie 24b20f6e4b Change the key name I missed in last commit 2012-01-22 15:35:14 +00:00
Melanie 68365c20c0 Move Telehub tables and data from EstateSettings to RegionSettings.
This is damage control es EstateSettings is not the place this can be put.
EstateSettings is nt unique to a region and therefore would introduce
a hard limit of one telehub per estate, completely shutting off the
option of having SL style telehubs, e.g. one per region. Whole
estate teleport routing can still be implemented id desiresd, this
way all options are open while the other way most options get closed
off.
2012-01-22 11:36:04 +00:00
BlueWall 32d58d6e3e Telehub Support:
Telehub settings now persist to the database and are saved across sim restarts. So-far this only works on MySQL. this is a work in progress, teleport routing is not yet implemented.
2012-01-21 23:26:27 -05:00
BlueWall 590f707c42 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-20 23:54:29 -05:00
BlueWall b6f3de5028 Telehub Support:
Support for viewer side of telehub management. Can manupulate Telehubs and SpawnPoints from the viewer estate managemnt tools. This is a work in progress and does not yet persist or affect teleport routing.
2012-01-20 23:50:37 -05:00
Justin Clark-Casey (justincc) a0fb1e1788 Revert "Change linux, windows and mac ODE libraries to use the GIMPACT collider rather than OPCODE."
This reverts commit 4eef6725f4.

Reverting for now since this fails with "terminate called after throwing an instance of 'std::bad_alloc'" on Wright Plaza instances.
2012-01-20 17:51:12 +00:00
Justin Clark-Casey (justincc) ea72428c9d Allow a viewer UDP image request retry to trigger another asset fetch if an existing fetch hasn't responded before a timeout.
This is to stop a high priority image/texture request from blocking the entire download queue if its asset fetch got dropped for some reason.
2012-01-19 23:09:16 +00:00
Justin Clark-Casey (justincc) d38e2c0c91 Add image not in database test for LLImageManager 2012-01-19 21:57:12 +00:00
Justin Clark-Casey (justincc) 503faaea62 refactor: separate out common parts of LLImageManagerTests 2012-01-19 21:23:40 +00:00
Justin Clark-Casey (justincc) 381f74276b Add LLImageManager regression test for discard case 2012-01-19 21:14:09 +00:00
Justin Clark-Casey (justincc) c92a9a6640 Add "image queues clear <first-name> <last-name>" console command
This allows a way to manually clear pending image queue requests for debug purposes
2012-01-19 19:49:06 +00:00
Justin Clark-Casey (justincc) d75899f2d1 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-19 19:47:18 +00:00
BlueWall 8f871cca10 Add osGetGridHomeURI function
Add osGetHomeURI function to the family of osGetGrid* functions. Returns the SRV_HomeURI setting from the [LoginService] configuration.
2012-01-19 14:21:12 -05:00
Justin Clark-Casey (justincc) 9356963bd3 Add basic request and send image regression tests for LLImageManager 2012-01-19 19:00:11 +00:00
BlueWall edb2e4c5b3 Change URI to lowercase to match existing 2012-01-19 13:55:53 -05:00
BlueWall bf9ce4709f Add fetching of SRV_HomeURI to "/json_grid_info"
Make SRV_HomeURI available on the GridInfoService through the "/json_grid_info" URI. This i s mainly to service OSSL, but can be seen externally via the URI.
2012-01-19 13:48:31 -05:00
Dan Lake e41f23dead Trigger event when prims are scheduled for an update. This gives modules early access to changed parameters. 2012-01-19 03:06:35 -08:00
Dan Lake 5ced49aaa8 Cleaned up Color and Text parameters in SOP and made LocalFlags public for module access. 2012-01-19 03:03:22 -08:00
Dan Lake 2c6272d11a Add a version of GetGroupByPrim to Scene which accepts UUID instead of localID 2012-01-19 03:01:37 -08:00
Dan Lake f8079bcd72 Fixed bugs in earlier commit on custom user parameters in Regions.ini 2012-01-19 02:52:05 -08:00
BlueWall eea726d74e RegionReady:
Back out some of the oar monitoring for the time being. Need to find  a better way to get feedback. Will re-visit this soon.
2012-01-18 20:30:57 -05:00
BlueWall e7619f7518 Merge branch 'master' of /home/opensim/src/opensim 2012-01-17 22:44:16 -05:00
BlueWall ba7d8cedec Add function osGetGridCustom
Add function osGetGridCustom to take an argument for the GridInfo kpv to retrieve from the GridInfoService
2012-01-17 22:38:36 -05:00
BlueWall 717656c453 Merge branch 'master' of /home/opensim/src/opensim 2012-01-17 22:10:47 -05:00
BlueWall 9ed9720861 Update osGetGrid**** functions
The osGetGrid**** functions will now get the grid settings from the GridInfoService. Set the GridInfoURI in your ./bin/config-include/GridCommon.ini [GridInfo] section.
2012-01-17 22:07:40 -05:00
BlueWall 939d60da59 Merge branch 'master' of /home/opensim/lib/osgrid/opensim 2012-01-17 21:10:31 -05:00
BlueWall ef5575be1b Add json handler for GridInfo 2012-01-17 21:09:46 -05:00
Justin Clark-Casey (justincc) 4eef6725f4 Change linux, windows and mac ODE libraries to use the GIMPACT collider rather than OPCODE.
As discussed on the opensim-dev mailing list, this is to avoid a demonstrated ODE collider segfault when stress-testing a simulator running more than one region using the bundled pCampbot.exe
As before, the ODE revision used is r1755 - only the collider has changed.
Tests so far reveal little performance change.
However, if noticeable issues do arise, please report on mantis and/or the opensim-dev mailing list.
The previous libraries are temporarily in bin/Physics-previous-ode-libs
These can be copied back to bin if one wants to compare behaviour with the previous libraries.
2012-01-17 20:49:20 +00:00
Melanie e13a17cc0c Allow retrival of multiple user records in one operation, analog to presence 2012-01-16 23:09:24 +00:00
Justin Clark-Casey (justincc) 59a0c50d48 Comment out noisy log lines I accidentally included in the nant build target adjustment commit.
Left in the method doc.
2012-01-16 23:04:08 +00:00
Justin Clark-Casey (justincc) 82ad9d4e04 Remove monocov and other obsolete nant build targets.
monocov was a code coverage attempt 3 years ago which no longer works.
other removed targets have been commented out or unused for a very long time
2012-01-16 22:58:58 +00:00
Mic Bowman 2e4fbe6b17 protect the region ready alerts for loading oarfiles if no post URI is set 2012-01-14 23:43:21 -08:00
nebadon 43173f1b0d commented out redundant land owner checks for osTeleportAgent there is
no need for these checks just use Allow_osTeleportAgent = PARCEL_OWNER
also increased function to severe threat level to make it harder to
accidently enable it for everyone.
2012-01-14 18:36:46 -07:00
Melanie ec299bfa87 Allow SmtpClients and other SSL users to work with our cert handler installed 2012-01-14 06:03:27 +00:00
Justin Clark-Casey (justincc) 82f0e19349 Extend scripts show command to accept a single item UUID parameter to display one script's status
Usage is now scripts show [<script-item-uuid>]
2012-01-14 00:44:19 +00:00
Justin Clark-Casey (justincc) b5bb559cc0 Register the UrlModule for script engine events OnScriptRemoved and OnObjectRemoved just once in the UrlModule itself, rather than repeatedly for every script.
Doing this in every script is unnecessary since the event trigger is parameterized by the item id.
All that would happen is 2000 scripts would trigger 1999 unnecessary calls, and a large number of initialized scripts may eventually trigger a StackOverflowException.
Registration moved to UrlModule so that the handler is registered for all script engine implementations.
This required moving the OnScriptRemoved and OnObjectRemoved events (only used by UrlModule in core) from IScriptEngine to IScriptModule to avoid circular references.
2012-01-14 00:23:11 +00:00
Mic Bowman a30a02e7ae Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-13 14:51:11 -08:00
Mic Bowman e1a2c44ebe Cleaned up the LookAt code in SOP and SOG. Added support for incrementally
rotating physical objects. This does not use physics. Currently the rate
of change is determined as 1 / (PI * Strength).
2012-01-13 14:48:56 -08:00
BlueWall cde80125ad Merge branch 'master' of /home/opensim/src/opensim 2012-01-13 17:16:20 -05:00
Bo Iwu 02d6b033d0 Fix improper code formatting introduced in 6214e6a217
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-01-13 17:10:48 -05:00
Mic Bowman adea92f8b7 Fix llRotLookAt and llLookAt for non-physical objects. Per conversation
with Melanie and Nebadon, SL behavior seems to be that non physical
objects snap to the request rotation.
2012-01-13 11:37:17 -08:00
BlueWall 57ba9ef5ad Update RegionReadyModule
Fix triggering of alerts when rezzing first script to an empty region, add login disable when loading oars.
2012-01-13 11:35:44 -05:00
BlueWall c5594e839e Undo some prior work
Move some added fuctions out of core into the addon module to keep things clean
2012-01-12 21:19:31 -05:00
BlueWall acbff305f5 Merge branch 'master' of /home/opensim/var/repo/opensim 2012-01-12 21:06:27 -05:00
BlueWall d40ec1c346 Move some interfaces to a more apropriate place 2012-01-12 20:49:50 -05:00
Justin Clark-Casey (justincc) 3b59af2225 Change the default osNpcCreate() to create an 'owned' npc rather than an 'unowned' one.
An owned NPC is one that only the original creator can manipulate and delete.
An unowned NPC is one that anybody with access to the osNpc* methods and knowledge of the avatar id can manipulate.
This is to correct an oversight I made in the original reimplementation where I mistakenly assumed that avatar IDs could be treated as private.
I am not anticipating that many people were deliberately making use of unowned npcs due to their insecure nature.
If you do need an unowned NPC please call the new overloaded osCreateNpc() function with the option OS_NPC_NOT_OWNED.
2012-01-13 00:03:39 +00:00
Justin Clark-Casey (justincc) 6e7154d55c Removing osNpcCreateOwned(). Please use osNpcCreate(string user, string name, vector position, string notecard, int options) instead with option OS_NPC_CREATOR_OWNED
Please note that correct option name is OS_NPC_CREATOR_OWNED not OS_NPC_CREATE_OWNED as mistakenly put in a previous commit.
2012-01-13 00:00:18 +00:00
Justin Clark-Casey (justincc) 47377f17c6 Add missing assert to confirm owner delete succeeded to the end of TestOsNpcRemoveOwned() 2012-01-12 23:46:43 +00:00
Justin Clark-Casey (justincc) beab155434 Add api level test for removing an owned npc 2012-01-12 22:35:11 +00:00
Justin Clark-Casey (justincc) caa207f59f Add ossl level test for removing an unowned npc 2012-01-12 21:03:54 +00:00
Justin Clark-Casey (justincc) 1ac5aa6808 Add remove test for unowned avatars 2012-01-12 20:47:19 +00:00
Justin Clark-Casey (justincc) c4972e7734 Add osNpcCreate(string firstname, string lastname, LSL_Vector position, string notecard, int options) variant.
This will be documented soon.  Options can currently be
  OS_NPC_CREATE_OWNED - creates a 'creator owned' avatar that will only respond to osNpc* functions made by scripts owned by the npc creator
  OS_NPC_NOT_OWNED    - creates an avatar which will respond to any osNpc* functions that a caller has permission to make (through the usual OSSL permission mechanisms).

options is being added to provide better scope for future extensibility without having to add more functions
The original non-options osNpcCreate() function will continue to exist.
2012-01-12 19:37:30 +00:00
Justin Clark-Casey (justincc) d27dd3714f Allow all NPCs to show up on sensors as all osNpc* script methods now check for ownership permission before executing.
As per #opensim-dev irc discussion.
2012-01-12 19:19:34 +00:00
Justin Clark-Casey (justincc) ba3491c76e Add permissions checks for owned avatars to all other osNpc* functions.
This is being done outside the npc module since the check is meaningless for region module callers, who can fake any id that they like.
2012-01-12 19:06:46 +00:00
Justin Clark-Casey (justincc) 0a1d61950b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-12 19:03:26 +00:00
Diva Canto cadd645076 Renamed one var and deleted commented code. No functional changes. 2012-01-12 10:22:52 -08:00
Justin Clark-Casey (justincc) b47c0d7e51 refactor: Move existing npc owner checks to NPCModule.CheckPermissions() methods and expose on interface for external calls. 2012-01-12 18:14:19 +00:00
Diva Canto 8bdd80abfa HG: normalize all externalized user ULRs to be the Home URL, i.e. the location of the user's UAS. This corrects an earlier design which had some cases pointing to the profile server. WARNING: CONFIGURATION CHANGES in both the sims (*Common.ini) and the Robust configs (Robust.HG.ini). Please check diff of the example files, but basically all vars that were pointing to profile should point to the UAS instead and should be called HomeURI. 2012-01-12 09:56:35 -08:00
Bo Iwu 6214e6a217 Allow update of stored entries within User Management Module-this is needed for proper work of HG friends.
See http://opensimulator.org/mantis/view.php?id=5847
2012-01-12 17:51:13 +00:00
Michelle Argus 34137ed4ea Correcting ini.example were permissionmodules uses komma instead of space as separator 2012-01-12 12:27:41 -05:00
Justin Clark-Casey (justincc) 38db874755 If deserializing a scene object fails during IAR load then ignore the object rather than halting the IAR load with an exception. 2012-01-11 14:33:26 +00:00
Mic Bowman 5f7e392c7c Add a check to see if an asset exists before recreating it while
loading an archive. This does add an extra roundtrip to the asset
server if loading new assets but it protects against overwriting
(and potentially corrupting) existing assets.
2012-01-10 16:26:01 -08:00
Justin Clark-Casey (justincc) 53fb20880c minor: Fix wrong column length in image queues report 2012-01-10 22:02:35 +00:00
Justin Clark-Casey (justincc) 5002f06d24 rename "show image queue" to "show image queues" in line with other udp info commands.
Eliminate redundant one line methods
2012-01-10 21:36:35 +00:00
Justin Clark-Casey (justincc) ef074deb52 Add "show image queue <first-name> <last-name>" region console command
This is so that we can inspect the image download queue (texture download via udp) for debugging purposes.
2012-01-10 21:30:12 +00:00
BlueWall a2fe3e2081 Remove DEBUG option
Remove DEBUG option from OpenSim.ini.example as it is handled in the console now with "debug teleport"
2012-01-10 15:29:08 -05:00
Diva Canto ce44f56af9 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-10 11:11:08 -08:00
Diva Canto 7b84942f86 HG landing points: this hopefully fixes some confusion that was making HG avies always land in 0,0 2012-01-10 11:10:47 -08:00
Justin Clark-Casey (justincc) 18497cef73 Add avatar names to appearance log messages 2012-01-10 18:54:20 +00:00
Justin Clark-Casey (justincc) a3bb1a81de correct very minor typo in "debug scene" help 2012-01-10 18:47:30 +00:00
BlueWall 66783398d0 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-10 13:43:42 -05:00
Justin Clark-Casey (justincc) d67e9916b8 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-10 18:42:37 +00:00
BlueWall 3deb52d399 Teleport Debugging
Move setting from ini to existing facitilies - thanks justincc

	toggle with console command: debug teleport
2012-01-10 13:41:35 -05:00
Justin Clark-Casey (justincc) d67e8291c8 Add "app find <uuid-or-start-of-uuid>" command to find the appearance using a particular baked texture, if any.
This is for debugging to relate texture console entries back to particular users on the simulator end.
2012-01-10 18:41:07 +00:00
Diva Canto a22d0dcab9 HG Friends: fixed bug introduced by 571efeddb2 (r/17672) 2012-01-10 09:58:53 -08:00
BlueWall 707c8c6f2b Add some run-time debugging support
Add configuration option - DEBUG to enable debugging methods. This is temporary for helping users testing teleport routing be able to report back the data with the test cases. We can remove when finished with this, or leave it if it proves to be useful.

	Users: set DEBUG = true in OpenSim.ini to get more information from teleport routing. The default is false. It presently prints the TeleportFlags value.
2012-01-09 18:19:55 -05:00
BlueWall b3a12167d6 Use our TeleportFlags
Switch to our TeleportFlags enum instead of LibOMV because we need to define a type for HG Logins. Also moved some debugging in ScenePresence into a function to make it simpler to enable/disable.
2012-01-09 17:54:35 -05:00
BlueWall 95345521f0 TP Routing debug
Fix test to checking against bitfield instead of int
2012-01-09 17:04:34 -05:00
BlueWall 3640afdd95 Fix teleport routing for incoming HG+Owner
Incoming HG owner/estate manager, etc. is routed according to the rules defined for teleports within the local grid. Left some commented debugging code inside so we can test other cases. Will remove when tings are settled in.
2012-01-09 14:31:22 -05:00
BlueWall 43145c7f67 Debugging HG teleport routing
Add some temporary debugging to the teleport routing to get a better view of what happens when HG jumps are made.
2012-01-09 13:07:02 -05:00
BlueWall 34c42cdab0 Fix HG teleport routing
Needed to breakout the ViaHGLogin check to it's own section. For some reason it would not factor in when combined with the other teleport flag types.
2012-01-09 01:37:28 -05:00
Melanie 0e855fea7c Fix a build break 2012-01-09 01:05:19 +00:00
Melanie 1ebd79e413 Add the HG case to landing point checks 2012-01-09 00:54:59 +00:00
Melanie 44cde8d5c6 Update teleport routing to match Avination 2012-01-08 23:36:49 +00:00
BlueWall 37fc19fae0 Update building instructions
a good place to trigger a test on the opensimulator site
2012-01-08 18:21:09 -05:00
BlueWall fb16d49511 Merge branch 'master' of /home/opensim/src/opensim 2012-01-08 17:56:03 -05:00
BlueWall 266167f5a3 Fix teleport routing
Route non-owner avatars according to land settings
2012-01-08 17:41:47 -05:00
Melanie 32eb7ddc37 Fix threat level setting on osNpcPlayAnimation 2012-01-07 18:09:53 +00:00
Melanie 6f19e231b6 Don't try to save a NPCs attachment states on NPC delete 2012-01-07 18:09:45 +00:00
nebadon 58cb7cd084 fix a typo "osNpcCreated" to "osNpcCreate" in OSSL threat level check 2012-01-06 23:07:48 -07:00
Justin Clark-Casey (justincc) f4231f0628 minor: remove mono compiler warning 2012-01-07 00:32:32 +00:00
Justin Clark-Casey (justincc) ba163ab05b Add method doc to SPA.Falling and use automatic private get property 2012-01-07 00:29:55 +00:00
Justin Clark-Casey (justincc) c5c079f6aa Fix bug where tapping home to stop falling would stop any avatar movement other than falling again.
Addresses http://opensimulator.org/mantis/view.php?id=5839
2012-01-07 00:17:40 +00:00
Melanie 679d155a39 Fix some syntax issues 2012-01-06 23:08:18 +00:00
Melanie 9668992493 Add osNpcPlayAnimation and osNpcStopAnimation which respect ownership as well 2012-01-06 22:59:50 +00:00
Melanie 1cffd8fa03 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-01-06 22:36:35 +00:00
Melanie 7518b075b7 Add osNpcCreateOwned to create an owned NPC. Those can be sensed only by the owner, can be destroyed only by the owner and only the owner can save their appearance. Added "NPC" as a flag to llSensor to sense NPCs and exclude them from "AGENT" results. 2012-01-06 22:35:06 +00:00
Justin Clark-Casey (justincc) 3073370d0e Allow RemoteAdmin to deal with all the different kinds of region id parameter that have been used in different methods.
See http://opensimulator.org/mantis/view.php?id=5814
Thanks Michelle Argus!
2012-01-06 22:29:27 +00:00
Justin Clark-Casey (justincc) 9bab43b4d1 eliminate a few tabs from OpenSimDefaults.ini 2012-01-06 21:36:30 +00:00
Justin Clark-Casey (justincc) 5f682b51ec Add disabled Cap_FetchInventory2 = "" reference to [ClientStack.LindenCaps] in line with all the other ones that are there 2012-01-06 21:29:18 +00:00
John Cochran ff5a83d192 Fixed llAngleBetween() to allow denormal rotations 2012-01-06 21:14:42 +00:00
Justin Clark-Casey (justincc) 8c445dac67 Add script instruction count back to llRot2Euler. Other minor formatting/doc changes. 2012-01-06 21:12:22 +00:00
John Cochran eb9bf71726 Replaced llRot2Euler function.
The original function suffered from unexpected results due to rounding
errors. An error of only 1 or 2 ulps would cause the code to not detect
a singularity at Y rotation +/- PI/2 and take the non-singularity code
path. The replacement code does not suffer from wildly inaccurate
results at the +/- PI/2 singularity. The check in the code for the
singularity isn't strictly needed, but gives more consistent results
At the singularity, the X and Z rotations add. The if check simply
forces the X rotation to be zero so the entirety of the X+Z rotation is
carried by Z.

Additionally, the test code has been updated to include test cases that
caused the old code to fail. The test algorithm is also updated to
perform a more meaningful test. The original code checked if the values
against expected values. This could fail at +/- PI rotations since a
rotation around an axis by PI causes the identical effect as a rotation
by -PI. The new test code checks that the returned angles can be used
to recreate a quaternion that causes the same rotation.
2012-01-06 21:08:54 +00:00
Justin Clark-Casey (justincc) 7661a0b2a9 Implement the FetchInventory2 capability. This accompanies the existing FetchInventoryDescendents2 capability.
Not yet enabled by default.  You can enable this by setting Cap_FetchInventory2 = "localhost" in the [ClientStack.LindenCaps] section of OpenSim.ini
Enabling both FetchInventory2 and FetchInventoryDescendents2 improves the situation with properly fetching attachments and hud objects
Probably because viewers are never expecting the odd situation where FetchInventoryDescendents2 is present but not FetchInventory2
However, for some reason attachments and hud objects occasionally fail to appear, though their status is correct in inventory
For attachments, focussing on the avatar makes them appear.  Hud objects have to be reattached.
2012-01-06 21:07:34 +00:00
Melanie f8c15d38a6 If dragging a script that is no copy from prim inventory into agent
inventory, stop it first in scene. If deleting from prims, move to trash
rather then making it poof.
2012-01-06 17:43:35 +00:00
Melanie fbb2a7e90d Add ThreatLevel.NoAccess to OSSL. This allows to enable OSSL without enabling
any methods, even those without threat, automatically. It is for use with
setups wanting to allow only specific methods to specific users.
2012-01-06 17:37:22 +00:00
BlueWall b06d878790 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-05 17:55:24 -05:00
BlueWall f252161941 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-05 17:54:51 -05:00
Justin Clark-Casey (justincc) b86e7715a8 Improve "j2k decode" command to tell us how many layers and components were decoded, instead of just success/failure 2012-01-05 22:54:33 +00:00
BlueWall e393b47da8 Merge branch 'new_modules' 2012-01-05 17:54:05 -05:00
BlueWall 2b4edd659f Adding empty ISearchModule interface 2012-01-05 17:53:03 -05:00
Justin Clark-Casey (justincc) 5ea9740f1b Add a "j2k decode" region console command that allows a manual request for a JPEG2000 decode of an asset
For debugging purposes.
2012-01-05 22:40:49 +00:00
Justin Clark-Casey (justincc) da0fc3c8f5 Make "show asset" command available simulator side. Actually make the service command be "show asset" instead of "show digest" this time.
Last time I accidnetally just changed the usage message.
2012-01-05 21:11:32 +00:00
Justin Clark-Casey (justincc) f06acc0a85 Add size and temporary information to "show asset" command 2012-01-05 21:05:10 +00:00
Justin Clark-Casey (justincc) 5b160f5b7b Rename 'show digest' console command to 'show asset' 2012-01-05 20:56:29 +00:00
Justin Clark-Casey (justincc) 7319ba62dd Move simulator asset info commands to an optional module from the connector. Make them conform with service side commands.
This stops them appearing twice when Hypergrid is enabled.
2012-01-05 20:51:49 +00:00
Justin Clark-Casey (justincc) f2ff6d5186 Move asset commands from AssetService to AssetServerConnector so that we can harmonise the same commands on the simulator side.
No functional change.
2012-01-05 20:33:44 +00:00
Justin Clark-Casey (justincc) 50e459d265 recomment log messages I accidentally left uncommented 2012-01-05 19:44:06 +00:00
Justin Clark-Casey (justincc) c201b54b85 Improve "app rebake" command to return a better message if no uploaded texture ids were available for the rebake request 2012-01-05 19:40:54 +00:00
Justin Clark-Casey (justincc) da6c816204 Commenting out DataSnapShot message "Registering service discovery capability" for now.
Please uncomment if/when needed.
2012-01-05 17:10:38 +00:00
Melanie 2c401b7359 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-01-05 08:12:34 +00:00
Melanie 97ba3c9346 Small fix to GetWorldPosition to get closer to Avination sit behavior 2012-01-05 08:11:52 +00:00
Justin Clark-Casey (justincc) 8fb70a2058 Add "appearance rebake" command to ask a specific viewer to rebake textures from the server end.
This is not as useful as it sounds, since you can only request rebakes for texture IDs already received.
In other words, if the viewer has never sent the server this information (which happens quite often) then it will have no effect.
Nonetheless, this is useful for diagnostic/debugging purposes.
2012-01-04 22:45:07 +00:00
Justin Clark-Casey (justincc) 0634c38505 Separate out rebake request code from cache validation code AvatarFactoryModule.
This allows some logic simplification and allows an external caller to manually request rebakes even if textures are uploaded (future command).
2012-01-04 22:22:46 +00:00
Justin Clark-Casey (justincc) 7e6c84c334 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-04 21:41:28 +00:00
Justin Clark-Casey (justincc) 3a64522267 Minor formatting changes and commented out log lines for future debugging of image manager (udp texture fetch). No significant functional changes. 2012-01-04 21:40:15 +00:00
Dan Lake 3a2ac0e2ee Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-04 12:01:32 -08:00
Dan Lake fc391d4b10 Added EventManager.OnRegionStarted which is triggered when Heartbeat is started. 2012-01-04 12:01:18 -08:00
Justin Clark-Casey (justincc) aa625da6a6 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-04 19:53:48 +00:00
Justin Clark-Casey (justincc) 82df5de5cf Remove the pointless LLClientView.m_imageManager null check.
Despite the code comments we never actually null it.
2012-01-04 16:15:05 +00:00
Dan Lake ecf9824b63 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-03 16:52:53 -08:00
Dan Lake 0ab2289cdc Access to these static methods to serialize objects are useful outside of serializer 2012-01-03 16:52:08 -08:00
Justin Clark-Casey (justincc) 6166a40440 Update C5.dll to version 1.1.1 from 1.1.0
C5 is a collections library and can be found at http://www.itu.dk/research/c5/
This is used in the UDP texture (image) sending code.
2012-01-03 20:22:15 +00:00
Justin Clark-Casey (justincc) 983b49c0c8 commented out "Prevented flyoff" log message for now as this becomes problematic with bot testing.
Please uncomment if still needed.
2012-01-03 18:25:31 +00:00
Justin Clark-Casey (justincc) 01eacd3a31 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-03 18:22:14 +00:00
BlueWall e78a3913e0 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-03 12:22:13 -05:00
BlueWall 2c8e72217e Merge branch 'new_modules' 2012-01-03 12:20:49 -05:00
BlueWall 6941058824 Profile Updates
Update basic profile to use the replaceable interface, making configuration less error-prone. Add support to query avatar's home user account and profile service for regions usng the updated OpenProfileModule with Hypergrid.
2012-01-03 11:10:23 -05:00
Justin Clark-Casey (justincc) fa79588a20 minor: add missing newlines to pCampbot usage statement 2012-01-03 15:42:36 +00:00
Justin Clark-Casey (justincc) fac8c25851 Reduce accessibility of some J2KImage/LLImageManager properties and methods to reduce potential code complexity and make code reading easier. 2012-01-02 21:31:42 +00:00
Justin Clark-Casey (justincc) 014a86c26b Adding commented out log messages and some minor formatting for future bug hunting. No functional changes. 2012-01-02 19:46:30 +00:00
BlueWall 87374274b9 Fix for failed http request status
Thanks "sendapatch" for fixes to llHTTPRequest status reporting.
2012-01-01 23:44:46 -05:00
Diva Canto 56dbcae402 Bug fix in map tiles in standalone: the map has been blank since commit 01ae916bad r/17324 (Nov.18, justincc). But the root cause comes from commit 02e54c57c4 Author: Oren Hurvitz Date: 7/22/2011
This is a nasty situation. The map tile UUID is, in principle, stored authoritatively in RegionSettings. However, it also needs to be stored in the Grid Service because that's how other sims can retrieve it to send it in Map Blocks to non-V3 viewers. So every time the tile image changes, that change needs to propagate to the Grid Service, and this is done via RegisterRegion (ugh!). Interestingly, this problem didn't affect grids because by default AllowRemoteDelete is false, so the prior images aren't being deleted from the asset servers -- but they were not being correctly updated in the map either, the map was stuck with old images.
2011-12-30 21:32:28 -08:00
Diva Canto 5d8ed077bc Bring back the Hyperlinker to the Robust console. Moved the config to [GridService]. Changed all HG-related .inis, including HyperSimianGrid. No changes in user-facing inis. 2011-12-30 19:17:35 -08:00
Diva Canto 5aad1f7afe Default LocalToGrid to true. Fixes minor bug introduced yesterday where old robust UserAccount service would result is LocalToGrid at the sim being false. 2011-12-30 10:40:57 -08:00
Mic Bowman 967ea51980 Set the local grid flag in the user account through the simian connector
This should make bi-directional hypergrid work.
2011-12-29 16:37:16 -08:00
Diva Canto 571efeddb2 Added UserManagementModule.IsLocalGridUser(UUID) to be used throughout region Scenes and Modules. Changed existing modules to use it instead of assuming that foreign = null account. 2011-12-29 16:12:06 -08:00
Diva Canto 42f5394677 Added field LocalToGrid in UserAccount. Context: make HG work in Simian. 2011-12-29 15:39:12 -08:00
Diva Canto 98ab3dffa3 Deleted two obsolete files in Inventory modules. 2011-12-29 15:33:04 -08:00
Diva Canto ef4d989f37 Deleted unused methods from HGAssetBroker 2011-12-29 15:21:56 -08:00
Diva Canto 6974596e83 Fixed mix-up in UserAccount fields when passing UserAccounts remotely. 2011-12-29 12:34:57 -08:00
Diva Canto b756077269 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-12-29 12:18:22 -08:00
Diva Canto 70e36ee2b4 HG: more adjustments for making HG Simian work. Added server_uri as new key on get_agent_home in UAS. 2011-12-29 12:17:58 -08:00
Melanie 5b52440e61 Introduce a LightShare kill packet ans send it when needed. Currently only
understood by AVN v0.3
2011-12-28 09:24:02 +00:00
BlueWall f36fe45fa7 Add Copy task to Prebuild.exe (vsxxxx targets)
<Files>
    <Match pattern="*.cs" recurse="true"/>
    <Match pattern="../bin/MyConfig.xml" buildAction="Copy" recurse="false" destination="$(OutputPath)" />
  </Files>
2011-12-25 00:04:42 -05:00
Diva Canto b6cfe15c7c HG: more / love for Xmas 2011-12-24 07:44:26 -08:00
Diva Canto f9a1fd5748 HG: one more adjustment with trailing /s 2011-12-23 15:08:13 -08:00
Diva Canto d38b8caf2b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-12-23 10:58:55 -08:00
Diva Canto 26bb95fe3d HG: AAdded a few missing /'s at the end of URLs 2011-12-23 10:58:30 -08:00
Mic Bowman c6ce464dbc remove the old region crossing handler 2011-12-23 10:13:32 -08:00
Mic Bowman 456c89a7a3 Fixes some problems with objects that attempt to cross a region boundary
into a region that does not exist. This is particularly problematic for
physical objects where the velocity continues to move them out of the
region causing an infinite number of failed region crossings. The patch
forces an object that fails a crossing to be non-physical and moves it
back into the starting region.
2011-12-22 16:59:51 -08:00
Mic Bowman f394cb2e8f fix the UsesPhysics flag to reference the physics flag rather than the temponrez flag 2011-12-22 16:21:32 -08:00
Mic Bowman 6b08c051a3 Enables processing of hypergrid links through simiangrid services. Thanks
otakup0pe
2011-12-22 15:31:51 -08:00
Justin Clark-Casey (justincc) 790ca65c84 Align default ODE_STEPSIZE with that already used through OpenSimDefaults.ini 2011-12-22 20:22:15 +00:00
Justin Clark-Casey (justincc) 7ccd8f8f1d rename Scene.m_physicalPrim to PhysicalPrims since its public and access external as a property 2011-12-22 19:57:50 +00:00
Justin Clark-Casey (justincc) f7dbdba447 Remove unused m_physicalPrim parameter from SOG.ApplyPhysics() 2011-12-22 19:52:09 +00:00
Justin Clark-Casey (justincc) 48113f0fc8 Make it possible to force all prims to be phantom via the collidable_prim boolean setting in the OpenSim.ini config [Startup] section.
Naturally, default is true.
When set to false, "phantom" flags on prims can be set as usual but all prims remain phantom.
This setting is for test purposes.
This switch does not affect the collision of avatars with the terrain.
2011-12-22 19:44:52 +00:00
Diva Canto 469955889e Region crossings redone: (1) removed WaitForCallback. Now that we are passing the entire agent with attachs in one big message we don't necessarily need to wait for confirmation. The callback sometimes is problematic and it adds delay to the process. (2) Z velocity sent to the viewer = 0. This is an heuristic; the Z velocity usually is negative, and it makes the viewer move the avie down. This only matters while the agent is in transit and therefore not being physically simulated by neither region. As soon as the receiving region receives CompleteMovement from the viewer, the position and velocity get corrected. 2011-12-22 09:30:06 -08:00
Melanie 7f527814d5 And a typo fix 2011-12-22 16:57:49 +00:00
Melanie 6412349dec Add a few comments, correct a merge artefact 2011-12-22 16:51:51 +00:00
Melanie 2347593dac Harmonizing SP with Avination 2011-12-22 16:48:52 +00:00
Diva Canto 219ec7ef20 Fixing a bug introduced yesterday. This put the precondition test inside CheckForBorderCrossing the right way. 2011-12-22 08:18:03 -08:00
Diva Canto bb0c6a498b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-12-21 15:17:44 -08:00
Diva Canto ddff2f246c Moved an external test into the method that uses those preconditions. 2011-12-21 15:17:26 -08:00
Diva Canto 651f9f47d0 HG: Verify that the user is local 2011-12-21 14:56:38 -08:00
Dan Lake 7693e6a3a8 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-12-20 14:46:44 -08:00
Dan Lake 41b02a7208 Remove unused SetAcceleration and add set on Acceleration parameter 2011-12-20 14:45:32 -08:00
Dan Lake a1dc4e830d Remove unused SetAcceleration and add set on Acceleration parameter 2011-12-20 13:40:24 -08:00
Justin Clark-Casey (justincc) fa0a71253f Though the viewer warns about receiving this, not sending appears to break baked texture caching when crossing region boundaries.
Needs further investigation.

Revert "Stop sending the viewer its own AvatarAppearance packet."

This reverts commit 92039f295d.
2011-12-20 18:54:15 +00:00
Diva Canto dd69c9fd20 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-12-20 09:53:05 -08:00
Diva Canto 25cbba9bca Fixed bug of avie going under the terrain when crossing regions in certain directions. This was a 1-off bug: the terrain was being placed in 127, 127 resulting in a bounding box if -2, 256. I placed it in 128, 128 resulting in a bounding box of -1, 257. 2011-12-20 09:43:39 -08:00
Justin Clark-Casey (justincc) 87a2d8d51b Move HandleObjectGroupUpdate() from GroupsModule to Scene.PacketHandlers.cs as this is updating SOG/SOP.GroupID, which is arguably generic. 2011-12-19 23:03:45 +00:00
Justin Clark-Casey (justincc) 92039f295d Stop sending the viewer its own AvatarAppearance packet.
The viewer warns in the log if it receives this.
Stopping this doesn't appear to have adverse effects on viewer 1 or viewer 3 - the viewer gets its own appearance from body parts/clothes and self-baked textures.
2011-12-19 20:13:48 +00:00
Justin Clark-Casey (justincc) 2899de1a5c Stop unnecessarily sending the TextureEntry in client avatar updates.
As far as I know, viewers don't use this mechanism to recieve new TextureEntry data for avatars.  This is done via the AvatarAppearance packet instead.
Tested this back to viewer 1.23.
Replacing with Utils.EmptyBytes since converting the texture entry to bytes on each AvatarUpdate (or which there are many) is not cost-free.
2011-12-19 19:19:05 +00:00
Justin Clark-Casey (justincc) e8fbeeba5f Fix race condition where the appearance update timer could be stopped just after another thread had started it on QueueAppearanceSave() or *Send()
However, the window for this race is very small, and the next queued appearance save or send would restart the timer anyway.
2011-12-19 19:08:24 +00:00
Justin Clark-Casey (justincc) fc9400db07 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-12-19 19:07:35 +00:00
Justin Clark-Casey (justincc) 0b91ec8dd2 Migrate detailed "appearance show" report generation up to AvatarFactoryModule from AppearanceInfoModule so that it can be used in debug (inactive).
Further filters "debug packet <level>" to exclused [Request]ObjectPropertiesFamily if level is below 25.
Adjust some method doc
Minor changes to some logging messages.
2011-12-19 18:58:05 +00:00
nebadon 6baee2e10b addresses mantis #5827
RAdmin - admin_save_oar fails if noassets parameter missing
thanks Michelle Argus
2011-12-19 11:51:03 -07:00
Justin Clark-Casey (justincc) 4d065f0453 Provide user feedback on execution of "backup" region console command 2011-12-17 02:42:43 +00:00
Justin Clark-Casey (justincc) 684482352c Fix bug where objects couldn't be set back to the "none" group.
This is handled by treating UUID.Zero as a special case.
Currently, asking for the "none" group returns nothing because XMLRPC groups, at least, is not properly handling this case.
It may be better in the future to have GroupsModule return an appropriate GroupsData structure instead or require the underlying services to behave appropriately.
This is a further component of http://opensimulator.org/mantis/view.php?id=5588
2011-12-17 02:35:08 +00:00
Justin Clark-Casey (justincc) f9137c923b Fix bug where objects could not be set to a new group if the group had been created in that client session, or if no other action has been performed on the object.
There were two problems here:
1) On object group update, we looked for the group is the IClientAPI group cache rather than in the groups service.  This fails to groups created newly in that session
2) On object group update, we weren't setting the HasGroupChanged flag.  This meant that the change was not persisted unless some other action set this flag.
This commit fixes these issues and hopefully addresses http://opensimulator.org/mantis/view.php?id=5588
This commit also moves HandleObjectGroupUpdate() to the GroupsModule from the Scene.PacketHandlers.cs file
2011-12-17 02:23:24 +00:00
Diva Canto 964ec57ffe Changed the async approach on close child agents. This may improve crossings a little bit. 2011-12-16 17:24:50 -08:00
Diva Canto 99623894c7 Commented a couple of verbose debug messages. 2011-12-16 17:23:30 -08:00
Justin Clark-Casey (justincc) 9b56cc69c1 Add Garmin Kawaguichi to CONTRIBUTORS.txt 2011-12-17 00:29:42 +00:00
Justin Clark-Casey (justincc) 7f019cc196 If a startup simulator script is present, run it after the normal region selection code rather than before.
This allows the script to change the selected region without having it immediately undone.
Thanks to Garmin Kawaguichi for this patch.
2011-12-17 00:27:19 +00:00
Justin Clark-Casey (justincc) 4f628849f3 Add more documentation to EstateConnectorString in StandaloneCommon.ini.example 2011-12-17 00:14:48 +00:00
Justin Clark-Casey (justincc) 1bf05fbb1f refactor: simplify methods in Scene.PacketHandlers.cs by using GetGroupByPrim() rather than retrieving GetEntities() and inspecting the entire list 2011-12-17 00:11:17 +00:00
Justin Clark-Casey (justincc) a3a17e929e Stop generating client flags when we send out full object updates.
These were entirely unused.
2011-12-16 23:20:12 +00:00
Justin Clark-Casey (justincc) 5c4056660f Don't pass on ChaneWaterHeight event from EventManager is new water height is less than 0
This is to stop bad values and subsequent viewer crashes.
Thanks to Michelle Argus for this patch.
2011-12-16 21:16:01 +00:00
Justin Clark-Casey (justincc) 5d79f857b0 Comment out accidentally left in "Adding physics prim" log message 2011-12-16 20:54:28 +00:00
Justin Clark-Casey (justincc) a9b39d6e5d Tunnel [GroupsModule] DebugEnabled setting down into XmlRpcGroupsServicesConnectorModule so that we can record cache misses 2011-12-16 20:53:50 +00:00
Diva Canto 8300bb651e Sends the consistent child agent position upon creation of the child agent in other regions, as opposed to <128, 128, 70> 2011-12-16 09:33:22 -08:00
Diva Canto 3bf699ad36 No functional changes. Changed the prefix of that log message [CONNECTION BEGIN] to [SCENE] because that's where the message happens.
Also changed the instantiation of a vector object to be done only once instead of every time we receive a position update.
2011-12-16 08:59:33 -08:00
Diva Canto 7e4a2d69d5 HG minor bug fix and marked one method obsolete in UAS. 2011-12-16 08:48:29 -08:00
Justin Clark-Casey (justincc) 8013c0d2f5 Stop pointlessly setting the m_colliderarr[] to false in the ODECharacter constructor 2011-12-15 22:33:14 +00:00
Justin Clark-Casey (justincc) c0ba99e5ad Stop having to call SetHeight again in ScenePresence.AddToPhysicalScene() when we've already passed size information to the avatar at PhysicsScene.AddAvatar()
Eliminate some copypasta for height setting in OdeCharacter
2011-12-15 22:29:36 +00:00
Justin Clark-Casey (justincc) 99570d8ebb Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-12-15 21:59:01 +00:00
Justin Clark-Casey (justincc) 937c06db54 Code cleanup related to ScenePresence.PhysicsActor and OdeScene/OdeCharacter
Stop hiding RemoveAvatar failure, add log messages when characters are removed through defects or re-added unexpectedly.
Add commented out log lines for future use.
Use automatic property for PhysicsActor for better code readability and simplicity
2011-12-15 21:57:22 +00:00
nebadon 58ba81ae4e minor fix to MegaRegions, typo spotted by Ubit! 2011-12-15 10:49:15 -07:00
Justin Clark-Casey (justincc) 6f2d80cc93 minor: add some currently commented log lines for use in debugging 2011-12-14 21:27:47 +00:00
Justin Clark-Casey (justincc) e830a77860 Simplify some manipulation of _taintedActors in OdeScene 2011-12-14 18:33:44 +00:00
Justin Clark-Casey (justincc) a110a7bd6a Eliminate _taintedPrimsH and _taintedPrimsL (and _taintedPrimLock) in favour of just a _taintedPrims HashSet.
There's no point maintaining a list because any pending taint operations are all carried out in the same call anyway.
2011-12-14 18:03:25 +00:00
Justin Clark-Casey (justincc) cec88872ae Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-12-14 17:59:55 +00:00
Justin Clark-Casey (justincc) 84023c8162 Fix off by one bug in objects GrabbingBehaviour of pCampBot.exe
Also fix usage message.
2011-12-14 16:43:49 +00:00
Dan Lake f43e5f92fd Just adding a comment to SendFullUpdatToClient 2011-12-13 23:34:59 -08:00
Dan Lake 39736e52d8 Reorder clearing of upate schedule on SOP to before sending updates. Fix potential race condition. 2011-12-13 21:37:17 -08:00
Justin Clark-Casey (justincc) b242ceda1e In AvatarFactoryModule.SetApperance(), perform ValidateBakedTextureCache() in the same thread rather than on another one.
The caller is already an async thread from LLClientView so this doesn't hold up the client.
However, launching on a separate thread does remove the effect of m_setAppearanceLock
This was potentially allowing two different SetAppearance threads to interfere with each other, though this probably rarely happens, if at all.
2011-12-13 20:42:39 +00:00
Justin Clark-Casey (justincc) 3a06640730 Get rid of the 'lolcat' library asset.
This was both unused and an invalid jpeg2000 texture from way back in 2008
2011-12-12 21:17:01 +00:00
Justin Clark-Casey (justincc) 4dfd2c7d47 minor: remove pointless comment from OdeScene.cs 2011-12-12 19:31:50 +00:00
Justin Clark-Casey (justincc) e9b59e7627 Remove long unused libdb_dotNET43.dll 2011-12-12 19:31:12 +00:00
Dan Lake c34ab0ee66 Cleaned up ScenePresence parameters for Flying, WasFlying, FlyingOld and IsColliding 2011-12-12 02:43:38 -08:00
Dan Lake 3c55d2e776 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-12-12 00:41:53 -08:00
Dan Lake db8fd1eb9f Added an option for extra settings within region ini file. Any non-hardcoded key-value string pair can be added per-region and referenced by any part of OpenSim with access to the RegionInfo 2011-12-12 00:21:19 -08:00
nebadon 8ae824ff09 Mantis 5816: osParseJSON Decoding Problems
osParseJSON uses hand-crafted decoding that has two issues
* does not seem to handle top-level JSON lists
* does not seem to handle unicode text
thanks otakup0pe!
2011-12-11 23:25:12 -07:00
Melanie 3a91085ac2 Implement handler for TeleportCancel inbound packet 2011-12-10 15:17:34 +00:00
Justin Clark-Casey (justincc) e88ad5aab9 minor: remove a mono compiler warning 2011-12-09 23:55:54 +00:00
Justin Clark-Casey (justincc) 5f276c3212 Print out one log message for every missing baked texture, rather than two. 2011-12-09 23:54:39 +00:00
Justin Clark-Casey (justincc) 0daa5d8b4d minor: comment out "unpacked appearance" log mesasge for now 2011-12-09 23:44:34 +00:00
Justin Clark-Casey (justincc) f24898d049 Comment out ChildAgentDataUpdate.Pack() "Pack data" message for now. 2011-12-09 23:24:52 +00:00
Justin Clark-Casey (justincc) 13b1c8c173 Do some clean up Scene.cs log messages.
This prints out both exception message and stacktrace (Exception.ToString()) isn't enough on Windows.
This also uses m_log.*Format() which is more efficient than string concat.
2011-12-09 23:21:54 +00:00
Justin Clark-Casey (justincc) af3cd00048 Get rid of IScene.PresenceChildStatus() which always had to execute a lookup in favour of IClientAPI.ISceneAgent.IsChildAgent instead. 2011-12-09 23:07:53 +00:00
Justin Clark-Casey (justincc) fc27806e90 remove some unused fields in ScenePresence 2011-12-09 22:52:54 +00:00
Justin Clark-Casey (justincc) cb0da425d5 Fix "fix-phantoms" help message. Thanks Garmin Kawaguichi. 2011-12-09 22:41:39 +00:00
Justin Clark-Casey (justincc) 94c242f792 Move client id check in Scene.Inventory.cs:UpdateInventoryItemAsset so that it doesn't trigger an exception if the item hasn't been found.
In this situation we will now put out a slightly more meaningful log error message instead.
2011-12-09 22:36:51 +00:00
Justin Clark-Casey (justincc) 4e9f50b878 Add commented log lines to FetchInventoryDescendents2 path for future use.
Haven't been able to resolve issue where attachments are removed by the viewer on relog on a localhost
2011-12-09 22:32:28 +00:00
Justin Clark-Casey (justincc) 63fe673af1 Revert "Revert "Stop performing the asset save part of baked texture uploading on the UploadBakedTexture cap asynchronously.""
This turned out not to be the upload texture issue.

This reverts commit 8721841fc3.
2011-12-08 23:45:53 +00:00
Justin Clark-Casey (justincc) 50eebb5cba Don't reply with an ack packet if the client is not authorized. 2011-12-08 22:00:59 +00:00
Justin Clark-Casey (justincc) 32d0ef89c6 Extend TestAddClient() to check that the first packet received is an ack packet 2011-12-08 21:45:02 +00:00
Justin Clark-Casey (justincc) 14e407aff3 Add OpenSim.Region.ClientStack.LindenUDP.Tests.dll back into the test suite 2011-12-08 20:55:38 +00:00
Justin Clark-Casey (justincc) bc13855e64 Reactivate BasicCircuitTests.TestAddClient()
This checks that the initial UseCircuitCode packet is handled correctly for a normal client login.
2011-12-08 20:52:34 +00:00
Justin Clark-Casey (justincc) 0e265889dd Remove unnecessary AgentCircuitData null check from Scene.AddNewClient().
The only caller is the LLUDP stack and this has to validate the UDP circuit itself, so we know that it exists.
This allows us to eliminate another null check elsewhere and simplifies the method contract
2011-12-08 19:25:24 +00:00
Justin Clark-Casey (justincc) 55de189752 minor: remove some mono compiler warnings 2011-12-08 18:56:07 +00:00
Justin Clark-Casey (justincc) 54360dd20e When a client connects to a scene, send other avatar appearance data asynchronously to reduce hold up in the IN UDP packet processing loop.
This is already being done for the initial object data send.
2011-12-08 18:39:56 +00:00
Justin Clark-Casey (justincc) f61e54892f On a new client circuit, send the initial reply ack to let the client know it's live before sending other data.
This means that avatar/appearance data of other avatars and scene objects for a client will be sent after the ack rather than possibly before.
This may stop some avatars appearing grey on login.
This introduces a new OpenSim.Framework.ISceneAgent to accompany the existing OpenSim.Framework.ISceneObject and ISceneEntity
This allows IClientAPI to handle this as it can't reference OpenSim.Region.Framework.Interfaces
2011-12-08 18:34:23 +00:00
Justin Clark-Casey (justincc) 355cde464a Simplify Scene.AddNewClient()
If sp becomes null right after we've checked or created it, then behaviour down the line is going to be wrong anyway.
So instead retain the check/create ScenePresence reference and use this.
2011-12-08 16:10:47 +00:00
Melanie 43732794dd Remove a left over log output 2011-12-08 05:46:59 +00:00
Justin Clark-Casey (justincc) dae58e0937 Remove warning in admin_save_oar xmlrpc method where noassets == true was comparing against an object rather than a string 2011-12-07 22:42:05 +00:00
Justin Clark-Casey (justincc) 2b4de8f881 Have admin_load_heighmap and admin_save_heightmap xmlrpcadmin methods return success = true on success rather than false 2011-12-07 22:40:23 +00:00
Justin Clark-Casey (justincc) fb2f4f158c Refactor RemoteAdminPlugin so that every xmlrpc method calls a common block of code to do password checks, etc., instead of copy/pasting this code into every method 2011-12-07 22:39:12 +00:00
Justin Clark-Casey (justincc) eda770e978 Remove unused SceneManager.TryGetAvatarsScene()
It makes far more sense anyway to use TryGetRootScenePresence().Scene, in common with the rest of the code
This method could also return any scene for child or root agents, depending in which order the scenes happened to lie in the list
2011-12-07 21:17:13 +00:00
Justin Clark-Casey (justincc) 3d95015686 On an Exception in Scene.RemoveClient(), always remove the client (and SP) structure so that logout on unexpired packets isn't retriggered, causing the same exception 2011-12-07 18:43:48 +00:00
Justin Clark-Casey (justincc) 2b02d3dc84 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-12-07 17:33:06 +00:00
Justin Clark-Casey (justincc) 415b7b7ec4 Implement XMLRPCAdmin command admin_teleport_agent.
This allows someone with access to this command on the XMLRPCAdmin interface to teleport an avatar to an arbitrary region and/or position.
2011-12-07 17:31:57 +00:00
BlueWall 33c6067098 Trigger a Jenkins build 2011-12-07 11:21:50 -05:00
BlueWall 0fcd55aff3 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-12-07 10:39:25 -05:00
BlueWall fd023b317a Update libomv to 0.9.1 2011-12-07 09:56:15 -05:00
Justin Clark-Casey (justincc) a8ed185c00 properly lock CapsHandlers.m_capsHandlers 2011-12-07 14:55:01 +00:00
BlueWall 6ec59ee892 Merge branch 'master' of /home/opensim/var/repo/opensim 2011-12-07 07:52:24 -05:00
Justin Clark-Casey (justincc) e6272b8d56 Stop also adding an ordinary http handler when we set up a poll http handler.
It appears that this is entirely unnecessary since the poll http handlers are dealt with on a separate code path.
2011-12-07 12:28:42 +00:00
Justin Clark-Casey (justincc) 8e542cfa03 Stop accidentally setting up the UploadTexture caps handler with the same url for all users
This meant that if a user exited the region, the UploadTexture handler would be effectively removed for everyone, causing subsequent failures.
This hopefully resolves the recent UploadTexture LLSD problems
This was a regression in 5640f2e (Thu Dec 1 23:24:15 2011 +0000)
2011-12-06 21:42:56 +00:00
Justin Clark-Casey (justincc) 8721841fc3 Revert "Stop performing the asset save part of baked texture uploading on the UploadBakedTexture cap asynchronously."
This is a possible cause of the dramatic upswing in "Unable to upload... No handler registered for LLSD requests..."
Needs more investigation.

This reverts commit 1854c52ea3.
2011-12-06 18:37:13 +00:00
Justin Clark-Casey (justincc) 136a6a6e0f Make "show appearance" a synonym for "appearance show" 2011-12-06 18:36:11 +00:00
Justin Clark-Casey (justincc) b9a461c5ad In "appearance show", if a particular avatar is specified, print out texture UUID for each bake type and whether the simulator can find it. 2011-12-06 18:32:27 +00:00
Justin Clark-Casey (justincc) ec4f217af8 Actually send the avatar data if an individual avatar is specified, rather than accidentally doing nothing 2011-12-06 18:06:29 +00:00
Justin Clark-Casey (justincc) 1b9eb52850 Allow "appearance show" command to take an optional avatar name 2011-12-06 18:03:16 +00:00
Justin Clark-Casey (justincc) 4be85eeaa5 Make it possible to manually send appearance information via the "appearance send" command for a chosen avatar as well as all 2011-12-06 16:42:44 +00:00
Justin Clark-Casey (justincc) d33d12ba83 Provide feedback as to which avatars are resending appearance informion on "appearance send" console command 2011-12-06 16:07:24 +00:00
Justin Clark-Casey (justincc) 319507f521 Add test for not found response from GetTexture cap handler.
Add OpenSim.Region.Capabilities.Handlers.Tests.dll into test suite
2011-12-05 21:04:17 +00:00
Justin Clark-Casey (justincc) af9ccfa15c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-12-05 20:50:44 +00:00
Justin Clark-Casey (justincc) 4567555c49 Implement IOSHttpRequest and IOSHttpResponse http interfaces and use instead of OSHttpRequest/OSHttpResponse.
This is required for the substitution of different HTTP servers or the newer HttpServer.dll without having to commit to a particular implementation.
This is also required to write regression tests that involve the HTTP layer.
If you need to recompile, all you need to do is replace OSHttpRequest/OSHttpResponse references with IOSHttpRequest/IOSHttpResponse.
2011-12-05 20:44:20 +00:00
BlueWall 2d3dda6db3 Merge branch 'master' of /home/opensim/var/repo/opensim 2011-12-05 15:29:00 -05:00
Melanie e7cb63fcf7 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-12-05 19:01:35 +00:00
Melanie 66f4ce354f Fix CHANGED_TEXTURE and CHANGED_COLOR. 2011-12-05 19:01:14 +00:00
Justin Clark-Casey (justincc) 37889eb3fa For the GetTexture capability, if a data range is requested that covers the whole asset length, return HTTP PartialContent instead of NotFound
NotFound is obviously wrong, and this change stops viewer 3.2.2 (and v probably earlier) complaining in the log about missing textures that are actually present.
We still return PartialContent even if the range requested is a superset of the data range as per httpd's behaviour
https://issues.apache.org/bugzilla/show_bug.cgi?id=51878
Viewer 3.2.2 and very probably earlier appear happy with this.
Whether fixing this NotFound bug has any practical effect apart from resolve viewer log messages is unknown.
2011-12-05 18:35:03 +00:00
Diva Canto a2d98c7293 HG: Added HEAD method to Helo service. This is the preferred method, but its wide use will have to wait a few releases. So the sims are still calling GET for now. 2011-12-04 10:10:09 -08:00
Diva Canto 080dfcc9c9 HG: Renamed one method 2011-12-04 08:24:16 -08:00
Justin Clark-Casey (justincc) a82aea53f8 Split up test SceneHelpers to provide an AddChildScenePresence() call 2011-12-03 19:32:59 +00:00
Justin Clark-Casey (justincc) a4d82895be Remove T012_TestAddNeighbourRegion() and T013_TestRemoveNeighbourRegion() since they don't do anything useful. 2011-12-03 19:14:37 +00:00
Justin Clark-Casey (justincc) 3852f05e6e Extend TestCreateChildScenePresence to make assertions both at CreateAgent stage and then at Scene.AddClient() 2011-12-03 19:10:32 +00:00
Justin Clark-Casey (justincc) 4919c60560 Add beginning of ScenePresenceAgentTests.TestCreateChildScenePresence()
This required an option to be added to NullRegionData via ConnectionString for it to act as a non-static instance, so that regression tests (which only load this class once) don't get hopeless confused and complex to compensate.
Normal standalone operation unaffected.
2011-12-03 18:59:54 +00:00
Justin Clark-Casey (justincc) ced820bd5e Improve locking in AgentCircuitManager 2011-12-03 16:19:11 +00:00
Justin Clark-Casey (justincc) c934901a05 Use GetAgentCircuits() to receive a copy of the AgentCircuitsByUUID dictionary rather than AgentCircuitManager.AgentCircuits directly in "show circuits" to avoid enumeration exceptions 2011-12-03 16:11:47 +00:00
Justin Clark-Casey (justincc) aac3f2d04e Add agent circuit number checks to TestCloseAgent() 2011-12-03 16:04:11 +00:00
Justin Clark-Casey (justincc) aba42d8543 Correct SOP.GetNumberOfSides() to return 8 for meshes rather than 7
We are returning the actual number of 'sides', not the maximum index number.
Also minor format corrections.
2011-12-03 15:54:06 +00:00
marc e75bcd4c59 Workaround for mesh to correct the number of faces in GetNumberOfSides(). Meshs are handeled as sculpts but can have up to 8 faces (SL restriction the collada format can handle even more). The patch enables all LSL function that adressing faces to behave correct. Like llGetNumberOfSides(); llSetLinkPrimitiveParamsFast(); llSetPrimitiveParams(); llSetColor();
Signed-off-by: marc <mare@sounddog.net>
2011-12-03 15:49:19 +00:00
BlueWall 6541fc08d4 Merge branch 'master' of /home/opensim/var/repo/opensim 2011-12-02 22:46:37 -05:00
Justin Clark-Casey (justincc) 585fc5e79d Update SP.PhysicsCollisionUpdate() doc.
It might be inefficient, but there are collisions every frame if the avatar is walking/standing on the ground or a prim surface
2011-12-03 02:51:17 +00:00
Justin Clark-Casey (justincc) e26ef8aeca change misleading login = http://127.0.0.1:9000/ in GridInfoService in Robust.ini.example to 8002 2011-12-03 02:48:16 +00:00
Justin Clark-Casey (justincc) b66fe3e9ff Add method doc to SP.PhysicsCollisionUpdate() to make it clear that it's called continuously even where there are no collisions 2011-12-03 02:45:02 +00:00
Justin Clark-Casey (justincc) a009871827 Add basic TestFlyingAnimation() regression test 2011-12-03 02:39:21 +00:00
Justin Clark-Casey (justincc) feef1dd732 Stop calling Animator.UpdateMovementAnimations() at the end of HandleAgentUpdate().
There's no point doing this if it's being called via PhysicsCollisionUpdate
2011-12-03 02:05:11 +00:00
BlueWall f144baa9a8 Merge branch 'master' of /home/opensim/var/repo/opensim 2011-12-02 20:53:35 -05:00
Justin Clark-Casey (justincc) f08aad8a40 For now, disable mechanism to limit avatar animation updates since this causes avatars to never reach the correct animation after some actions.
This reverts to situation where animation updates are made each frame on SP.PhysicsCollisionUpdate (though a packet is only sent if the anim actually changes).
m_updateCount was not being update on various avatar state changes, causing the correct animations to never be sent.
Always setting in HandleAgentUpdate() is not enough since the avatar is continually sending AgentUpdate packets.
One would need to identify all the conditions under which animations need to play out and set m_updateCount appropriately in SP.HandleAgentUpdate()
2011-12-03 01:47:12 +00:00
BlueWall b94ab10922 Merge branch 'master' of /home/opensim/var/repo/opensim 2011-12-02 20:21:35 -05:00
Justin Clark-Casey (justincc) 0ca8491bbe refactor: Use just ScenePresenceAnimator.CurrentMovementAnimation rather than duplicating it with m_movementAnimation 2011-12-03 00:40:08 +00:00
Justin Clark-Casey (justincc) 5bbfb082dd Use agent.Animator.CurrentMovementAnimation in llGetAgentInfo() rather than asking for a new determination 2011-12-03 00:33:24 +00:00
Justin Clark-Casey (justincc) 8185ce8b4a Do a cagent.Anims != null check in SP.CopyFrom() 2011-12-03 00:30:13 +00:00
Justin Clark-Casey (justincc) 5ba8ca5662 Rename ScenePresenceAnimator.GetMovementAnimation() -> DetermineMovementAnimation() for better code readability 2011-12-03 00:27:21 +00:00
Justin Clark-Casey (justincc) 96c191f4fd Stop SP.HandleAgentUpdate() and PhysicsCollisionUpdate() from being processed if we're dealing with a child ScenePresence.
Neither of these can have any effect on child agents
Now leaving warning about trying to set animation on a child agent active.  Might temporarily pop up now and again.
2011-12-03 00:09:18 +00:00
BlueWall 21f4ee8a3d Merge branch 'master' of /home/opensim/var/repo/opensim 2011-12-02 18:57:57 -05:00
Justin Clark-Casey (justincc) 054ebe8878 Stop some places where we're trying to reset animations in child agents where such requests are ignored. 2011-12-02 23:56:01 +00:00
Justin Clark-Casey (justincc) 2a6597f61e Remove pointless Animator.TrySetMovementAnimation("STAND") in ScenePresnece constructor.
Comment was right - it is indeed useless since SP always starts off as child and TrySetMovementAnimation screens out child SP
2011-12-02 22:14:47 +00:00
Justin Clark-Casey (justincc) 1854c52ea3 Stop performing the asset save part of baked texture uploading on the UploadBakedTexture cap asynchronously.
This prevents a possible race condition where the client would be told all baked textures had updated before they were in the asset service.
The client would then trigger a set appearance which, after a delay, would send the avatar appearance out to other clients.
The race condition seems unlikely because of this delay but it's still possible.
Might help with grey avatar appearances.
2011-12-01 23:38:25 +00:00
Justin Clark-Casey (justincc) 5460f2e035 refactor: Separate the upload baked texture handler out from BunchOfCaps 2011-12-01 23:24:15 +00:00
BlueWall e7930b1d0f Make fix to Nini for null references in some cases. 2011-11-29 22:25:03 -05:00
Justin Clark-Casey (justincc) 2a9c9ae340 Provide more user feedback when "debug http" is set 2011-11-29 21:53:15 +00:00
Justin Clark-Casey (justincc) fa63054c4f On "show caps", stop excluding the seed cap but do exclude it elsewhere 2011-11-29 20:37:03 +00:00
Justin Clark-Casey (justincc) 679a5f6c0b With "debug http 1", show the path with the query string instead of just the path.
Also simplifies debug levels to just 0 and 1
2011-11-29 17:26:45 +00:00
Justin Clark-Casey (justincc) 658d02b5e9 Improve some of the debug help messages 2011-11-29 16:56:31 +00:00
Justin Clark-Casey (justincc) a17f93ff44 minor: remove mono compile warning, a Vector3 can never be null since it's a struct 2011-11-29 16:31:10 +00:00
Justin Clark-Casey (justincc) d3a46b03bf tabulate "show caps" output for easier readability 2011-11-29 16:29:11 +00:00
Justin Clark-Casey (justincc) ff0d020007 Correct mistake in "debug eq" help 2011-11-29 16:18:14 +00:00
Justin Clark-Casey (justincc) b6b0bc7b32 Add "debug http" command for currently simple extra debug logging of non-event queue inbound http requests to a simulator 2011-11-29 16:15:52 +00:00
BlueWall 19c10c892a Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-11-26 17:20:20 -05:00
BlueWall ea0fc7b12c Add missing property to llGetLinkPrimitiveParams 2011-11-26 17:06:28 -05:00
Justin Clark-Casey (justincc) 4efd9a3b7b When removing an LSL sensor for a script (e.g. through llResetScript() or state change), don't also remove sensors for other scripts in the same prim.
Hopefully fixes http://opensimulator.org/mantis/view.php?id=4448 and http://opensimulator.org/mantis/view.php?id=4452
2011-11-26 01:55:36 +00:00
Justin Clark-Casey (justincc) 86cc00aaa8 minor: formatting changes in Scene.PacketHandlers.cs 2011-11-26 01:52:12 +00:00
Justin Clark-Casey (justincc) 46e1bcb6b6 minor: remove mono compiler warning 2011-11-26 01:40:46 +00:00
Justin Clark-Casey (justincc) bafea2282a Rip out unused Scene.HandleFetchInventoryDescendentsCAPS().
This has been handled by WebFetchInvDescHandler.Fetch() for some time.
2011-11-26 01:39:23 +00:00
Justin Clark-Casey (justincc) 11c19b0d2e Use the same web fetch handler for every request from every avatar, since it contains no instance code 2011-11-26 00:29:01 +00:00
Justin Clark-Casey (justincc) c5b636469d Stop locking the requests coming in to WebFetchInvDecHandler.
There's no technical reason for this as the methods are thread safe.  However, it might have served to slow down requests.
2011-11-26 00:13:04 +00:00
Justin Clark-Casey (justincc) 95a686dbf5 Fix config so that you can have both WebFetchInventoryDescendents and FetchInvnetoryDescendents2 caps active at once 2011-11-25 23:45:29 +00:00
Justin Clark-Casey (justincc) 5b4fe23f7f Resolve error where an unknown asset type would cause the fetch inventory descendents cap to fail.
Introduced just a few commits ago in 0688861
2011-11-25 23:43:57 +00:00
Justin Clark-Casey (justincc) 676d32974a Implement the FetchInventoryDescendents2 capability using the same code as WebFetchInventoryDescendents.
Enabling this by setting Cap_FetchInventoryDescendents2 = "localhost" in the [ClientStack.LindenCaps] section of OpenSim.ini downloads inventory via http rather than udp in later viewers.
2011-11-25 22:46:42 +00:00
Justin Clark-Casey (justincc) b785f204ce remove some mono compiler warnings 2011-11-25 22:19:57 +00:00
Justin Clark-Casey (justincc) 0688861aa7 Use the more extensive Utils.AssetTypeToString()/InventoryTypeToString() conversion rather than the arrays in TaskInventoryItem 2011-11-25 22:15:29 +00:00
Justin Clark-Casey (justincc) 8c82ff16ad Fix WebFetchInventoryDescendents cap to use Utils.AssetTypeTostring/InventoryTypeToString to convert types to strings
These cover a wider range of types.
2011-11-25 21:54:31 +00:00
Justin Clark-Casey (justincc) 0a0aa77cfd Adding missing CrossBehaviour.cs file to fix build 2011-11-24 22:46:43 +00:00
Justin Clark-Casey (justincc) 8e32ce85a7 Remove bizarre call to PhysicsScene.Simulate(0) in Scene.GetNearestAllowedPosition()
At least on ODE, this wasn't doing any harm but there wasn't any point to it either
2011-11-24 22:45:29 +00:00
Justin Clark-Casey (justincc) 2ae5b40ca6 On pCampBot, add bot as a property on behaviours instead of passing it in every time 2011-11-24 22:36:45 +00:00
Justin Clark-Casey (justincc) cbbd992df4 minor: remove mono compiler warning 2011-11-24 22:11:54 +00:00
Justin Clark-Casey (justincc) a58f5b2f66 When setting packet level logging via "debug packet", apply to all clients, not just root ones.
Also adds scene name and client type (root|child) to logged information.
2011-11-24 22:08:34 +00:00
Justin Clark-Casey (justincc) 0a60e9537f comment out a noisy log line I accidentally left in from the last commit 2011-11-24 21:30:40 +00:00
Justin Clark-Casey (justincc) 63c137820b Stop passing a request handler to the initial caps.RegisterHandler in EventQueueGetModule since this is immediatley replaced by a poll server handler.
This allows us to comment out a bunch of code and simplify the codebase and readability.
2011-11-24 21:27:35 +00:00
Justin Clark-Casey (justincc) 0174e326e3 Add a "debug eq" console command for debugging.
This will log outgoing event queue message names if turned on.
2011-11-24 20:27:11 +00:00
Justin Clark-Casey (justincc) decabe1181 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-11-24 20:22:17 +00:00
Justin Clark-Casey (justincc) bdcfd6afee Add disabled CrossBehaviour to pCampBot, which is designed to cross test bots between neighbouring regions.
Not yet enabled since there is a bug where the initial cross will work but all subsequent movements on the receiving simulator appear to fail.
2011-11-24 17:35:33 +00:00
Dan Lake 89b2fb2ff4 Append asset ID to URL for storage requests to allow caching proxies to work with Simian 2011-11-23 16:41:30 -08:00
Dan Lake 5485e3da46 Merge branch 'master' of git://opensimulator.org/git/opensim 2011-11-23 16:11:17 -08:00
Dan Lake 0cb33a5398 Line endings 2011-11-23 16:09:11 -08:00
Justin Clark-Casey (justincc) ed7ddeecf2 Print out what behaviours are active when pCampBot starts up 2011-11-23 22:18:10 +00:00
Justin Clark-Casey (justincc) d145750e87 Add teleport behaviour to pCampBot
This teleports the bot to any other regions +/- 5 on the x or y axis.
Quite aggressive at the moment since teleports keep occuring at a 1-10secs random interval.
No checking yet to see if teleport was successful.
2011-11-23 22:05:11 +00:00
Justin Clark-Casey (justincc) 1126efdcd0 In pCampbot, change "show status" command to "show bots" 2011-11-23 21:33:54 +00:00
Justin Clark-Casey (justincc) 9ae0641871 Rename Bot.BotManager to Manager 2011-11-23 21:33:10 +00:00
Justin Clark-Casey (justincc) e9f2a9bddb get pCampBot to extract nearby and store nearby region information 2011-11-23 21:19:10 +00:00
Justin Clark-Casey (justincc) 617f139aac Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-11-23 21:10:50 +00:00
Justin Clark-Casey (justincc) e394f83df0 Change random number generator property name in pCampbot 2011-11-23 18:00:41 +00:00
BlueWall 0738fc43e4 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-11-23 10:50:29 -05:00
BlueWall d4e3a7fe81 Shell Environment Variables in config
Adding updated Nini and support to use shell environment variables in OpenSimulator configuration.

  Nini @ https://github.com/BlueWall/Nini-Dev
2011-11-23 10:11:47 -05:00
Justin Clark-Casey (justincc) b56410285b Log error if we attempt to add/remove an OdeCharacter from the _characters list inappropriately 2011-11-22 22:46:25 +00:00
Justin Clark-Casey (justincc) ace4324e75 Stop removing actor from the hash maps in OdeScene.RemoveCharacter() since this is now being down in OdeCharacter.DestroyOdeStructures() 2011-11-22 22:37:06 +00:00
Justin Clark-Casey (justincc) af90b52731 Comment out uncalled OdeScene.UnCombine() 2011-11-22 22:28:46 +00:00
Justin Clark-Casey (justincc) fcb066cb5f Comment out unimplemented and uncalled RegionCombinerModule.UnCombineRegion() 2011-11-22 22:23:52 +00:00
Justin Clark-Casey (justincc) d639f7fdf3 minor: remove mono compiler warning 2011-11-22 22:16:09 +00:00
Justin Clark-Casey (justincc) b0fe0464af Stop an exception being thrown and a teleport/border cross failing if the desintation sim has no active script engines.
This involves getting IScene.RequestModuleInterfaces() to return an empty array (as was stated in the method doc) rather than an array containing one null entry.
Callers adjusted to stop checking for the list reference being null (which never happened anyway)
2011-11-22 22:13:57 +00:00
Justin Clark-Casey (justincc) daf99f8c0a slightly simplify OdeScene.Simulate() by removing bool processtaints, since we can inspect count of taint lists instead.
also groups OdeCharacter.CreateOdeStructures() and DestroyOdeStructures() together
2011-11-22 21:51:00 +00:00
Justin Clark-Casey (justincc) b89c48b1be Improve the error messages returned if the HelloNeighbour call fails.
This is the message a region sends to its neighbours when it comes up
2011-11-21 22:06:43 +00:00
Justin Clark-Casey (justincc) c4e4a29478 Slightly improve "Unable to space collide" logging message, though I don't think I've ever seen this. 2011-11-21 21:31:26 +00:00
Justin Clark-Casey (justincc) 4ddff7eb0f Get rid of OdeCharacter != null checks since OdeScene._characters can never contain a null character.
Ignoring the ancient code glyphs not to do this....
2011-11-21 21:29:56 +00:00
Justin Clark-Casey (justincc) 82dc7886fc remove unnecessary OdeScene._activeprims locking. Code is single-threaded 2011-11-21 21:15:15 +00:00
Justin Clark-Casey (justincc) 7480f2fd0e Restore defects list. In hindsight, the reason for this is becuase we can't remove the character whilst iterating over the list.
This commit also removes locking on OdeScene._characters since code is single threaded
2011-11-21 21:04:24 +00:00
Justin Clark-Casey (justincc) 546259b2ff simplify operation of OdeScene._perloopContact 2011-11-21 20:30:37 +00:00
Justin Clark-Casey (justincc) 25d9001de1 don't bother locking OdeScene._perloopContact in single threaded code 2011-11-21 20:17:36 +00:00
Justin Clark-Casey (justincc) e33b0fa35b don't lock OdeScene.contacts since only ever accessed by a single thread 2011-11-21 20:12:04 +00:00
Justin Clark-Casey (justincc) e67ba0ad06 rename ODECharacter.AvatarGeomAndBodyCreation() -> CreateOdeStructures() to match existing DestroyOdeStructures() 2011-11-21 20:01:34 +00:00
Justin Clark-Casey (justincc) 063f0f5d97 refactor: Eliminate one line ODECharacter.doForce() method for code clarity 2011-11-21 19:58:37 +00:00
Justin Clark-Casey (justincc) 225b925f4e Comment out calls to OdeScene.waitForSpaceUnlock() since that method does nothing right now 2011-11-21 19:48:31 +00:00
Justin Clark-Casey (justincc) 54789706f4 Reduce complexity of OdeScene.Simulate() by fully removing bad characters at point of detection rather than later on. 2011-11-21 19:45:22 +00:00
Justin Clark-Casey (justincc) 3becda919e move geom/actor map maintenance into DestroyODEStructures()/AvatarGeomAndBodyCreation().
This saves us having to do it separately when a character capsule size is changed
2011-11-21 19:31:29 +00:00
Justin Clark-Casey (justincc) 4faac1f090 When changing avatar size in ODE, remove the old actor from the name and actor maps 2011-11-21 19:06:53 +00:00
Justin Clark-Casey (justincc) 898904d83d When an ODECharacter is removed (e.g. when an avatar leaves a scene), remove the actor reference in OdeScene.actor_name_map rather than leaving it dangling.
This also largely centralizes adds/removes in OdeScene.AddCharacter()/RemoveCharacter()
2011-11-21 18:27:41 +00:00
Justin Clark-Casey (justincc) cead87005b Have ODECharacter and ODEPrim both use PhysicsActor.Name instead of maintaining their own properties 2011-11-21 18:06:04 +00:00
Justin Clark-Casey (justincc) 4fdcfd79e4 Actually remove PhysicsActor.SOPDescription this time 2011-11-21 17:55:54 +00:00
Justin Clark-Casey (justincc) 39c1ae2408 Chain SOP constructors together rather than having copy/paste code 2011-11-21 17:55:10 +00:00
Justin Clark-Casey (justincc) 58a1147870 refactor: Make SOP.Description an automatic property 2011-11-21 17:51:38 +00:00
Justin Clark-Casey (justincc) e0887944a0 Remove unused PhysicsActor.SOPDescription 2011-11-21 17:47:30 +00:00
Justin Clark-Casey (justincc) 4485007fce Instead of generating a new list for bad characters on every physics pass, keep reusing the same list. 2011-11-21 17:04:54 +00:00
Justin Clark-Casey (justincc) a94ce3f1df Move DeleteScriptsOnStartup switch from [Startup] to [XEngine] in OpenSim.ini.example.
If anybody was changing this and wondering why there was no effect, this is why.
2011-11-21 15:30:00 +00:00
Justin Clark-Casey (justincc) 2206e2fc96 Remove the "[LOCAL SIMULATION CONNECTOR]: Did not find region {0} for SendCreateChildAgent" message
This is misleading since a simulator will call this method before successfully trying remote regions.
Also comments out spammy "[SIMULATION]: Stream handler called" AgentHandlers messages for now.
2011-11-19 01:32:21 +00:00
Justin Clark-Casey (justincc) 726ca72c47 minor: Make HelloNeighbour messages more informative 2011-11-19 01:27:06 +00:00
Justin Clark-Casey (justincc) 10a23a823e Get rid of the spurious [WEB UTIL] couldn't decode <OpenSim agent 57956c4b-ff2e-4fc1-9995-613c6256cc98>: Invalid character 'O' in input string messages
These are just the result of an attempt to canonicalize received messages - it's not important that we constantly log them.
Also finally get the deregister grid service message working properly
2011-11-19 01:16:07 +00:00
Justin Clark-Casey (justincc) 21353de9b7 Enable v2/v3 map tile url setting on robust as default in config
This is necessary to see map tiles on v2/v3 viewers and appears to work fine
2011-11-19 00:34:56 +00:00
Justin Clark-Casey (justincc) b89534ad0a Remove mono compiler warnings. Fix problem with co-ordinate given in deregister region message 2011-11-19 00:34:13 +00:00
Justin Clark-Casey (justincc) d05d065d85 Improve some grid region log messages to express regions at co-ordinate (e.g. 1000, 1000) rather than meter positions (256000, 256000) 2011-11-19 00:29:52 +00:00
Justin Clark-Casey (justincc) 7a18078177 improve region deregistration log message 2011-11-19 00:10:29 +00:00
Justin Clark-Casey (justincc) 01ae916bad Don't register a region twice on both official registration and maptile regeneration.
Maptile storage appears orthogonal to region registration
2011-11-19 00:07:34 +00:00
justincc f72c4bdba5 Replace HttpServer_OpenSim.dll with Oren Hurvitz's patch applied.
This will hopefully address mantis 5471, 5694 and 5718.
This code is now in opensim-libs, along with Diva's slightly older patches (which were already applied to the DLLs in the opensim tree).
Thanks Oren!
2011-11-18 22:52:59 +00:00
Justin Clark-Casey (justincc) 9d458fdd7f Turn the [RegionReady] module on by default and login_disable = true while scripts are loading.
From field experience, we know that simulators can be unstable if a user logs in before the scripts have finished loading.
This commit turns login_disable = true in [RegionReady] on by default which prevents this from happening.
If you want the old behaviour, please copy these section from OpenSimDefaults.ini into OpenSim.ini and set login_disable = false
2011-11-18 21:31:23 +00:00
Justin Clark-Casey (justincc) 169387b390 Turn SellEnabled in the [EconomyModule] on by default.
This only provides enough functionality to allow operations for no money (e.g. sell for $0).
2011-11-17 23:53:25 +00:00
justincc 6dbe793112 Fix Windows build break 2011-11-17 23:10:58 +00:00
Justin Clark-Casey (justincc) 9c928e9dc6 For TerrainModule.SaveToFile(), don't bother throwing the exception onwards after printing out the error, since this method is invoked by users.
Still throwing the exception on the stream method since this invoked programatically
2011-11-17 22:15:46 +00:00
Justin Clark-Casey (justincc) 352672eaf2 Make "terrain save" more friendly by telling the user if we have saved and putting out a useful complaint message if we haven't for some reason 2011-11-17 22:13:32 +00:00
Justin Clark-Casey (justincc) cacc028835 If the entire simulator is shutting down then don't bother to unload the scripts from the appdomain in XEngine.
All the other actions (script state save, etc.) still occur.
This makes shutdown where there are many scripts vastly quicker.
2011-11-17 21:03:08 +00:00
Justin Clark-Casey (justincc) b6d83e9c0f Stop OdePrim and OdeCharacter insanely overriding set LocalID to set their own private m_localID property but leaving get to return the then unset PhysicsActor.LocalId!
Instead, just have both subclasses use the PhysicsActor.LocalID property.
This restores collision functionality that fell away in 45c7789 yesterday
2011-11-16 23:01:59 +00:00
Dan Lake bd01c4a5cb Call public ForEach instead of using m_entities directly. No semantic changes, just cleanup 2011-11-16 02:33:56 -08:00
Dan Lake baa65d4a15 In AddNewClient, iterator over copy of entities rather than copying under read lock 2011-11-15 17:09:17 -08:00
Justin Clark-Casey (justincc) e21949deaf Comment out the vebose logging on HGFriendsModule.
Recent issues in http://opensimulator.org/mantis/view.php?id=5794 were not related to HG friends
2011-11-16 00:26:54 +00:00
Justin Clark-Casey (justincc) 9488b235d1 Fix the build break 2011-11-16 00:10:55 +00:00
Justin Clark-Casey (justincc) 33b1e385ec Look up a homeURL only when it's not null, in addition to not being string.Empty 2011-11-16 00:01:21 +00:00
Justin Clark-Casey (justincc) 92dff85afb Enable log message to tell us what type of url is being requested from a user's homeurl 2011-11-15 23:38:24 +00:00
Justin Clark-Casey (justincc) 31ffd5450b Make tracked per scene thread names conform to the majorirty format.
This is <thread-name> (<region-name>)
2011-11-15 23:34:28 +00:00
Justin Clark-Casey (justincc) aea547cd11 fix build break on UserManagementModule.
This also adds time since started to "show threads".  Unfortunately these two changes got mixed in.
2011-11-15 23:24:51 +00:00
Justin Clark-Casey (justincc) 5b9fe4497d Do proper locking of UserManagementModule.m_UserCache when getting.
This might help with
[USER AGENT CONNECTOR]: new connector to  ()
[USER AGENT CONNECTOR]: Unable to contact remote server  for GetServerURLs
[USER AGENT CONNECTOR]: Malformed Uri : Argument cannot be null.
Parameter name: uriString
2011-11-15 23:12:41 +00:00
Justin Clark-Casey (justincc) 29eb3b2eb5 improve formatting of "show threads" 2011-11-15 22:51:12 +00:00
Justin Clark-Casey (justincc) ccae787d03 send a watchdog heartbeat for a poll worker thread when it's actually run 2011-11-15 22:20:44 +00:00
Justin Clark-Casey (justincc) 122304317c temporarily increasing logging in HGFriendsModule for debugging 2011-11-15 22:14:31 +00:00
Justin Clark-Casey (justincc) e11b9dddb6 distinguish between FriendsSimConnector and FriendsServiceConnector in log 2011-11-15 21:51:45 +00:00
Justin Clark-Casey (justincc) 7db38a351c Add number of milliseconds since last update to "show threads" 2011-11-15 21:49:13 +00:00
Justin Clark-Casey (justincc) 94b1c16398 Dont' bother with a userAgentService != null check right after we've constructed it 2011-11-15 20:37:49 +00:00
Justin Clark-Casey (justincc) 828e4a5b09 Add comments about trying to avoid synchronous work off the EventManager.OnMakeRootAgent event since this is on the critical path for transfer of avatars from one region to another. 2011-11-15 20:26:42 +00:00
Justin Clark-Casey (justincc) e16d7fe1da Instead of having scene add/remove collision events directly to the OdeScene collision event dictionary, marshall them via a change dictionary first.
This is to avoid a complicated tri-thread deadlock on region crossing for avatars with attachments, where
1) XEngine starting up scripts can lock XEngine.m_Scripts and then try to lock OdeScene._collisionEventPrim while starting up a script due to avatar border crossing
2) An existing collision event will lock OdeScene._collisionEventPrim and then try to lock SP.m_attachments while trying to send the collision event to attachments
3) The avatar still entering the region will lock SP.m_attachments and then try to lock m_Scripts to start more attachment scripts.
2011-11-15 20:02:09 +00:00
Justin Clark-Casey (justincc) 45c7789b54 use a more efficient dictionary in OdeScene._collisionEventPrim rather than a list 2011-11-15 19:42:33 +00:00
Justin Clark-Casey (justincc) a3c5f76942 Removed unused and mostly commented out SceneCommunicationService methods
As far as I can see, the SCS is only now used for informing neighbours of up/down status and possibly sending child agent updates and close requests
2011-11-15 18:16:43 +00:00
Justin Clark-Casey (justincc) affec18625 Remove prebuild reference to now gone PumaCode.SvnDotNet.dll 2011-11-15 17:40:13 +00:00
Justin Clark-Casey (justincc) 20f26eeb17 Remove unused RegionCommsListener/IRegionCommsListener.
All this is now being handled through IEntityTransferModule and SimulationService instead, and has been for some time.
2011-11-15 17:38:55 +00:00
Justin Clark-Casey (justincc) 64784bc0cf remove SceneCommunicationService.OnAvatarCrossingIntoRegion. This stuff is not being used any more - it's now IEntityTransferModule and SimulationService instead 2011-11-15 17:30:58 +00:00
Justin Clark-Casey (justincc) 430821d837 Rename FetchFriendslist() -> CacheFriends() and RefetchFriends() -> RecacheFriends() to reflect their intended function 2011-11-15 16:12:35 +00:00
Justin Clark-Casey (justincc) 2b5b4ac167 refactor: rename m_NeedsListOfFriends => m_NeedsListOfOnlineFriends to better reflect its actual function 2011-11-15 16:05:08 +00:00
Justin Clark-Casey (justincc) 50803dfe2c For clients that are entering a simulator from initial login, stop executing FriendsModule.FetchFriendslist() asychronously.
Executing this asynchronously allows a race condition where subsequent friends fetches hit a cache that FetchFriendsList() had not yet populated.
Changing this to synchronous may improve issues where a user does not see friends as online even though they are.
I don't believe synchronous is a problem here, but if it is, then a more complicated signalling mechanism is required.  Locking the cache isn't sufficient.
2011-11-15 15:57:53 +00:00
Justin Clark-Casey (justincc) 8d0aaa359f refactor: Don't create a new UUID for passing uuids to client - UUIDs are structs are so not passed by reference (and they're immutable!) 2011-11-15 15:05:10 +00:00
Justin Clark-Casey (justincc) 89632f3ea8 Add test for removing a friendship. 2011-11-14 20:56:56 +00:00
Dan Lake ed19284d85 Merge branch 'remove-scene-viewer' 2011-11-14 12:37:48 -08:00
Justin Clark-Casey (justincc) e5ff7f389b Improved method doc for AddFriend() - it actually does set up a two-way relationship.
Rename IFriendsModule.AddFriend() to AddFriendship()
2011-11-14 20:31:16 +00:00
Justin Clark-Casey (justincc) a64def8b73 minor: remove some mono compiler warnings 2011-11-14 18:16:14 +00:00
Justin Clark-Casey (justincc) 348d15707d Add test for adding a friend whilst online 2011-11-14 18:08:02 +00:00
Justin Clark-Casey (justincc) de895ee54a Add very simple FriendsModuleTests.TestNoFriends() 2011-11-14 17:18:51 +00:00
Justin Clark-Casey (justincc) ff36a1bc7b If a friends identifier which is too short is given to HGFriendsModule.GetOnlineFriends() then spit out a warning rather than failing on the String.Substring().
This is to progress http://opensimulator.org/mantis/view.php?id=5789
2011-11-14 16:06:06 +00:00
Justin Clark-Casey (justincc) 49ec85ae15 Do a ScenePresence null check in HGMessageTransferModule.SendIMToScene() to stop a NullReferenceException being thrown if an HG IM is sent to a simulator running multiple regions
This is an attempt to address http://opensimulator.org/mantis/view.php?id=5791
2011-11-14 15:24:02 +00:00
Dan Lake 5fd1749150 Remove SceneViewer from ScenePresence to reduce quadruple queueing of
prim update to only triple queuing. Existing method was:
1. Schedule prim for update, adding to scene update list
2. Update on SOGs during heartbeat queues update onto each SceneViewer
3. Update on SPs during heartbeat queues update onto each IClientAPI
4. ProcessEntityUpdates queues updates into UDP send stack

Now the SceneViewer has been eliminated so updates are scheduled at any
time and then put onto the IClientAPI priority queues immediately during
SceneGraph.UpdateObjectGroups.
2011-11-11 17:16:52 -08:00
Justin Clark-Casey (justincc) e61ea79c72 doh - correct build break 2011-11-12 00:27:43 +00:00
Justin Clark-Casey (justincc) f130e1a86f Add threads to the watchdog thread list before we start them.
Hopefully this wil make "WATCHDOG: Asked to update thread ## which is not being monitored" messages." go away.
2011-11-12 00:24:45 +00:00
Justin Clark-Casey (justincc) 25c32061e4 Make log messages on authentication failure more explicit 2011-11-11 23:45:08 +00:00
Justin Clark-Casey (justincc) 6adaf1be74 extract common ScenePresence setup code into Init() method for ScenePresenceSitTests 2011-11-11 23:36:35 +00:00
Justin Clark-Casey (justincc) 84ad23234b add SP.PhysicsActor checks to other sit/stand tests 2011-11-11 23:33:55 +00:00
Justin Clark-Casey (justincc) acaf6937c5 add sit and stand on ground test 2011-11-11 23:32:43 +00:00
Justin Clark-Casey (justincc) a3052e40ad extract ground sit code into SP.HandleAgentSitOnGround() for consistency with other sitting code. 2011-11-11 23:28:32 +00:00
Justin Clark-Casey (justincc) 6ce3daff94 Pick up the intended ConsolePrompt from [Startup] instead of console_prompt.
Addresses http://opensimulator.org/mantis/view.php?id=5786
2011-11-11 23:15:53 +00:00
Justin Clark-Casey (justincc) 2a2cdaa211 As with prim sitting avatars, make an avatar phantom when it sits on the ground and solid again when it stands.
This is to avoid http://opensimulator.org/mantis/view.php?id=5783 when a collision with a ground sitting avatar causes that avatar to automatically stand and sometimes not be able to move
A better solution may be to keep gound sitting avatars solid but remove their collision status.  However, this requires some physics code work.
2011-11-11 23:10:43 +00:00
Justin Clark-Casey (justincc) ce8441132e Restore sending of OutPacket() for object kills removed in commit c7dd7b1.
OutPacket() must be called within the m_killRecord lock.  Otherwise the following event sequence is possible
1) LLClientView.ProcessEntityUpdates() passes the kill record check for a particular part suspends before OutPacket()
2) Another thread calls LLClientView.SendKillObject() to delete the same part and modifies the kill record
3) The same thread places the kill packet on the Task queue.
4) The earlier thread resumes and places the update packet on the Task queue after the kill packet.
This results in a ghost part in the sim that only goes away after client relog.
This commit also removes the unnecessary m_entityUpdates.SyncRoot locking in SendKillObject.
2011-11-11 22:37:57 +00:00
Justin Clark-Casey (justincc) 2a7f4e0602 remove unncessary IClientAPI parameter from SP.SendSitResponse() 2011-11-11 21:53:00 +00:00
Justin Clark-Casey (justincc) b1cb4f5b04 As per mailing list last week, remove facility that would automatically move the avatar if prim with no sit target was out of sitting range.
Now, no movement occurs.
Note that you can still sit on a prim with an explicit sit target from any distance, as was the case before.
2011-11-11 21:42:58 +00:00
Justin Clark-Casey (justincc) a658bddbcd Bump warp sit distance up to 10 meters, as discussed on opensim-dev mailing list last week.
This means that if the avatar is within 10 meters of the selected target, it sits on it immediately without walking.
Existing autopilot outside this range will be disabled in a later commit
2011-11-11 19:59:12 +00:00
Justin Clark-Casey (justincc) 01518de0bf update minimum mono version 2011-11-11 19:43:42 +00:00
Justin Clark-Casey (justincc) 8f4955f6a9 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-11-11 19:40:31 +00:00
Justin Clark-Casey (justincc) dc200d7bb5 Add new ScenePresenceSitTests with a single sit/stand test 2011-11-11 19:38:36 +00:00
nebadon ad28238ece one more jenkins test! 2011-11-10 21:40:11 -07:00
nebadon 84ce0b487b one more test of jenkins! 2011-11-10 21:31:06 -07:00
nebadon 53528b0372 one more round with leeeeeeeeeeroy jaaaaaaenkins! 2011-11-10 21:22:07 -07:00
nebadon de24e93a1f take two on jenkins testing! 2011-11-10 20:58:38 -07:00
nebadon 621fb9aba0 test push to see if sir jenkins responds! 2011-11-10 20:54:33 -07:00
Dan Lake 10e664eedc Fix compile error from an earlier commit 2011-11-10 17:37:33 -08:00
Dan Lake 7432ca6daf Merge branch 'master' of git://opensimulator.org/git/opensim 2011-11-10 17:21:49 -08:00
Dan Lake 96c59156a7 In SOP, replaced many references to private members with the public properties 2011-11-10 17:21:37 -08:00
Melanie a5838cf0a6 Prevent linking objects while they are deeded. On unlinking deeded objects,
set LastOwnerID properly so the parts cannot be transferred, circumventing
no trans perms
2011-11-11 00:28:12 +00:00
Melanie 2bd4eaeb19 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-11-10 23:43:29 +00:00
Melanie 0daece6f2b Fix turn left and turn right properly. Works for both built-ins and LSL AOs 2011-11-10 23:42:48 +00:00
Dan Lake 8fbaa10ade Merge branch 'master' of git://opensimulator.org/git/opensim 2011-11-10 15:23:16 -08:00
Dan Lake 9359293b11 Cleaned UpdatePermissions calls on SOP and SOG to eliminate redundant properties packet sends and so one part is not telling a different part what to do. That should be up to the SOG to manage permissions on its parts and notify clients when one of them changes. 2011-11-10 15:20:21 -08:00
Melanie f5abae5ac6 Implement nudging support for strafing motion 2011-11-10 23:03:05 +00:00
Justin Clark-Casey (justincc) c0d280d948 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-11-10 22:58:24 +00:00
Justin Clark-Casey (justincc) 2d4ac6288d Alter commit 3758306 to allow region name to be substituted within a region console prompt
This is to allow broader subsitution in the future.  Currently, the only substitions are \R (for region name) and \\ (for a single backslash)
e.g. "Region (\R) " is the current and continuing default prompt
This renames custom_prompt in [Startup] to ConsolePrompt
2011-11-10 22:56:13 +00:00
Dan Lake f3fea81936 Merge branch 'master' of git://opensimulator.org/git/opensim 2011-11-10 14:09:53 -08:00
Dan Lake 18c625bda6 When updating SOG, a physics taint should not override a full update with a terse update 2011-11-10 14:09:35 -08:00
Justin Clark-Casey (justincc) b990914ec4 convert tabs from commit 3758306 to spaces 2011-11-10 21:04:12 +00:00
Melanie 444b345cdf Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-11-10 20:54:44 +00:00
Melanie 48d2300b8a Fix misaligned sit animation on scripted sit caused by the default sit
animation being run after the scripted one.
2011-11-10 20:54:15 +00:00
Justin Clark-Casey (justincc) 9cba179dff launch pCampbot shutdown console comand asynchronously 2011-11-10 20:03:36 +00:00
Justin Clark-Casey (justincc) f31a58bd99 Remove unused index parameter from BotManager.startupBot(). Rename startupBot() => StartBot() 2011-11-10 19:40:45 +00:00
BlueWall ce4560bf8f Add GuduleLapointe to list of contributors
Thanks for the patches!
2011-11-10 07:26:16 -05:00
GuduleLapointe 37583063ee Allow custom setting for the console prompt
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-11-10 06:56:32 -05:00
Justin Clark-Casey (justincc) 4f6915bad5 minor: Correct misleading method doc on SOG.UpdateRootRotation() 2011-11-09 21:49:08 +00:00
Justin Clark-Casey (justincc) bbab7b6b4d Use IsConnected status to determine whether all pCampBots have disconnected, rather than maintaining a separate count
Checking IsConnected is more reliable.
2011-11-09 21:23:23 +00:00
Justin Clark-Casey (justincc) 674b521fdd In pCampBot, don't try and pull down Primitive faces or sculpts set to null 2011-11-09 20:21:48 +00:00
nebadon d9b0d7e752 one final attempt and then im giving up on panda!!!!! 2011-11-07 19:03:09 -07:00
nebadon 4f7fe58af8 yet another feeble attempt at understanding panda shmanda! 2011-11-07 18:15:21 -07:00
nebadon 554d2ddc03 another shot at making panda use mono 2.4.3!! 2011-11-07 17:49:05 -07:00
nebadon 5d8205f170 another panda test for good measure! 2011-11-07 17:39:08 -07:00
nebadon c081d7b7dd This is a test to make sure new mono is being used with panda! 2011-11-07 17:09:32 -07:00
Justin Clark-Casey (justincc) 7e488cd635 Remove unused avariable in PollServiceRequestManager 2011-11-07 23:24:13 +00:00
Justin Clark-Casey (justincc) 39b967e214 Correct test failure in sit position check of TestSitAndStandWithNoTarget()
Curiously, a Vector3.ToString() will not display the last two places of the float.  In this case, the failure of
the assertion would confusingly report Expected: <0, 0, 0.8454993> But was:  <0, 0, 0.8454993> when actual Z figure is 0.845499337
Should fully address http://opensimulator.org/mantis/view.php?id=5779
2011-11-07 22:53:52 +00:00
Melanie 6d92d65140 That such a trivial change can be so difficult to get right. Fix it this time. 2011-11-07 02:40:35 +00:00
Melanie e775b3fc47 Fix build break 2011-11-07 02:03:17 +00:00
Melanie 67780b00f0 Fix up failing test to compensate for changed sit target offset 2011-11-06 21:47:12 +00:00
Melanie 559e6e52f5 Make the AsyncSceneObjectDeleter send a list of kills. This will make large
marquee-selected deletions of single prims or small link sets nearly
instantaneous
2011-11-06 20:43:49 +00:00
Melanie c7dd7b13a2 Convert SendKillObject to take a list of uint rather than sending one
packet per prim. More to come as we change to make use of this.
2011-11-06 20:38:07 +00:00
Melanie fa992a020c Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-11-06 20:00:47 +00:00
Melanie 0bf757e42b Allow HG and other scene presences not linked to a user account to function. 2011-11-06 20:00:03 +00:00
Snoopy Pfeffer 927561383e HUD attachments: Removes some more messages sent to wrong clients. 2011-11-06 17:43:39 +01:00
Snoopy Pfeffer dfbfc9826a Damaged assets, especially appearance textures, could crash the region server with a fatal exception.
Now, such excpetions are caught by an exception handler and just an error message is shown.
This was the kind of exception causing these fatal server crashes:

  APPLICATION EXCEPTION DETECTED: System.UnhandledExceptionEventArgs^M
  ^M
  Exception: System.ArgumentOutOfRangeException: Argument is out of range.
  Parameter name: offset exceeds the size of buffer
    at System.Net.Sockets.NetworkStream.BeginRead (System.Byte[] buffer, Int32 offset, Int32 size, System.AsyncCallback callback, System.Object state) [0x00000] in <filename unknown>:0
    at HttpServer.HttpClientContext.OnReceive (IAsyncResult ar) [0x00000] in <filename unknown>:0 ^M
  ^M
  Application is terminating: True^M
2011-11-06 15:05:19 +01:00
Melanie bd10d14bbd Fix build break 2011-11-05 23:12:00 +00:00
Melanie bbbcdaa462 Remove spammy autopilot debug 2011-11-05 22:54:47 +00:00
Melanie 01b6a4b62e Remove some left over debug and reverse experimental reordering of ifs 2011-11-05 22:46:45 +00:00
Melanie 4d3926694d Remove enableprejump config option and associated code as this is now
fully functional and cannot be disabled because that would break timings.
2011-11-05 22:43:45 +00:00
Melanie 71388fc02a Porting the ScenePresenceAnimator from Avination. Jump and fall anims now work
properly.
2011-11-05 22:41:00 +00:00
Melanie ac3254a5f5 Change puvlic m_ variable to a getter property 2011-11-05 21:43:35 +00:00
Melanie 2dc452b4a7 ScenePresence part of the Avination animator fixes. 2011-11-05 21:41:16 +00:00
Melanie b6df9e9fe4 Chnaging the sit target adjustment to a more precise approximation of SL. Some small
fixes ported from Avination. Some white space fixes.
2011-11-05 21:24:36 +00:00
nebadon e8a8e462ed add myself to the contributors.txt 2011-11-05 03:03:57 -07:00
nebadon e182cc198d Fix avatar height, removes the hip offset hack
Author: Mana Janus <mana@mjm-labs.com>
2011-11-05 02:56:52 -07:00
nebadon 4797ed6edd Multiple lines in welcome message use '\n' in the welcome message to
start a new line.
2011-11-05 02:42:21 -07:00
nebadon f0d2fcfbe9 add Mana Janus and SpotOn3D to contributors.txt last patch was courtesy
of Mana Janus I failed to mention that, sorry!
2011-11-05 02:35:19 -07:00
nebadon e3885625a0 Don't rotate child prims, if only the root prim is rotated. 2011-11-05 02:26:25 -07:00
Justin Clark-Casey (justincc) cfce2529ad refactor: In sit code, compare against Vector3.Zero and Quaternion.Identity instead of individual components of a vector/quat 2011-11-05 02:04:48 +00:00
Justin Clark-Casey (justincc) 8105794121 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-11-05 01:42:20 +00:00
Justin Clark-Casey (justincc) 28c4dc9be4 Fix NPC sitting for prims without a sit target.
This is to partially address http://opensimulator.org/mantis/view.php?id=5769
We don't need to call SP.HandleAgentSit() again if we are within 10m since the autopilot won't trigger.
By calling it twice, the position of the sitting NPC was wrongly adjusted, ending up near <0,0,0>.
However, this change does mean that NPCs further than 10m away will not attempt to autopilot to the prim, though this code was broken anyway (is actually a different mechanism to normal NPC movmeent).
Hopefully this can be addressed soon.
2011-11-05 01:38:42 +00:00
Melanie b199aad037 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-11-05 00:11:10 +00:00
Melanie c803ed28c3 Replacing te linking code with the code from Avination. Link sets prims are now
numbered properly even when sets are linked to sets.
2011-11-05 00:09:37 +00:00
Justin Clark-Casey (justincc) f7b8c54c24 Add comment for experimental effect of removing the Thread.Sleep(20) in ODEPrim.changevelocity() 2011-11-04 23:43:17 +00:00
Justin Clark-Casey (justincc) d7815ace4a On standup, trigger the changed link script event after the avatar has been fully changed.
This was meant to help with the script in http://opensimulator.org/mantis/view.php?id=5772 but it doesn't work.
Probably the event is fired before the physics actor has been set up again for the stood avatar.
Fixing that would be much more complicated, but processing the event last of all seems like a good idea in any case.
2011-11-04 23:24:22 +00:00
Justin Clark-Casey (justincc) ccca6ba935 Stop llPushObject() from causing problems by adding force via a taint rather than directly.
This isn't a perfect solution since there can be a race between the taint processing and taint setting, as force needs to be reset after processing.
Needs careful locking in the future.
2011-11-04 23:12:01 +00:00
Dan Lake b8d50b10fb Rename ForEachAvatar back to ForEachScenePresence. The other changes
from previous commit which sort out which iterator is used are left
intact. A discussion is needed as to what constitutes an avatar vs a
ScenePresence.
2011-11-03 17:53:51 -07:00
Dan Lake 94dc7d07eb Renamed ForEachRootScenePresence to ForEachAvatar. Cleaned up calls to
the 3 iteration functions so more of them are using the correct
iteration for the action they are performing. The 3 iterators that seem
to fit all actions within OpenSim at this time are:

ForEachAvatar: Perform an action on all avatars (root presences)
ForEachClient: Perform an action on all clients (root or child clients)
ForEachRootClient: Perform an action on all clients that have an avatar

There are still a dozen places or so calling the old
ForEachScenePresence that will take a little more refactoring to
eliminate.
2011-11-03 17:06:08 -07:00
Justin Clark-Casey (justincc) 69a4057135 remove the pointless check of the face texture struct against null in Bot.Objects_NewPrim() 2011-11-03 22:52:14 +00:00
Justin Clark-Casey (justincc) e4bdf1e78f actually remove the sleep from PhysicsBehaviour that I shifted to Bot a couple of commits ago 2011-11-03 22:50:40 +00:00
Justin Clark-Casey (justincc) f26fdbd8da Rename PhysicsBot => Bot since it doesn't just exercise physics anymore 2011-11-03 22:39:06 +00:00
Justin Clark-Casey (justincc) ca2c25ece2 Move one of the old physics sleeps out into the main bot loop, so leaving out PhysicsBehaviour doesn't result in continuous other behaviours 2011-11-03 22:35:21 +00:00
Justin Clark-Casey (justincc) 5a67940acc Add click/grab behaviour to pCampbot, which gets bots to randomly click things.
This can be specified on pCampbot.exe by using g in the list of behaviours for the new -behaviours,-b switch
e.g. -b p,g to get both existing physics and grabbing behaviours.
grabbing is primitive, it attempts grabs on random prims whether they're actually signalled as clickable or not.
behaviour is currently primitive overall, behaviours are just executed in a list
2011-11-03 22:31:31 +00:00
Justin Clark-Casey (justincc) 3ea379e4cd Move PhysicsBehaviour into a spearate behaviours folder 2011-11-03 21:25:27 +00:00
Justin Clark-Casey (justincc) 66c60c56a0 Separate out physics testing actions into a separate PhysicsBehaviour class 2011-11-03 21:16:24 +00:00
Justin Clark-Casey (justincc) a62ccb5c4c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-11-03 20:12:10 +00:00
Mic Bowman 40a1eddfd1 Drop the CopyTo parameter from Int32.MaxValue to 4096. This is a buffer size
not a target size. Mono 2.10 appears to try to allocate the full buffer which
immediately crashes. Tested on mono 2.6.7 and 2.10.5
2011-11-02 18:55:54 -07:00
Melanie 6b4ae4f30c Revert "fix CopyTo call that was breaking under mono 2.10"
This reverts commit d30971fdc2.
2011-11-03 00:23:32 +00:00
Mic Bowman 99a347ee11 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-11-02 17:11:10 -07:00
Mic Bowman d30971fdc2 fix CopyTo call that was breaking under mono 2.10 2011-11-02 17:10:59 -07:00
Melanie e746840226 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-11-02 23:51:48 +00:00
Melanie 08fcf958c2 Port the Avination offline messaging system to Core 2011-11-02 23:50:47 +00:00
Dan Lake a724ebacd7 Merge branch 'master' of git://opensimulator.org/git/opensim 2011-11-02 14:59:34 -07:00
Dan Lake e2c51a977d Changes UpdateFlag in SOP to an enumeration of NONE, TERSE and FULL.
UpdateFlag is now referenced/used only within SOP and SOG. Outsiders are
using ScheduleFullUpdate, ScheduleTerseUpdate or ClearUpdateSchedule on
SOP consistently now. Also started working toward eliminating those
calls to ScheduleFullUpdate, ScheduleTerseUpdate or ClearUpdateSchedule
from outside SOP in favor of just setting properties on SOP and let SOP
decide if an update should be scheduled. This consolidates the update
policy within SOP and the client rather than everywhere that makes
changes to SOP. Some places forget to call update while others call it
multiple times, "just to be sure".

UpdateFlag and Schedule*Update will both be made private shortly.

UpdateFlag is intended to be transient and internal to SOP so it has
been removed from XML serializer for SOPs.
2011-11-02 14:59:00 -07:00
Justin Clark-Casey (justincc) 59232a6ea8 Change default say distance to 20m from 30m, the same as on the big grid. This is to improve the migration of scripts that expect a 20m say distance.
If you want to keep a 30m say distance then please set this as the say_distance parameter in the [Chat] section of OpenSim.ini.
2011-11-02 20:05:31 +00:00
Justin Clark-Casey (justincc) 72923134e9 Get some hopefully more useful exception information when OpenJPEG.EncodeFromImage() fails in VectorRender and DynamicTexture modules 2011-11-02 18:40:49 +00:00
Justin Clark-Casey (justincc) 03993d0b14 Fix race condition that would sometimes send or save appearance for the wrong avatar.
In AvatarFactoryModule.HandleAppearanceUpdateTimer(), we loop through appearance save and send requests and dispatch via a FireAndForget thread.
If there was more than one request in the save or send queue, then this led to a subtle race condition where the foreach loop would load in the next KeyValuePair before the thread was dispatched.
This gave the thread the wrong avatar ID, leaving some avatar appearance cloudy since appearance data was never sent.
This change loads the fields into local references so that this doesn't happen.
2011-11-02 18:25:03 +00:00
Justin Clark-Casey (justincc) b6873a7b5d Catch any exceptions exiting the top of the robust console, as we already do for the main simulator.
This prevents issues such as transient mono console problems from crashing the server.
2011-11-02 13:16:02 +00:00
Melanie c5fb39e21f Restore the recursive calling of PRIM_LINK_TARGET because the version I made
breaks LINK_SET et al.
2011-11-02 12:09:18 +00:00
Melanie 1b9ae3fb51 Some positioning fixes from AVN trunk 2011-11-02 12:02:44 +00:00
Melanie b9e700b60d Streamline PRIM_LINK_TARGET, eliminating a recursion and a failure scenario 2011-11-02 11:43:16 +00:00
Dan Lake 7c8bfac11b Removed redundant SceneContents property from Scene. It's the same as SceneGraph property. 2011-11-01 17:20:12 -07:00
Dan Lake 3bead3eb50 Part 2 of see_into_this_sim_from_neighbor configuration option removal 2011-11-01 17:11:43 -07:00
Dan Lake 4b58d4ff95 Removed see_into_this_sim_from_neighbor configuration option. 2011-11-01 16:51:14 -07:00
Justin Clark-Casey (justincc) 9456a540c5 Add "appearance send" command to allow manual sending of appearance. 2011-11-01 23:23:45 +00:00
Justin Clark-Casey (justincc) 8e2e4c47d9 Add "show status" command to pCambot 2011-11-01 22:09:21 +00:00
Justin Clark-Casey (justincc) 40750b44a0 Listen only for non SimShutdown Network.Disconnect firing so that we don't quite the program before all bots have actually logged off. 2011-11-01 21:47:14 +00:00
Justin Clark-Casey (justincc) 53f3b76a84 get rid of unused m_verbose field 2011-11-01 21:18:28 +00:00
Justin Clark-Casey (justincc) 12bd0ebd34 stop recording the threads on which we happen to start bots. These are pointless since they terminate quickly 2011-11-01 21:15:47 +00:00
Justin Clark-Casey (justincc) 9ef5107157 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-11-01 21:02:03 +00:00
Justin Clark-Casey (justincc) 87ec8a4ecb Retain a reference to an action thread rather than starting an infinite loop via a timer, so that we can actually abort the action thread on shutdown 2011-11-01 18:36:29 +00:00
Dan Lake 9d214d4903 Merge branch 'master' of git://opensimulator.org/git/opensim 2011-10-31 16:42:50 -07:00
Dan Lake 3c55f3015f Removed unused show commands from Scene.cs and SceneBase.cs. The show modules command in OpenSim.cs now shows both shared modules and region modules. 2011-10-31 16:42:28 -07:00
Justin Clark-Casey (justincc) b951c7fb1e Make bots share a cache so that asset downloads attempts are only made once instead of once for each bot 2011-10-31 23:22:55 +00:00
Justin Clark-Casey (justincc) 210868a832 Remove OpenSim.TestSuite
Hasn't been touched since 2009 and wasn't more than another copy of pCampBot
2011-10-31 23:10:10 +00:00
Justin Clark-Casey (justincc) d366a08ebb Stop individual bots attempting to download the same asset more than once 2011-10-31 22:52:49 +00:00
Justin Clark-Casey (justincc) 0c6509098a Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-31 22:27:35 +00:00
Justin Clark-Casey (justincc) 43e07efbc8 Fix bot disconnection 2011-10-31 22:27:12 +00:00
Dan Lake 3a2dcc7298 Merge branch 'master' of git://opensimulator.org/git/opensim 2011-10-31 15:21:39 -07:00
Dan Lake d3153f47fa Adding green dots to map response should be for root agents only 2011-10-31 15:20:57 -07:00
Justin Clark-Casey (justincc) b1647f6d04 adjust pCampbot so it starts up bots with the name format "<firstname> <lastname>_<bot-number>"
e.g. starting up two bots called "Ima Bot" will give them the names "Ima Bot_0" and "Ima Bot_1"
This is necessary since bots with random names can no longer be created, as there's no easy way to turn off account authentication
2011-10-31 22:14:49 +00:00
Justin Clark-Casey (justincc) 74cc834fec Remove unused PumaCode.SvnDotNet library 2011-10-31 21:37:35 +00:00
Justin Clark-Casey (justincc) e3f51df3c2 Stop pCampbot from firing connected event twice, which results in double counting. 2011-10-31 21:33:25 +00:00
Melanie a9a24062a5 Plug a security hole in the inventory service 2011-10-31 11:11:36 +00:00
Dan Lake 14646f2524 Fix line endings 2011-10-30 23:43:17 -07:00
Dan Lake a85ff884d9 Experimental reorder of Heartbeat loop now simulates physics and sends updates to clients prior to sleep. Existing behavior was to sleep BEFORE sending updates. We found this patch reduced latency to clients by 1-2 heartbeat periods. 2011-10-30 23:39:39 -07:00
Justin Clark-Casey (justincc) 9bdf118e0d Add missing max_listens_per_region to [LL_Functions] config section in OpenSimDefaults.ini + explanation.
This setting controls the maximum number of listeners in a region
2011-10-29 02:45:50 +01:00
Justin Clark-Casey (justincc) 6d97545b6b Remove the SyncRoot locking from Scene which was only being done around the main physics loop and ScenePresence position and velocity setting
This is no longer necessary with ODECharacter taints (ODEPrim was already not taking part in this).  BSCharacter was already tainting.
2011-10-29 02:42:53 +01:00
Justin Clark-Casey (justincc) 9fdd1753fa Add taint target velocity for ODECharacters as is already done for ODECharacter position and position and velocity for ODEPrims.
This is to help stop surprises if the velocity is set in the middle of physics calculations, though this probably isn't a huge problem.
It's more for consistency and for the next step of removing some scene locks
2011-10-29 02:30:33 +01:00
Justin Clark-Casey (justincc) ef8370fb8e tidy up OdeCharacter so that we just use OpenMetaverse.Vector3 assignment directly where possible, instead of transferring X, Y and Z components separately
some of this is probably a hold over from using ODE.Vector3, which is still necessary in some places.
2011-10-29 02:07:28 +01:00
Justin Clark-Casey (justincc) a5ea9f8830 Move position set from taint to logically better position at top of ODECharacter.ProcessTaints() though this makes no practical difference 2011-10-29 01:46:22 +01:00
Justin Clark-Casey (justincc) 5ae8de3c00 Stop setting _position as well as m_taint_position in ODECharacter.Position
setting position at the same time as taint appears to undermine the whole purpose of taint
testing doesn't reveal any obvious regressions in doing this
2011-10-29 01:39:48 +01:00
Justin Clark-Casey (justincc) 61e97ee4c8 Remove completely unused SOG.Rotation parameter
We always use SOP.Rotation instead
2011-10-29 00:39:01 +01:00
Justin Clark-Casey (justincc) c2da1c4580 set grp.RootPart.GroupPosition for code consistency (and readability) rather than calling SOP.OffsetForNewRegion 2011-10-28 23:43:31 +01:00
Justin Clark-Casey (justincc) 9bf8c3e7b7 Add missing doc to rotation/position methods in SOG 2011-10-28 23:38:57 +01:00
Justin Clark-Casey (justincc) 0fe756e42c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-28 23:16:46 +01:00
Justin Clark-Casey (justincc) 7b46506822 fetch SOP.RotationOffset once in UpdateRotation() and compare rather than fetch four separate times.
No functional change.
2011-10-28 23:15:51 +01:00
Dan Lake 272bf71279 Removed use of 'is' operator and casting to find the root ScenePresence in MessageTransfer modules and Groups module. 2011-10-27 02:26:37 -07:00
Dan Lake 06577d7299 Continuation of previous checkin. Found more places where ForEachScenePresence can be changed to ForEachRootScenePresence. 2011-10-27 01:25:12 -07:00
Dan Lake b98613091c Added new ForEachRootScenePresence to Scene since almost every delegate passed to ForEachScenePresence checks for !IsChildAgent first. It consolidates child and root handling for coming refactors. 2011-10-27 00:42:21 -07:00
Justin Clark-Casey (justincc) 40bee97015 For now, comment out error message on new script engine console commands.
This causes false positives if a simulator has more than 1 region and the current region is 'root' since this sends the command separately to each region and each region has its own XEngine
2011-10-27 03:01:27 +01:00
Justin Clark-Casey (justincc) 76c50d23f2 Comment out inventory folder bulk update code on InventoryAccepted message introduced in commit db91044 on Aug 22 2011
This should be unecessary since the folder update is already made at the time of the offer (and moved to trash if not accepted).
This code was also not taking into account the situation where an item was accepted.
Needs more fixing if this results in an aggression elsewhere.
2011-10-27 02:56:08 +01:00
Justin Clark-Casey (justincc) e210d95821 Don't blow our brains out if LLClientView.BulkInventoryUpdate() is wrongly passed a null node reference.
Addresses worst aspect of http://opensimulator.org/mantis/view.php?id=5752
2011-10-27 02:50:58 +01:00
Justin Clark-Casey (justincc) 2db6a8ce8f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-27 02:06:59 +01:00
Justin Clark-Casey (justincc) 820242bc49 Fix a bug I introduced yesterday in ODE physics where prim scripts would only receive the very first collision. 2011-10-27 02:05:59 +01:00
BlueWall 4a472b74c7 Merge branch 'master' of /home/opensim/var/repo/opensim 2011-10-26 10:38:21 -04:00
Michelle Argus 41395d5443 Added optional owner classes to existing OSSL agent Permissions
PARCEL_GROUP, PARCEL_OWNER, ESTATE_MANAGER and REGION_OWNER can be combined with the existing agent uuid option to limit ossl functions to agents and owner classes.

Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-10-26 10:35:50 -04:00
BlueWall ae8786ea6b Merge branch 'master' of /home/opensim/src/OpenSim 2011-10-26 08:48:46 -04:00
SignpostMarv Martin 9a28e7a4e0 Implementation of PRIM_OMEGA, but only for setting
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-10-26 08:41:07 -04:00
BlueWall 66bdd20628 Add some things to .gitignore to make the status cleaner 2011-10-26 08:33:17 -04:00
SignpostMarv Martin 059f4b6a3a Implementing PRIM_LINK_TARGET, but only for setting params
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-10-26 07:47:44 -04:00
Justin Clark-Casey (justincc) c275c22928 Restart the event queue worker threads that I accidentally disabled earlier today in 8a0a78c.
Also adds these to the watchdogs with very large timeouts (should really be infinite)
2011-10-25 23:26:21 +01:00
Justin Clark-Casey (justincc) 182908d216 In Watchdog, add ability to specific timeout for a thread.
This also changes the point of registration to the StartThread() call rather than the first Update()
2011-10-25 23:16:01 +01:00
Justin Clark-Casey (justincc) e549f2f443 Add m_threads dictionary locking to Watchdog.GetThreads() 2011-10-25 22:51:23 +01:00
Justin Clark-Casey (justincc) 6a74a4c12b Clear OdeCharacter CollisionEventUpdate when we subscribe or unsubscribe from collision events 2011-10-25 22:46:42 +01:00
Justin Clark-Casey (justincc) 0f83f87233 Remove unused fields from CollisionEventUpdate 2011-10-25 22:39:08 +01:00
Justin Clark-Casey (justincc) c825c9a945 Get rid of the pointless null checks on collision listeners. Add warning about synchronicity for PhysicsActor.OnCollisionUpdate event doc 2011-10-25 22:35:00 +01:00
Justin Clark-Casey (justincc) b9f106f484 When sending object collision updates, don't null out and recreate the CollisionEventUpdate() if the number of collisions falls to zero. Reuse the existing one instead. 2011-10-25 22:28:40 +01:00
Justin Clark-Casey (justincc) 5d37f0471e For ScenePresence collision events, instead of creating a new CollisionEventsThisFrame every time we need to send some new ones, reuse the existing one instead.
This assumes that the listener is using the data synchronously, which is currently the case.
2011-10-25 22:19:17 +01:00
Justin Clark-Casey (justincc) 7b6b36cee9 Fix bug where collision event listeners were not removed once the listener had gone away.
This was causing continuous use of temporary memory even when all avatars had left the scene.
Memory does leak but it does cause more calls to the garbage collector, which would pause the scene thread for a very short while during collection.
2011-10-25 21:40:51 +01:00
Justin Clark-Casey (justincc) 1fbb379536 minor: rename a parameter in OdeScene.Simulate() from actor -> prim since it's an OdePrim 2011-10-25 21:15:37 +01:00
Justin Clark-Casey (justincc) ee4c4e5058 Add new LindenCaps test dll to panda run as well as "nant test" 2011-10-25 21:03:41 +01:00
Justin Clark-Casey (justincc) a4d4f54848 minor: add "threads show" as synonym for "show threads" for consistency 2011-10-25 20:59:27 +01:00
Justin Clark-Casey (justincc) 968cae6c17 Add "threads abort <thread-id>" simulator console command that allows us to abort a watchdog managed thread.
This is for diagnostic purposes.
2011-10-25 20:49:46 +01:00
Justin Clark-Casey (justincc) 8a0a78cbcc Make OpenSim.Framework.Servers.HttpServer rely on OpenSim.Framework instead of the other way around.
This is necessary so that code in HttpServer can use framework facilities such as the thread watchdog for monitoring purposes.
Doing this shuffle meant that MainServer was moved into OpenSim/Framework/Servers
Also had to make OpenSim.Framework.Console rely on OpenSim.Framework rather than the other way around since it in turn relies on HttpServer
MainConsole and some new interfaces had to be moved into OpenSim/Framework to allow this.  This can be reverted if parts of OpenSim.Framework stop relying on console presence (cheifly RegionInfo)
2011-10-25 20:24:21 +01:00
Justin Clark-Casey (justincc) e14cb45b9b Drop some unnecessary ContainsKey() checking before Remove() in BaseHttpServer()
Remove() presumably does this check anyway since it just returns false if the key is not in the collection.
2011-10-24 23:26:41 +01:00
Justin Clark-Casey (justincc) 9ec672c70b Fix bugs in EventQueueGetModule.ClientClosed() and BaseHttpServer.RemovePollServerHTTPHandler() that stopped existing code in ClientClosed() from actually tearing down the poll handler
Actually doing the tear down appear to have no ill effects with region crossing and teleport.
2011-10-24 23:16:03 +01:00
Justin Clark-Casey (justincc) 79d5bc9beb separate out future common setup code from EventQueueTests.AddForClient() 2011-10-24 22:29:13 +01:00
Justin Clark-Casey (justincc) 48295793b0 re-enable running linden udp tests in local.include, though no tests are currently active there 2011-10-24 22:25:38 +01:00
Justin Clark-Casey (justincc) e28e2d24c7 Add new EventQueueTests with basic test to check that adding a client registers an http poll 2011-10-24 22:23:41 +01:00
Justin Clark-Casey (justincc) 4c9400e646 Add optional getauthinfo and setauthinfo authentication service calls.
These are disabled by default, as before.  Please only turn these on in secure grids, since they allow the same facilities as the existing SetPassword call (also disabled by default)
These facilities can be helpful when integrating external systems, in addition to the existing option of adapting an IAuthenticationService or using WebLoginKey
2011-10-24 21:40:36 +01:00
Justin Clark-Casey (justincc) b868328d51 Comment out the uuid gatherer lines that I accidentally left in. 2011-10-23 03:14:32 +01:00
Pixel Tomsen c2272a755f Fix missing Busy-Mode Response
http://opensimulator.org/mantis/view.php?id=5748
2011-10-22 13:17:07 -04:00
BlueWall 3fc47275cf Add case to Lightshare/Windlight
Thanks thomax for a patch to add handling for Sun/Moon pos.
2011-10-22 13:06:34 -04:00
Justin Clark-Casey (justincc) 655aee44c4 Rename some of the example commented out server names to mygridserver.com like all the others.
This is to make it easier to change all these names at once, where all grids services are running from the same location.
Also rearranges some lines in [Modules] so that StandaloneCommon.ini.example and GridCommon.ini.exmaple are consistent.
2011-10-22 02:51:41 +01:00
Justin Clark-Casey (justincc) 229ca09b79 Make config comments about choosing assetcache modules clearer.
OpenSim needs an asset cache.  Running without one will cause problems.
Thanks to Ai Austin for the suggestions in http://opensimulator.org/mantis/view.php?id=4850
2011-10-22 02:47:53 +01:00
Justin Clark-Casey (justincc) ffdf59a57c Get UUIDGatherer to scan notecards in the graph for asset uuids.
This is to support npc baked texture saving in oars and iars.
May address http://opensimulator.org/mantis/view.php?id=5743
2011-10-22 02:16:46 +01:00
Justin Clark-Casey (justincc) 30320505fa redirect UserInventoryHelpers to use a different CreateNotecardAsset() so we can comment out some inconsistency 2011-10-22 00:58:56 +01:00
Justin Clark-Casey (justincc) bc2da4eaad correct misleading method doc on CreateNotecardAsset() 2011-10-22 00:55:50 +01:00
Justin Clark-Casey (justincc) c4f8da7359 in AssetHelpers, store the actual text passed in to the method, not the string "data" 2011-10-22 00:45:47 +01:00
Justin Clark-Casey (justincc) 5d7eaedbeb encode notecard assets in proper format for tests, rather than just using whatever string is given 2011-10-22 00:21:45 +01:00
Justin Clark-Casey (justincc) 9b3bbedeea refactor: rename some AssetHelpers.CreateAsset() methods to CreateNotecardAsset() 2011-10-22 00:13:46 +01:00
Michelle Argus a1f05a289d RemoteAdmin - Added optional terrain loading on region create using parameter heightmap_file to specify the terrain file to be loaded 2011-10-21 23:12:01 +01:00
Justin Clark-Casey (justincc) 4241ee5dfa very minor removal of old commented out line of code in OdeScene 2011-10-21 00:04:36 +01:00
Justin Clark-Casey (justincc) 30fe66d3ab remove unnecessary null check on _collisionEventPrim 2011-10-20 20:58:29 +01:00
Justin Clark-Casey (justincc) 9c43020876 Get OdeScene to use passed in time step rather than hard-coded 0.089
However, I still don't recommend changing MinFrameTime from 0.089, high values do not work well and lower values don't seem to make much difference
2011-10-20 20:48:51 +01:00
Justin Clark-Casey (justincc) 6837e44d07 Pass PhysicsScene.Simulate() only the MinFrameTime rather than the useless Math.Max(SinceLastFrame.TotalSeconds, MinFrameTime)
SinceLastFrame was calculating the interval between any sleep that had occurred to pad out the frame time and the start of the next frame.
This would usually be below MinFrameTime but occasionally if the sleep was long it would be above, often due to the time required to update the watchdog.
This doesn't appear to play much practical role right now.
ODE was actually ignoring it entirely.  Bullet might be helped slightly by receiving a non-varying value.
2011-10-20 19:44:59 +01:00
Justin Clark-Casey (justincc) b63ec987b0 For now, stop passing timeStep into methods where it's not actually used. 2011-10-20 17:54:32 +01:00
Justin Clark-Casey (justincc) f16d125027 Change wording on asset requests.
Not all 'notified missing' assets are a problem.  Some are invalid references which happen to be buried in other text.
2011-10-19 23:56:17 +01:00
Dan Lake 9ab2943abf Removed redundant NotInTransit function from ScenePresence. IsInTransit=false does the same thing and NotInTransit was not used anywhere. 2011-10-19 15:50:09 -07:00
Dan Lake eac29396d9 Moved HaveNeighbor utility function from ScenePresence to Scene. Fixed line endings from previous commit. 2011-10-19 15:38:25 -07:00
Dan Lake 8b20faf06c Merge branch 'master' of git://opensimulator.org/git/opensim 2011-10-19 14:43:16 -07:00
Dan Lake da794f34a5 Renamed and rearranged AvatarFactoryModule to eliminate redundant lookups of scene presence by client ID. 2011-10-19 14:41:44 -07:00
Justin Clark-Casey (justincc) 601dabb1b7 Extend scripts stop/start/suspend/resume console commands to allow action on a single script by giving the script item id (which can be found via scripts show).
Not an ideal way to do this on a region with many scripts.  Needs refinement later.
2011-10-19 22:30:31 +01:00
Justin Clark-Casey (justincc) 32c3faedd6 Add "scripts stop" and "scripts start" console commands.
These will stop all running scripts and start all stopped scripts respectively.
A stopped script does not save any events for later processing.
2011-10-19 21:40:28 +01:00
Justin Clark-Casey (justincc) f836710af5 minor: improve command help on scripts suspend/resume 2011-10-19 21:34:55 +01:00
Justin Clark-Casey (justincc) 5607fd3af8 Fix resume scripts.
On resume, we need to place requeue the script for event processing if there are any events on the queue.
Also need to do this under m_Script lock in order to avoid a race
2011-10-19 21:30:37 +01:00
Justin Clark-Casey (justincc) 3cf7fb4eca Add "scripts suspend" and "scripts resume" commands.
These aim currently to suspend and resume all scripts.
However, resume isn't currently working due to what looks like a bug in resume functionality itself.
2011-10-19 20:53:24 +01:00
Justin Clark-Casey (justincc) b45219065c on log and "show scripts" messages, show script item UUID rather than asset UUID
The item ID is the one required for any script manipulation on the command line, so I think it's somewhat more useful to show this bearing in mind the limited space available
2011-10-19 20:26:05 +01:00
Justin Clark-Casey (justincc) 116fbe8258 add current script status to "scripts show" command (running, suspended, etc.) 2011-10-19 20:24:07 +01:00
Justin Clark-Casey (justincc) ecad9f9fd5 Add "show scripts" command to show all scripts currently known to the script engine in the current region.
Also added synonym of "scripts show"
2011-10-19 20:09:02 +01:00
Justin Clark-Casey (justincc) d9184eceab Add option to allow remote http calls to setpassword in the AuthenticationService.
This is switched on by setting AllowSetPassword = true in the [AuthenticationService] section of Robust.ini or Robust.HG.ini
Default is false as before.
2011-10-19 19:03:17 +01:00
Justin Clark-Casey (justincc) fe484ab331 Slightly change log message in LoadRegionsPlugin 2011-10-19 01:22:07 +01:00
Pixel Tomsen 178b8d0926 Region-UUID - can not be zero-uuid
http://opensimulator.org/mantis/view.php?id=3426
2011-10-19 01:19:21 +01:00
Justin Clark-Casey (justincc) 4cffdf15ba Make ScopeID optional for http GetAccount and GetAccounts
If not specified then it assumes UUID.Zero. as occurs elsewhere in the codebase
2011-10-19 00:34:54 +01:00
Justin Clark-Casey (justincc) 9f171041c9 Make PrincipalID a synonym for UserID in GetUserAccount 2011-10-19 00:23:06 +01:00
Justin Clark-Casey (justincc) 97c66f8eac Get new NewUser and SetUserAccount calls to accept PrincipalID instead of UserID for consistency with output 2011-10-19 00:16:53 +01:00
Justin Clark-Casey (justincc) 9d59b285bb Allow an http call to set account details if AllowSetAccount = true in [UserAccountService].
As before, default is false to not allow these calls.
2011-10-19 00:06:40 +01:00
Justin Clark-Casey (justincc) c85a780583 Provide an option to allow remote calls to the CreateUser method on the UserAccountService
Default is false, as before.
Enabling AllowCreateUser in [UserAccountService] for ROBUST allows avatars to be created via an http call, with viewer 2 appropriate bits and pieces.
Only Ruths can be created at present.
Please don't rely on the config since at some point CreateUser will be moved to a separate co-ordinating service.
2011-10-18 22:51:40 +01:00
Justin Clark-Casey (justincc) 581885da75 Temporarily put in log lines to record time taken to set terrain in OdeScene. 2011-10-18 21:21:15 +01:00
Justin Clark-Casey (justincc) 03202ada29 Store scene identifier passed in to OdeScene for later debug messages 2011-10-18 21:11:13 +01:00
Justin Clark-Casey (justincc) 1d4cd76e8a Don't bother taking OdeLock during OdeScene construction, since there can be no contention until the object is constructed. 2011-10-18 21:03:41 +01:00
Justin Clark-Casey (justincc) f10a824e47 Remove unnecessary lock of OdeLock in OdePrim.changeadd()
This taint can only ever be processed from the OdeScene.Simulate() loop, which already locks OdeLock.
2011-10-18 20:58:59 +01:00
Justin Clark-Casey (justincc) 5515c45e3b minor: method doc to explain a lock of OdeLock 2011-10-18 20:56:11 +01:00
Justin Clark-Casey (justincc) 71d221cdc0 Remove the unused CollisionLocker from ODE
Despite its name, this wasn't actually being used in any collision checking
2011-10-18 17:35:58 +01:00
Justin Clark-Casey (justincc) 352002fd0b Set enable_adaptive_throttles = true in OpenSimDefaults.ini
As discussed in http://lists.berlios.de/pipermail/opensim-dev/2011-October/010599.html and the preceeding thread mails,
the aim of this setting is to avoid overloading the viewer UDP connection where the client is failing to ack packets.
Please mantis any anomalous viewer connection behaviour which wasn't there before.
2011-10-17 22:11:56 +01:00
Justin Clark-Casey (justincc) aeb4ff0274 Allow an avatar to be explicitly named to the "debug packet" command 2011-10-17 20:58:23 +01:00
Justin Clark-Casey (justincc) 120114e96b refactor: Make IClientAPI.DebugPacketFormat a property rather than a setter without a getter 2011-10-17 20:50:29 +01:00
Justin Clark-Casey (justincc) 96ff2c63ed Add avatar names to debug packet output 2011-10-17 20:37:01 +01:00
Justin Clark-Casey (justincc) 62a63f834b refactor: Use SOP.SitTargetAvatar instead of calling a special GetAvatarOnSitTarget() which returned exactly the same thing 2011-10-17 02:04:20 +01:00
Justin Clark-Casey (justincc) 79c13cd997 rename OS_NPC_SIT_IMMEDIATE to OS_NPC_SIT_NOW since it's shorter and more understandable
This makes something like osNpcSit(npc, llGetKey(), OS_NPC_IMMEDIATE) now become
osNpcSit(npc, llGetKey(), OS_NPC_SIT_NOW);
This is why it's in development :)
2011-10-17 01:57:23 +01:00
Justin Clark-Casey (justincc) de161585c0 Implement osNpcStand(<npc-id>)
Allows you to stand an NPC that has sat.
2011-10-17 01:56:25 +01:00
Justin Clark-Casey (justincc) ddcb88ff53 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-17 01:45:41 +01:00
Justin Clark-Casey (justincc) 0c041ce12f Implement osNpcSit(). This is still in development so don't trust it
Format is osNpcSit(<npc-uuid>, <target-uuid>, OS_NPC_SIT_IMMEDIATE)
e.g. osNpcSit(npc, llGetKey(), OS_NPC_SIT_IMMEDIATE);
At the moment, sit only succeeds if the part has a sit target set.
NPC immediately sits on the target even if miles away - they do not walk up to it.
This method is in development - it may change so please don't trust it yet.
Standing will follow shortly since that's kind of important once you're sitting :)
2011-10-17 01:42:31 +01:00
Diva Canto 730460169f Bug fix on the bug fix on UserAccountService.cs 2011-10-16 16:13:24 -07:00
Diva Canto bbd0e68c06 Guard HGAssetService against uninitialized variables and null arguments. 2011-10-15 20:23:26 -07:00
Justin Clark-Casey (justincc) b9930a6305 improve method doc on Scene.OtherRegionUp()
this is really just to trigger panda.
2011-10-15 03:17:58 +01:00
Justin Clark-Casey (justincc) ddf54b5537 move see_into_this_sim_from_neighbor [Startup] flag parsing into Scene with the others 2011-10-15 03:03:05 +01:00
Justin Clark-Casey (justincc) 528cc8136e fetch physical_prim switch from [Startup] config from inside scene, as is done for most other scene config params 2011-10-15 02:54:43 +01:00
Justin Clark-Casey (justincc) 5ddefc2564 remove now redundant m_physical_prim flag from SOP.ApplyPhysics() 2011-10-15 02:47:27 +01:00
Justin Clark-Casey (justincc) 3843efe478 Restore [Startup] physical_prim flag which can stop any prims being subject to physics
This had stopped working.  However, at the moment it still allows the physics flag to be set even though this has no effect.  This needs to be fixed.
Default for this flag is true as previously.
2011-10-15 02:42:43 +01:00
Justin Clark-Casey (justincc) f2889d7ce9 remove redundant PhysActor.IsPhysical call from SOP.UpdatePrimFlags() as its done immediately afterwards in DoPhysicsPropertyUpdate() 2011-10-15 02:12:46 +01:00
Justin Clark-Casey (justincc) 732e937379 refactor: Remove redundant code in SOP.UpdatePrimFlags() 2011-10-15 02:07:05 +01:00
Justin Clark-Casey (justincc) c93c9ea072 factor common code out into SOP.RemoveFromPhysics() 2011-10-15 02:02:39 +01:00
Justin Clark-Casey (justincc) 978fb3d482 reduce access to ODECharacter methods to make code analysis easier. Eliminate redundant argument on ProcessTaints() 2011-10-15 01:41:39 +01:00
Justin Clark-Casey (justincc) 9cc2694776 restrict unnecessary access levels on ODEPrim fields/properties 2011-10-15 01:31:09 +01:00
Justin Clark-Casey (justincc) f2132329a3 refactor: make methods that do not need to be public in ODE private or internal to aid code reading/analysis. Remove some unused method arguments 2011-10-15 01:20:40 +01:00
Justin Clark-Casey (justincc) bea65b06a4 Add back the missing bin/addon-modules directory that I somehow managed to accidentally delete in 2fbc98f (Jul 7 2011) 2011-10-14 23:32:15 +01:00
Justin Clark-Casey (justincc) 03102864f0 change default ODE world_stepsize to 0.0178 from 0.02
This exactly fits five ODE steps in the default frame time (0.089).
This means that ODE execution time now matches the default minimum frame time.
This eliminates errors between distance travelled as calculated by ODE in clear air and simple extrapolation.
On the old values, ODE would actually do calculations over 0.1 seconds rather than 0.089.
This means that once the avatar is at top speed, no additional packets need to be sent for smooth movement, since no error develops between server and viewer.
This approach replaces the tweaks previously discussed on the opensim-dev mailing list
2011-10-14 21:11:00 +01:00
Justin Clark-Casey (justincc) 4bfc2f5cde Change hardcoded ODE total frame time to match the default total frame time (0.09375 -> 0.089).
No apparant ill effects - because the default stepsize is 0.2, there are still 5 physics steps per physics frame.
This is a precursor to using the elapsed value passed in (and now changeable in config).
2011-10-14 21:07:57 +01:00
Diva Canto 83c7b9b609 Bug fix -- Test User on first run standalone might not be created properly: let all instances of UserAccountService have all its service references properly initialized, and register console commands on only one. 2011-10-13 18:03:19 -07:00
Justin Clark-Casey (justincc) aa19ccf65c refactor: rename IClientAPI.SendPrimUpdate() to SendEntityUpdate() since it sends entity updates (including presence ones), not just prims. 2011-10-14 01:45:46 +01:00
Justin Clark-Casey (justincc) 77c65951e0 Extract NullPhysicsScene from PhysicsScene to improve code readability 2011-10-14 01:38:14 +01:00
Justin Clark-Casey (justincc) ee84c0589c Don't execute rest of code in XEngine.RemoveRegion() and Close() if the module is disabled. 2011-10-14 01:06:43 +01:00
Justin Clark-Casey (justincc) 4e7d4330c2 Expose minimum frame time and update periods for experimentation.
Settings are at bottom of [Startup] in OpenSimDefaults.ini, override in OpenSim.ini to change
Defaults are the same as previously.
More information to come on opensim-dev shortly.
Feel free to tweak but if you do please don't expect any support unless feedback on certain tweaks is explicitly requested.
2011-10-13 23:47:37 +01:00
Justin Clark-Casey (justincc) 128d8dfd8b refactor: Put the frame update period when temporary objects are cleaned up in a field, like all the other update periods 2011-10-13 22:28:42 +01:00
Justin Clark-Casey (justincc) fd274a6688 refactor: chain the two scene constructors together to eliminate more copypasta 2011-10-13 22:21:03 +01:00
Justin Clark-Casey (justincc) a6fa15e8b6 Tie reported FPS correction factor into the minimum frame time rather than setting separately.
This makes reported FPS scale as required if min frame time changes
2011-10-13 22:07:55 +01:00
Justin Clark-Casey (justincc) ceb326284e Move fps stat adjustment factor into field rather than hard-coded. 2011-10-13 21:55:51 +01:00
Justin Clark-Casey (justincc) 20da04fd0c More method doc and formatting changes. Makes DestroyOdeStructures() private 2011-10-13 21:42:24 +01:00
Justin Clark-Casey (justincc) 227db07f2f refactor: move 3x copy/pasted ode structure removal code in ODECharacter into a DestroyOdeStructures() method
also adds some method doc
2011-10-13 18:19:13 +01:00
Justin Clark-Casey (justincc) f08664f422 remove some mono compiler warnings 2011-10-12 21:54:25 +01:00
Justin Clark-Casey (justincc) 631d5e16ef Get rid of some traces of the old pre-ROBUST grid architecture config 2011-10-12 21:51:34 +01:00
Justin Clark-Casey (justincc) f5f7ca47ea Bring LindenUDP.Tests back from the dead. No tests are running.
Code drift means that most of this stuff doesn't compile but the structure is still useful.
2011-10-12 21:31:22 +01:00
Justin Clark-Casey (justincc) ea7366ddc6 When shutting down XEngine, log how many scripts are being shutdown so the user knows why they are waiting. 2011-10-12 19:42:04 +01:00
Justin Clark-Casey (justincc) c5826d589a minor: insert some commented out log lines which are a blunt but useful instrument to see packet expiry and received acks 2011-10-12 19:35:40 +01:00
Justin Clark-Casey (justincc) 36e73dbc9b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-12 19:24:03 +01:00
Justin Clark-Casey (justincc) f9ffd2538f Improve some method doc for LLUDPClient, LLUDPServer and UnackedPacketCollection 2011-10-12 19:22:30 +01:00
Melanie 4b7b9e81f7 Make it possible to disable the HG linker. On non-HG systems it spits yellow
spam, so it should not load unless HG is desired.
2011-10-12 15:41:59 +01:00
Melanie 0faa8db0ef Update OpenSimDefaults.ini to make the prior state (Groups messaging enabled
by default) the config default. This way it will work for current cases while
allowing the use of other groups modules without config bloat.
2011-10-12 09:23:57 +01:00
Melanie ca74088d94 Change default groups messaging module in hardcode to the empty string.
Modules should not assume thet they are the one and only, but only be
enabled when explicitly configured.
2011-10-12 09:21:46 +01:00
Justin Clark-Casey (justincc) fe3594c5ea Start recording object updates per second statistic (analogue of agent updates per secod) and expose via monitoring module as ObjectUpdatePerSecondMonitor
A useful diagnostic to find out how object updates are burdening a scene
2011-10-11 22:17:05 +01:00
Justin Clark-Casey (justincc) f138a2056e meaningless change to goose panda 2011-10-11 00:29:41 +01:00
Pixel Tomsen 28f549bd64 osSetParcelDetails - PARCEL_DETAILS_CLAIMDATE
this new flag set parcels claim date
value 0 for this flag set current unixstamp

http://opensimulator.org/mantis/view.php?id=5725
2011-10-11 00:13:26 +01:00
Justin Clark-Casey (justincc) 353e7ce873 Allow monitoring of stats by region name 2011-10-10 23:58:27 +01:00
Justin Clark-Casey (justincc) 62aad4c18f Add other region stats (total frame time, physics fps, etc.) currently missing from MonitorModule
Unlike the other 3 stats mechanisms, monitor data can be queried per individual region, which makes this useful.
This doesn't affect an of the existing monitored stats.
2011-10-10 23:48:53 +01:00
Justin Clark-Casey (justincc) 19096bd391 Convert getLastReportedSimFPS() and getLastReportedSimStats() into more idiomatic LastReportedSimFPS and LastReportedSimStats on SimStatsReporter 2011-10-10 22:23:42 +01:00
Justin Clark-Casey (justincc) 8114f895c2 Provide a way to turn the MonitorModule on and off
Default is currently on since this is the historical setting
2011-10-10 22:17:29 +01:00
Justin Clark-Casey (justincc) 2b290793ab refactor: have lsl and ossl interrogate scene.StatsReporter directly rather than going through scene
I know this goes against the law of demeter but I don't think it's that useful here and I'd rather get rid of nasty little wrapper methods
2011-10-10 21:54:08 +01:00
Justin Clark-Casey (justincc) 013bf2775f remove unused LastAssetID from DynamicTextureUpdaer 2011-10-10 15:19:23 +01:00
Justin Clark-Casey (justincc) 156385f48b Tweak to language of last commit in rejecting UUID.Zero in GridService.RegisterRegion()
Allowing regions with UUID.Zero causes problems elsewhere according to http://opensimulator.org/mantis/view.php?id=3426
It's probably a bad idea to allow these in any case.
2011-10-08 02:15:04 +01:00
Pixel Tomsen a6c5e00c45 GridService - Region UUID can not be NULL
http://opensimulator.org/mantis/view.php?id=3426
2011-10-08 02:13:18 +01:00
Justin Clark-Casey (justincc) 29660fe175 Remove the inconsistently applied now pointless FailIfRemoteAdminDisabled() check on XMLRPC RemoteAdmin handlers.
If admin is disabled then the XMLRPC handlers are never registered, which means that they cannot be called anyway.
2011-10-08 02:00:36 +01:00
Justin Clark-Casey (justincc) 71d29decc8 replace List used by m_accessIP in RemoteAdminPlugin with the more efficient HashSet 2011-10-08 01:53:10 +01:00
Justin Clark-Casey (justincc) 5551542c28 Improve explanation of access_ip_addresses in [RemoteAdmin] to say that there are no restrictions if not set 2011-10-08 01:39:27 +01:00
Justin Clark-Casey (justincc) 4073cd6ced Add option to allow only explicitly listed IPs to access RemoteAdmin facilities.
Also adds password check to some functions where this was missing and fixes some parameter checking.
This is a patch from http://opensimulator.org/mantis/view.php?id=5715 with a few small unrelated spacing tweaks from me.
Thanks Michelle Argus.
2011-10-08 01:23:26 +01:00
Justin Clark-Casey (justincc) ff80113534 Go back to lying that sim fps is 55 when it's actually locked at a maximum of 11.
We're been lying since 2008 so I'm sure another few years can't hurt.
To know the real fps, either divide sim fps by 5 and/or look at the frame time.
2011-10-08 00:15:15 +01:00
Justin Clark-Casey (justincc) f8c06c6114 flip master version up to 0.7.3 2011-10-07 23:41:55 +01:00
Justin Clark-Casey (justincc) b5e6209cfd Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-07 21:44:45 +01:00
Justin Clark-Casey (justincc) 5bc6503ae1 Correct DeleteScriptsOnRestart to DeleteScriptsOnStartup in comments in OpenSim.ini.example 2011-10-07 21:43:52 +01:00
BlueWall 1c54817977 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-07 16:36:43 -04:00
BlueWall a9b3ab0c85 Add note to docs
This method is used by externasl/3rd party management tools to
  create users and they depend on us to generate the UUID.
2011-10-07 16:34:33 -04:00
Justin Clark-Casey (justincc) e3c522e211 Comment out [SCENE PRESENCE] SendAppearanceToAllOtherAgents: log message
As per earlier discussions with dslake
2011-10-07 20:51:26 +01:00
Dan Lake 4b46b7a5ad Fixed line endings from previous commit 2011-10-06 23:20:51 -07:00
Dan Lake f26a966b8e Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-06 22:50:03 -07:00
Dan Lake 4748c19bdb Refactored "known child region" in ScenePresence. There were 4 different
ways to access the list/dictionary of child regions and locking was
inconsistent. There are now public properties which enforce locks.
Callers are no longer required to create new copies of lists.
2011-10-06 22:47:33 -07:00
Justin Clark-Casey (justincc) 1f78dc6504 remove the pointless slashes on the end of the (5!) different server stat retrieval mechanisms.
Original request URLs that end with / will still work, but this will allow one to type /simstatus as well as /simstatus/
Can't do this with webstats yet since it does insane things to the path.
2011-10-07 00:30:35 +01:00
Justin Clark-Casey (justincc) 4c812884be Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-06 23:47:41 +01:00
Pixel Tomsen 95910f03d4 WebStats - Home Link Fix
http://opensimulator.org/mantis/view.php?id=4536
2011-10-06 22:30:24 +01:00
Dan Lake 9a16e76f51 Simplified IsInTransit property on ScenePresence and removed InTransit() which called IsInTransit=true which called m_inTransit=true. Also removed NotInTransit(). 2011-10-06 12:39:19 -07:00
Dan Lake 08f264d096 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-10-06 12:22:15 -07:00
Dan Lake bd9ba904c3 Refactor ScenePresence so gets and sets are through properties. Added private sets when needed. Removed redundant code when methods replicated what the set already does 2011-10-06 12:19:31 -07:00
BlueWall 77b8fb0f86 Added back UserAccount that creates random UUID for new account.
This should fix recent issues with 3rd party apps that use the
old interface w/o breaking the new one.
2011-10-05 22:01:12 -04:00
Justin Clark-Casey (justincc) ca83f99332 Instead of adding stat agentMS in all kinds of places, calculate it instead in the main Scene.Update() loop, like the other stats
Some of the places where agentMS was added were in separate threads launched by the update loop.  I don't believe this is correct, since such threads are no longer contributing to frame time.
Some of the places were also driven by client input rather than the scene loop.  I don't believe it's appropriate to add this kind of stuff to scene loop stats.
These changes hopefully have the nice affect of making the broken out frame stats actually add up to the total frame time
2011-10-06 00:45:25 +01:00
Justin Clark-Casey (justincc) 7fa1c979cf rename WebStatsModules.m_scene to m_scenes since it's a list of scenes, not a single one 2011-10-05 23:36:27 +01:00
Justin Clark-Casey (justincc) 8a8983b3d4 Add user ID to new estate user prompt, to make it clearer and consistent with the main create user prompts 2011-10-05 23:34:18 +01:00
Justin Clark-Casey (justincc) 604708fc96 Change WebStatsModule to check its config properly, instead of catching the ineviable NullReferenceException!
Also, tidy up spacing.
2011-10-05 23:31:53 +01:00
Justin Clark-Casey (justincc) 9090039324 Remove unused local variable i from OdeScene.Simulate() 2011-10-05 22:15:28 +01:00
Justin Clark-Casey (justincc) 7d033187d8 Make reported sim fps more accurate, in line with frame time ms
Also remove some unused fields and improve naming on others.
2011-10-05 22:08:56 +01:00
Dan Lake 3142982353 Removed redundant scene presence lookups in HGMessageTransferModule 2011-10-05 12:58:24 -07:00
Dan Lake 38d205502a Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-04 16:59:35 -07:00
Dan Lake 146322eb34 Removed redundant IClientAPI calls from TreePopulatorModule. Removing tree objects already triggers objectkill packet to client. No need to send again. 2011-10-04 16:59:05 -07:00
Justin Clark-Casey (justincc) 9a49b3b519 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-04 23:53:30 +01:00
Justin Clark-Casey (justincc) b907a66f39 When creating a new user on the comand line, give the option of allowing a UUID to be specified to override the randomly generated one.
This can be useful in some migration cases where recreating user accounts with known IDs will preserve region scene object ownership.
2011-10-04 23:48:35 +01:00
Mic Bowman 413e299045 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-04 15:44:22 -07:00
Mic Bowman b229a72a5f Turn off keepalives when commands are specified 2011-10-04 15:43:41 -07:00
Justin Clark-Casey (justincc) 8a216dc1cc Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-04 22:49:06 +01:00
Justin Clark-Casey (justincc) f1986d54bb Clarify explanation of DeleteScriptsOnStartup switch in [XEngine]. 2011-10-04 22:48:28 +01:00
Dan Lake 92c88121c7 Removed all refs to IClientAPI from IAttachmentsModule. Separated client handlers for attachments to call public interface and rearranged module file into sections 2011-10-04 14:40:39 -07:00
Dan Lake bfa405e6f7 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-03 16:45:04 -07:00
Dan Lake 460946ad62 Removed redundant code in AttachmentsModule and simplified interfaces which converted back and forth between ScenePresence and IClientAPI. More to be done still. 2011-10-03 16:44:32 -07:00
Justin Clark-Casey (justincc) c7d0d71666 trival tweak to trigger the continuous integration system 2011-10-04 00:37:02 +01:00
Pixel Tomsen b98442dcec Animation-States Turning Left, Turning Right implemented/enabled
http://opensimulator.org/mantis/view.php?id=3036
2011-10-04 00:27:11 +01:00
Justin Clark-Casey (justincc) a8af0a5ba8 Return NULL_KEY from llGetTexture if a non-existent face is indicated, rather than ""
As per http://wiki.secondlife.com/wiki/LlGetTexture
2011-10-04 00:15:48 +01:00
Justin Clark-Casey (justincc) 8a6e6866d9 For llGetTexture(), if the face texture asset is in the inventory, return the inventory name rather than the asset UUID
This is as per http://wiki.secondlife.com/wiki/LlGetTexture
Applied patch in http://opensimulator.org/mantis/view.php?id=4552 with an additional break statement if an inventory item is found to exit early.
Thanks Michelle Argus!
2011-10-04 00:07:52 +01:00
Justin Clark-Casey (justincc) 34026887fe Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-03 23:26:52 +01:00
Justin Clark-Casey (justincc) 37ae6451f9 Remove vestigal RegionStatus.SlaveScene.
This appears to be code clutter since the code that uses this has long gone.
2011-10-03 23:25:09 +01:00
Dan Lake e77c919290 Remove usage of Linden packet types from inside Attachments Module and interface 2011-10-03 11:55:54 -07:00
Dan Lake 31125a5fd2 Add execute permission to runprebuild2010.bat 2011-10-03 11:16:48 -07:00
Justin Clark-Casey (justincc) 56dbab35e1 Remove unimplementated UpdateMovement() methods from SOG, SOP.
SP still has an implementation but this is now just a public method on SP rather than an abstract one in EntityBase.
No point making the code more complex until it actually needs to be,
2011-10-01 01:26:50 +01:00
Justin Clark-Casey (justincc) 42fe774ad1 Remove OpenSim.Region.Examples.SimpleModule
This module is more than 2 years old and at least some of the 'example' code it gives is now misleading.
Even the logs say it say some bits were broken where it was put in!
2011-10-01 01:21:20 +01:00
Pixel Tomsen c7db3df344 llGetLinkKey, llGetLinkName Fix for sitting Avatar
when an avatar sits on a prim, we get now his key & name ;-)

http://opensimulator.org/mantis/view.php?id=4476
2011-10-01 00:41:47 +01:00
Justin Clark-Casey (justincc) a1875ec760 Add ability to pass in the permissions option (perm) to save oar via RemoteAdmin
Applies patch in http://opensimulator.org/mantis/view.php?id=5686
Thanks Michelle Argus!
2011-10-01 00:19:09 +01:00
Justin Clark-Casey (justincc) 246443773a minor: remove clutter null check from pass in config to AvatarFactoryModule.Initialize()
This is never null
2011-10-01 00:15:30 +01:00
Justin Clark-Casey (justincc) 844b4f3a16 copy config information on allow/disallow individual os functions into OpenSim.ini.example
I this is generally useful rather than a 'default' setting
2011-09-30 23:55:02 +01:00
Justin Clark-Casey (justincc) 6d0978594d remove unused postgresql dll 2011-09-30 18:58:26 +01:00
Justin Clark-Casey (justincc) e742cffe15 Add Enabled switch in new [Attachments] section in OpenSimDefaults.ini to allow attachments to be temporarily turned off.
This is for debugging purposes.  Defaults to Attachments Enabled
2011-09-30 01:19:22 +01:00
Pixel Tomsen 528fcede6c llAvatarOnLinkSitTarget Implementation
http://wiki.secondlife.com/wiki/LlAvatarOnLinkSitTarget
2011-09-29 01:08:05 +01:00
Justin Clark-Casey (justincc) a3531dec1a Add en_US culture setting to the async delete to inventory thread, to avoid any issues with float serialization with machines set to non en_US locales.
Doing this to see if addresses inventory object deserialization problems in http://opensimulator.org/mantis/view.php?id=5708, though if it does I'm really surprised not to have seen it before now.
Really need to go through and systematically set the culture for every timer and change all BeginInvoke calls to FireAndForget instead.
But don't want to do something like that this close to a release.
2011-09-26 23:00:16 +01:00
Snoopy Pfeffer 2b2580e3a1 Fix for rezzing and derezzing HUDs (see Mantis #5406). From now on updates are only sent to affected clients. 2011-09-25 00:51:43 +02:00
Justin Clark-Casey (justincc) 8caf3ed49e Remove the unimplented "clear assets" command.
This was a bizarre relic of a bygone age that had no implementations.
If you're using and want to clear the flotsam asset cache then please use the existing "fcache clear" command
2011-09-24 02:22:47 +01:00
Kevin Houlihan e789ab659c Removed uncalled region load method.
The method LoadRegionsPlugin.LoadRegionFromConfig was no longer being referenced from anywhere, so I removed it. It's function has apparently been taken on by the PostInitialise of that module.
2011-09-24 02:06:34 +01:00
Kevin Houlihan & Michelle Argus 39d7945efc Added a setting to [Startup] section of config that will allow the simulator to start up with no regions configured.
I added the boolean config setting "allow_regionless", defaulting to false. If set to true, opensim will start up ok if no region configurations are found in the specified region_info_source. It will not ask the user to create a region.
2011-09-24 01:59:02 +01:00
Justin Clark-Casey (justincc) c14c4bc1ec Don't try and resolve user account for authorization if the agent has come in via hypergrid.
If a user account isn't available, this just passes on the name given by the agent instead.
I'm not sure this is particularly useful since I believe that agent names could be faked in this context - it might be no more useful than a viewer agent string.
In fact, there might even be an argument that passing on this name provides a false expectation of authenticity.  However, I will apply for now.
Patch applied from http://opensimulator.org/mantis/view.php?id=5696
Thanks Michelle Argus.
2011-09-24 01:39:37 +01:00
Justin Clark-Casey (justincc) 839c1cdcc4 Improve locking when access queue in EventQueueGetModule 2011-09-24 01:10:23 +01:00
Justin Clark-Casey (justincc) 5364607005 Clarify explanation of the "DeleteScriptsOnStartup" config switch and add this to OpenSim.ini.example since it's very useful if you're not updating OpenSim from source.
On reflection, "DeleteScriptsOnStartup" isn't a great name since it suggests real script deletion rather than compiled versions.
2011-09-24 00:22:23 +01:00
Justin Clark-Casey (justincc) def74404f1 make distribution creating code to copy FlotsamCache.ini.example to FlotsamCache.ini 2011-09-24 00:18:32 +01:00
Justin Clark-Casey (justincc) bec0cbe82b remove unused SOP.Create() method 2011-09-23 22:20:15 +01:00
Justin Clark-Casey (justincc) ceb09cde4d Correct asset id of library default iris texture.
For this change to show up you will need to clear viewer cache.
2011-09-23 21:57:52 +01:00
Justin Clark-Casey (justincc) c8304b7f84 Fix avatar parameter updating for viewer 3 and maybe 2.
When a slider parameter is changed, the viewer uploads a new shape (or other asset) and the item is updated to point to it.
Viewer 1 uploaded the data in the initial request itself, so the asset references was almost always correctly updated.
However, viewer 3/2 always uploads data in a subsequent xfer, which exposed a race condition where the viewer would make the item update before the asset had uploaded.
This commit shuffles the order of operations to avoid this race, the item is updated with the new asset id instead of the old one while the upload was still taking place.
A second race had to be fixed where avatar appearance would also be updated with the old asset id rather than the new one.
This was fixed by updating the avatar appearance ids when the appearance was actually saved, rather than when the wearables update was made.
2011-09-23 02:59:33 +01:00
Justin Clark-Casey (justincc) 41616cad09 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-09-22 01:11:19 +01:00
Justin Clark-Casey (justincc) 3ccb58c05c Fix failure to teleport when an agent is lured on the same sim (and probably in neighbouring sims) with HG lure active
It turns out that the HG lure module was setting up a pending lure when it intercepted the instant message on its way out to the target avatar.
However, an IM would only be sent if the user was remote, so it would not be set up for users on the same sim or in an immediate neighbour.
We fix this by adding the pending lure when the message goes out and ignoring a duplicate pending lure add if it goes to out via IM.
Hopefully addresses http://opensimulator.org/mantis/view.php?id=5690
2011-09-22 01:08:38 +01:00
Dan Lake 28a482a7ee Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-09-21 16:24:48 -07:00
Dan Lake 2c0bb8118d Commented out new debug statements in ScenePresence 2011-09-21 16:24:19 -07:00
Justin Clark-Casey (justincc) d358125cac Reinstate option to land an npc when it reaches a target.
This is moved into ScenePresence for now as a general facility
2011-09-22 00:16:05 +01:00
Justin Clark-Casey (justincc) 241e07d006 Move code which handles NPC movement into Scene so that this can also be used by Autopilot coming from the client side.
I thought that I had implemented this but must have accidentally removed it.
Adds a regression test to detect if this happens again.
Temporarily disables automatic landing of NPC at a target.  Will be fixed presently.
2011-09-21 23:56:11 +01:00
Justin Clark-Casey (justincc) f9438e7147 Remove unused and never set SP.PreviousRotation 2011-09-21 22:01:57 +01:00
Justin Clark-Casey (justincc) 572b680cb0 get rid of an incredibly noisy logging message from the last commit 2011-09-21 20:15:06 +01:00
Justin Clark-Casey (justincc) c9c40343af Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-09-21 20:05:11 +01:00
Justin Clark-Casey (justincc) 8159fd7110 When calling osNpcMoveTo(), rotate the avatar in the direction of travel.
This stops the npc walking backwards if the target is directly behind.
This means that the npc no longer returns to its original rotation once movement has finished.
If you want this behaviour, please store and reset the original rotation after movement.
This is somewhat to address http://opensimulator.org/mantis/view.php?id=5678
2011-09-21 19:28:41 +01:00
Dan Lake 7ec7a3cf33 Null simulation data must return a non-null region settings or other parts of the simulator expect 2011-09-20 15:35:36 -07:00
Dan Lake 7829b7a601 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-09-20 14:07:41 -07:00
Dan Lake fa9291512a Make debug statements in ScenePresence consistent and add a few more 2011-09-20 14:07:10 -07:00
Justin Clark-Casey (justincc) aadf7dd91c Remove vestigal OpenSim.Data mono addins extension points that don't look like they've been active for at least 2 and a half years 2011-09-20 20:56:32 +01:00
Justin Clark-Casey (justincc) 1e798136c3 adjust some whitespace to trigger another build, to check the last failure was just a glitch 2011-09-17 01:33:55 +01:00
Justin Clark-Casey (justincc) 27af016381 Add BulletSim physics option details to OpenSim.ini.example. Marked as in development and experimental. 2011-09-17 01:13:07 +01:00
Justin Clark-Casey (justincc) f950338124 Remove old bullet DotNET and X libraries in preparation for BulletS
These weren't working properly anyway.
You will need to rerun prebuild.sh/.bat after this commit, and maybe "nant clean" as well.
2011-09-17 01:09:25 +01:00
Justin Clark-Casey (justincc) 6f69ab3bcb Add back BulletSPlugin.dll.config that I somehow managed to delete today in a00327d 2011-09-17 00:49:26 +01:00
Justin Clark-Casey (justincc) 385c4a210d On setting a new avatar appearance, if height hasn't changed then don't set that same height in ScenePresence.
This prevents unnecessary work in the ODE module, though possibly that should be checking against same size sets itself
2011-09-17 00:26:53 +01:00
Justin Clark-Casey (justincc) 744602f6d1 Revert "uncomment Standalone config in OpenSim.ini.example."
This reverts commit 44a491f36b.

This makes packaging OpenSim slightly easier but then generates a FriendsConnector error if naively used after compilation.
So let's revert to stick with the "DataStore" error for now - at least that's a known error.
2011-09-17 00:10:19 +01:00
Justin Clark-Casey (justincc) 6f542f73d4 Stop the avatar stalling on its first boarder cross when using the ODE plugin
When upgrading the previously child agent to a root, the code was setting the Size parameter on the ODECharacter PhysicsActor.
This in turn reset Velocity, which cause the border stall.
I'm fixing this by commenting out the Velocity = Vector3.Zero lines since they don't appear to play a useful purpose
2011-09-16 23:57:16 +01:00
Justin Clark-Casey (justincc) adfe713b43 minor: I was wrong about OffsetPosition - sometimes it genuinely does return offset position!
Add method doc to explain this.
2011-09-16 22:55:24 +01:00
Justin Clark-Casey (justincc) b2356340d2 Remove setter from SP.OffsetPosition, since all sets should flow through SP.AbsolutePosition
OffsetPosition is also misnamed - it returns the absolute position and never contains an offset.
2011-09-16 22:51:36 +01:00
Justin Clark-Casey (justincc) c38b25a1d2 Fix base_hair.dat to actually contain the base hair asset rather than base eyes by mistake.
I must have had it cached last night.
This now makes completely fresh avatar setups appear properly (remember to wipe viewer cache and server cache as well as database).
As a bonus, eyes now appear by default too!
2011-09-16 21:43:58 +01:00
Justin Clark-Casey (justincc) c695e23dd9 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-09-16 21:06:09 +01:00
Kevin Houlihan 903d5c02cb Updated some variables to be closer to the coding standards (and easier to understand).
There were a few variables in LocalConsole with single character names, and the class fields did not use the m_ prefix.
I also removed a redundant variable, h. It was being set to 1 in a couple  of places, and incremented in another, but never actually used.
2011-09-16 20:24:47 +01:00
justincc 30b6838837 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-09-16 19:56:14 +01:00
justincc a00327d0e5 Fix build errors on Windows by adding missing OpenSim.Services.Base reference 2011-09-16 19:54:23 +01:00
Kevin Houlihan 923f2459cf Passwords could be revealed in console by pressing backspace.
Pressing backspace causes hidden input (such as passwords) to be revealed on the console. The echo state was not being taken into account when handling a backspace key press.
2011-09-16 19:25:38 +01:00
Chris Hart d4043c084a MSSQL Bug fix in user account retrieval, plus migrations for FriendsStore and InventoryStore 2011-09-16 19:09:46 +01:00
Kevin Houlihan 1458fab82c Reattaching a region was failing if the estate name had not changed (issue 5035).
Using the RemoteAdmin API to close then recreate a region would fail if the estate name had not changed. If the estate name /was/ changed then the existing estate would be renamed rather than a new one being created. The problem really arose from a lack of distinction in the data storage layer between creating new estates and loading existing ones.
2011-09-16 18:50:25 +01:00
Justin Clark-Casey (justincc) 9046651583 Pass any region scope through to the CreateUser() method 2011-09-16 00:36:43 +01:00
Justin Clark-Casey (justincc) 37370a8102 On standalone, by default create the necessary minimum body parts and clothes necessary to display a viewer 2 avatar, as implemented in c4efb97d
This is controlled by the CreateDefaultAvatarEntries switch in the [UserAccountService] section of config-include/Stnadalone.ini
This is left as false in grid mode
2011-09-16 00:30:37 +01:00
Justin Clark-Casey (justincc) 4ae4b14b5d refactor: move estate owner setup code into separate method 2011-09-16 00:24:23 +01:00
Justin Clark-Casey (justincc) 522d6261f1 Correctly create a freshly created estate owner's default items and avatar entries on standalone if applicable. 2011-09-16 00:12:12 +01:00
Justin Clark-Casey (justincc) c4efb97d49 Write code to create minimum necessary body parts/clothing and avatar entries to make a newly created user appear as a non-cloud on viewer 2
Viewer 2 no longer contains the default avatar assets (i.e. "Ruth") that would appear if the user had insufficient body part/clothing entries.
Instead, avatars always appear as a cloud, which is a very bad experience for out-of-the-box OpenSim.
Default is currently off.  My intention is to switch it on for standalone shortly.
This is not particularly flexible as "Ruth" is hardcoded, but this can change in the future, in co-ordination with the existing RemoteAdmin capabilities.
Need to fix creation of suitable entries for users created as estate owners on standalone.
Avatars still appear with spooky empty eyes, need to see if we can address this.
This commit adds a "Default Iris" to the library (thanks to Eirynne Sieyes from http://opensimulator.org/mantis/view.php?id=1461) which can be used.
2011-09-15 22:59:29 +01:00
Justin Clark-Casey (justincc) de19dc3024 refactor: rename SOG/SOP.GetProperties() to SendPropertiesToClient() to reflect what it actually does
This also makes it consistent with some other methods that send data to the client.
2011-09-15 18:58:58 +01:00
Justin Clark-Casey (justincc) a4cc5f628f Only bother to create an inventory xfer file if there are any items in a prim inventory 2011-09-15 18:42:10 +01:00
Justin Clark-Casey (justincc) 8fb3e71b14 Shuffle order of code in invnetory connector GetFolderContent() calls to avoid a possible race condition 2011-09-15 18:36:22 +01:00
Justin Clark-Casey (justincc) 42f1b88eb2 If a prim inventory becomes empty through deletion, send an empty xfer file name rather than one that references a metadata file containing only the folder object.
If we do this, then viewer 3 crashes when we try and rez a script directly in an attachment's prim inventory.
Sending an empty file name was already being done if the prim's inventory had never been touched.
Now we always do that if there are no items in that inventory.
Hopefully addresses the remaining point in http://opensimulator.org/mantis/view.php?id=5644
2011-09-15 18:13:36 +01:00
Justin Clark-Casey (justincc) bd991fc95f Don't try and delete attachments for child agent close 2011-09-13 22:54:50 +01:00
Justin Clark-Casey (justincc) 1084d8f6a2 Remove code from DetachSingleAttachmentToInv() that sets group changed on all parts, now that we're performing this check in UpdateKnownItem() for other purposes 2011-09-13 22:39:06 +01:00
Justin Clark-Casey (justincc) 61affee814 remove redunant itemID and agentID arguments from UpdateKnownItem().
itemID is always taken taken from the group's stored item id, and agentID is never used.
2011-09-13 22:33:15 +01:00
Justin Clark-Casey (justincc) 2d62484f11 Remove UpdateKnownItem() from IAttachmentsModule.
It's not appropriate for code outside the attachments module to call this.
2011-09-13 22:27:33 +01:00
Justin Clark-Casey (justincc) 62b3e74bc5 minor: remove redundant grp != null check from AM.UpdateKnownItem() 2011-09-13 22:24:33 +01:00
Justin Clark-Casey (justincc) 8880aea728 Stop attempts to rewear already worn items from removing and reattaching.
Viewer 2/3 will sometimes attempt to rewear attachments, even though they have already been attached during the main login process.
This change ignores those attempts.
This stops script failures during login, as the rewearing was racing with the script startup code.
It might also help with attachments being abnormally put into deleted state.
Hopefully resolves some more of http://opensimulator.org/mantis/view.php?id=5644
2011-09-13 22:13:58 +01:00
Justin Clark-Casey (justincc) 618277e797 Comment out attachments code in Scene.IncomingCreateObject(UUID userID, UUID itemID) for now
As far as I can see, this is only invoked by a PUT request to ObjectHandlers, which is not being used anyway.
Invoking attachments code at this point is probably inappropriate since it would still be invoked when the client entered the scene.
Being commented to simplify analysis of attachments issues.  Can be uncommented when in use.
Also, small tweak to lock and log removal of a SOG from the SceneObjectGroupsByLocalPartID collection in SceneGraph.GetGroupByPrim() if an inconsistency is found.
2011-09-13 20:25:32 +01:00
Justin Clark-Casey (justincc) df73833a2c stop the duplicate remove of the root part ids from the full part and local part indexes in SG.DeleteSceneObject()
this is unnecessary because the parts array iterated through contains the root part as well as the non-root parts
2011-09-13 18:11:13 +01:00
Justin Clark-Casey (justincc) f09a90d8a7 extend TestGetSceneObjectByPartLocalId() to test state after scene object deletion 2011-09-13 18:08:05 +01:00
Justin Clark-Casey (justincc) 07ba28f1de In SG.AddSceneObject(), stop unnecessarily adding the root part to object indexes sepearately from the other parts.
The SOG.Parts property contains the root part as well as the non-root parts
2011-09-13 17:56:02 +01:00
Justin Clark-Casey (justincc) c14f0a22d4 Add new TestGetSceneObjectByPartLocalId() for retrieving a scene object via the local id of one of its parts 2011-09-13 17:52:10 +01:00
Justin Clark-Casey (justincc) 88bd71b978 improve TestAddSceneObject() to test a multi-part object rather than a single-part 2011-09-13 17:40:39 +01:00
Justin Clark-Casey (justincc) 306af9934a In an object return message, send a null-terminated empty string in binary bucket to prevent a viewer 3 crash.
This is the message sent to the client when the object is returned.
We were sending byte[0] in the binary bucket.  This didn't kill viewer 1 but did terminate viewer 3 (don't know about viewer 2).
So sending "\0" instead.
This is to address http://opensimulator.org/mantis/view.php?id=5683
2011-09-13 17:13:42 +01:00
Justin Clark-Casey (justincc) dea0935361 eliminate redundant SP.m_regionInfo since it always has the scene.
We were already referencing through the scene in some places.
2011-09-12 23:00:15 +01:00
Justin Clark-Casey (justincc) 62b2450529 remove the unused SP.initializeScenePresence() 2011-09-12 22:54:54 +01:00
Justin Clark-Casey (justincc) 56cd7d9685 stop the redundant passing in of RegionInfo to SceneGraph, since the Scene is always passed in at the same time. 2011-09-12 22:51:56 +01:00
Justin Clark-Casey (justincc) 00f8946bd4 minor: if the script engine fails to find a prim for a script, also print out that prim's local id in the error message. 2011-09-12 22:44:14 +01:00
Justin Clark-Casey (justincc) 294120c9d3 comment out some recent terrain texture logging 2011-09-12 22:26:04 +01:00
Justin Clark-Casey (justincc) ea0f78c971 Start locking entire add/remove operations on an IScenePresence.AttachmentsSyncLock object
Attach and detach packets are processed asynchronously when received from a viewer.
Bugs like http://opensimulator.org/mantis/view.php?id=5644 indicate that in some situations (such as attaching/detaching entire folders of objects at once), there are race conditions between these threads.
Since multiple data structures need to be updated on attach/detach, it's not enough to lock the individual collections.
Therefore, this commit introduces a new IScenePresence.AttachmentsSyncLock which add/remove operations lock on.
2011-09-12 21:57:22 +01:00
Justin Clark-Casey (justincc) dab6387bba lock AvatarAppearance.m_attachments when we use it
This is partly to address http://opensimulator.org/mantis/view.php?id=5644, though something more thorough is needed.
2011-09-12 21:05:26 +01:00
Justin Clark-Casey (justincc) 44a491f36b uncomment Standalone config in OpenSim.ini.example.
This is to make my life easier when creating releases.
I think that it also gives a better story for anybody newly compiling from source.
2011-09-12 20:31:14 +01:00
Oren Hurvitz 7f318277f1 When creating an OAR, optionally exclude objects according to their permissions 2011-09-12 20:09:24 +01:00
Justin Clark-Casey (justincc) 517932722b minor: put <remarks> tags around some method doc 2011-09-12 20:06:09 +01:00
Justin Clark-Casey (justincc) 728fd0b1b8 lock attachments when enumerating through them in ScenePresence.CopyTo().
May have some effect on http://opensimulator.org/mantis/view.php?id=5644
2011-09-10 01:09:17 +01:00
Justin Clark-Casey (justincc) 9c32b131fd Add extra log information when attachments fail validation 2011-09-10 00:57:52 +01:00
Justin Clark-Casey (justincc) 7531851bec reinstate the validation logging on teleport. A 'fail' of validation still doesn't prevent the actual teleport. 2011-09-10 00:45:50 +01:00
Justin Clark-Casey (justincc) de28c9cd24 Stop the UserManagementModule logging every user it adds for now 2011-09-10 00:23:52 +01:00
Oren Hurvitz 1dd904b78e Delay loading scripts until the scene has finished loading 2011-09-09 23:01:05 +01:00
Kevin Houlihan 7cafc2e46e Added a check to the CreateRegion method of the RemoteAdmin module that the specified user exists.
A meaningful exception message is returned if the user is not found. Previously it was returning "Object not set..."
2011-09-09 22:59:00 +01:00
Micheil Merlin 28961dd1cf llSetPrimitiveParams Prim type params precision errors 2011-09-09 22:53:45 +01:00
Justin Clark-Casey (justincc) bea2e0f32b Comment out the part of the load oar code that zeroes out prim sit target orientations and positions.
The warning about these causing problems is very old and may no longer apply.
Hopes to fix http://opensimulator.org/mantis/view.php?id=5680
2011-09-09 22:50:54 +01:00
Justin Clark-Casey (justincc) 655935db49 Use a copy of the inventory items list to register users in the thread started by GetFolderContent(), to protect ourselves against callers modifying lists
Hopefully this addresses http://opensimulator.org/mantis/view.php?id=5681
2011-09-09 19:55:30 +01:00
Justin Clark-Casey (justincc) 42790f021f Fix unit tests from RegionSettings commit 2011-09-09 00:47:23 +01:00
Justin Clark-Casey (justincc) 086bf9f15d Save the default terrain texture UUIDs for a new region instead of leaving them as UUID.Zero.
Leaving them at UUID.Zero meant that when a viewer 2 logged into a region that had been freshly created, it received UUID.Zero for these textures, and hence display the land as plain white.
On a simulator restart, the problem would go away since when the database adapators loaded the new region settings, RegionSettings itself has code to use default textures instead of UUID.Zero.
This commit resolves the problem by saving the default texture UUIDs instead of Zero.
However, we currently have to do this in a roundabout way by resaving once the RegionSettings have been created by the database for the first time.  This needless complexity should be addressed.
This change will also have the effect of replacing any existing UUID.Zero terrain textures with the default ones.
However, this shouldn't have any effect since the UUID.Zeros were already being replaced in memory with those same UUIDs.
2011-09-09 00:38:04 +01:00
Justin Clark-Casey (justincc) f5eace6781 Fix test failure. Oversight in setting up the tests themselves. 2011-09-08 21:54:40 +01:00
Justin Clark-Casey (justincc) 9615292133 Centralize module setup for NPC tests.
This is overkill for some tests since they dont' need all the modules, but I think the gain in code readability is worth it
2011-09-08 21:06:10 +01:00
Justin Clark-Casey (justincc) 96a3b68086 Remember to set and unset the fire and forget method at the top of the attachment and npc tests 2011-09-08 20:59:52 +01:00
Justin Clark-Casey (justincc) bd5d2cb043 Use scene presence agent id for rezzed object ownership rather than item owner.
These should be identical.  However, the item isn't available when rezzing npc attachments.
2011-09-08 20:51:52 +01:00
Justin Clark-Casey (justincc) 3e7960d161 Increase information in logging for UserAgentServiceConnector.
Done for http://opensimulator.org/mantis/view.php?id=5669
2011-09-08 19:52:28 +01:00
Justin Clark-Casey (justincc) 08bd16285d When invoking any of the OSSL teleport functions, do it on a separate thread rather than the script thread.
This is to prevent the aborting of attachment script threads on teleport from aborting the one actually doing the teleport.
This allows OSSL teleport functions to work when invoked on scripts in attachments (and huds, I assume)
2011-09-07 23:55:41 +01:00
Justin Clark-Casey (justincc) 7cadb89a0f When a region is added to the HG Inventory Broker, also pass this through to the embedded local inventory connector to prevent an NRE when that connector tries to lookup the UserManager through the scene.
This is to address http://opensimulator.org/mantis/view.php?id=5669
However, if this failure was happening I'm kind of surprised that local HG inventory was working at all.....
We probably weren't seeing these exceptions previously because we weren't logging them when the reached the top of a FireAndForget thread.
2011-09-07 23:16:19 +01:00
Justin Clark-Casey (justincc) d7a516d885 Add temporary debugging in HGInventoryBroker and RemoveXInventoryServiceConnector
This is for http://opensimulator.org/mantis/view.php?id=5669
If we can't retrieve an IUserManagement module we complain, and we also warn in the log when its manually set in XISC by HGInventoryBroker
2011-09-06 23:16:37 +01:00
Justin Clark-Casey (justincc) e6cd4defdb Lock m_pendingObjects when calling GetPendingObjectsCount().
This is only called by a region console command.
We should also be locking m_partsUpdateQueue when dequeueing the next part, or locking m_pendingObjects in QueuePartForUpdate().
However, I won't do this now since I don't have time to analyze how this would affect liveness.
2011-09-06 22:48:05 +01:00
Justin Clark-Casey (justincc) 3d4d3427cd Comment out SceneViewer.Reset() and stop calling from Close() since this is useless work as a closed scene object is never reset.
Strictly speaking, we could also stop bothering to clear the m_updateTimes and m_partsUpdateQueue if we are sure that the whole SceneViewer is shortly to be garbage collected anyway, but we'll leave them around for now.
2011-09-06 22:44:34 +01:00
Justin Clark-Casey (justincc) 405a5b097b Comment out unused ISceneViewer.Reset() to reduce code complexity 2011-09-06 22:39:01 +01:00
Justin Clark-Casey (justincc) 4bf3adffb8 In SceneViewer, introduce an IsEnabled flag and perform Close() under an m_pendingObjects lock in order to avoid the race condition seen by danbanner in http://opensimulator.org/mantis/view.php?id=5669 2011-09-06 22:26:28 +01:00
Justin Clark-Casey (justincc) 1a8f5b97b9 refactor: Make logic in AM.AttachObject() clearer by not reusing existing variables in different contexts 2011-09-06 02:40:19 +01:00
Justin Clark-Casey (justincc) 5beee42809 rename AM.AddSceneObjectAsAttachment() to AddSceneObjectAsNewAttachmentInInv 2011-09-06 02:29:22 +01:00
Justin Clark-Casey (justincc) b903d2ca96 In SetAttachment, if the existing attachment has no asset id then carry on rather than abort.
When a user logs in, the attachment item ids are pulled from persistence in the Avatars table.  However,
the asset ids are not saved.  When the avatar enters a simulator the attachments are set again.  If
we simply perform an item check then the asset ids (which are now present) are never set, and NPC attachments
later fail unless the attachment is detached and reattached.

Hopefully resolves part of http://opensimulator.org/mantis/view.php?id=5653
2011-09-06 01:59:21 +01:00
Justin Clark-Casey (justincc) c6ec573d10 Get rid of the confusing version of IAttachmentsModule.RezSingleAttachmentFromInventory() with the updateInventoryStatus switch, since this is never called with false 2011-09-06 00:36:38 +01:00
Justin Clark-Casey (justincc) 05a4bedc30 get rid of the unused AttachmentsModule.ShowAttachInUserInventory() 2011-09-06 00:32:52 +01:00
Justin Clark-Casey (justincc) 0cb0140a1d Stop the pointless double setting of every attachment in AvatarAppearance.
The second was already being filtered out so this has no user level effect
2011-09-06 00:29:37 +01:00
Justin Clark-Casey (justincc) cf73afec35 Try disabling the inconsistent attachment state check to see if this actually has an impact.
The code in question is over three years old and just be catching an inconsistency rather than being wholly necessary.
This commit still carries out the check and prints all the previous log warnings but a 'failure' no longer prevents avatar region crossing or teleport, and it doesn't give the client the error message.
This will have some kind of impact on http://opensimulator.org/mantis/view.php?id=5672
2011-09-05 23:42:37 +01:00
Justin Clark-Casey (justincc) 5e579b71fd Allow the HGInventoryBroker to set the UserManager when it instantiates a RemoteXInventoryServiceConnector for a visiting HG user.
Not doing this causes NREs whenever that user tries to access inventory when Hypergrid is turned on since the Remote connector does not have a scene (which is only used to fetch the UserManager)
Aims to address http://opensimulator.org/mantis/view.php?id=5669
2011-09-05 22:55:48 +01:00
Snoopy Pfeffer 9f75eaf50e Fixed BulletSim config files for Linux *.so libraries. 2011-09-04 21:42:33 +02:00
Justin Clark-Casey (justincc) 5c1fa968ab Stop NPCs losing attachments when the source avatar takes them off.
This was happening because we were using the source avatar's item IDs in the clone appearance.
Switch to using the asset IDs of attachments instead for NPCs.
The InventoryAccessModule and AttachmentModule had to be changed to allow rezzing of an object without an associated inventory item.
Hopefully goes some way towards resolving http://opensimulator.org/mantis/view.php?id=5653
2011-09-03 01:11:16 +01:00
Justin Clark-Casey (justincc) e6eb0d9a6f Comment out Scene.CleanDroppedAttachments() and calls.
This method wasn't actually doing anything since dropped attachments retain a PCode of 9.
Also, behaviour of dropped attachments in other places appears to be that they persist after avatar logout rather than get deleted.
2011-09-02 23:19:27 +01:00
Justin Clark-Casey (justincc) dbcfb25a52 Remove redundant RootPart.CreatedSelected = true in IAM.RezObject() since this is done through parts iteration 2011-09-02 22:54:03 +01:00
Justin Clark-Casey (justincc) 26b471f25a Go back to resetting the State parameter for all parts of a SOG when SOG.ClearPartAttachmentData() is called.
Even though we don't use these on rez they are still present after an unlink, after which selecting them causes various viewers to crash
Hopefully really does address http://opensimulator.org/mantis/view.php?id=5664
2011-09-02 22:28:27 +01:00
Justin Clark-Casey (justincc) af7c6c5f39 stop passing FromUserInventoryItemID right down into the deserializer.
the code becomes simpler if this is set from the outside - only one place needs to do this.
2011-09-02 00:50:16 +01:00
Justin Clark-Casey (justincc) 9c0a03731d Move more of IAM.RezObject() into DoPreRezWhenFromItem() 2011-09-02 00:41:21 +01:00
Justin Clark-Casey (justincc) 15ea82e925 move more of IAM.RezObject() into DoPreRezWhenFromItem() 2011-09-02 00:25:05 +01:00
Justin Clark-Casey (justincc) 01146bb3e3 factor out a section of IAM.RezObject() into DoPreRezWhenFromItem() 2011-09-02 00:04:22 +01:00
Justin Clark-Casey (justincc) 3e86064d6b refactor: factor out DoPostRezWhenFromItem() from IAM.RezObject() 2011-09-01 23:49:38 +01:00
Justin Clark-Casey (justincc) cc8897127b remove the pointless m_Scene.GetNewRezLocation() call at the top of IAM.RezObject() since its always recalculated later on anyway 2011-09-01 23:37:03 +01:00
Justin Clark-Casey (justincc) 712d44635a refactor: Move sanity checks to the top of IAM.RezObject() to make the code more readable 2011-09-01 23:14:50 +01:00
Justin Clark-Casey (justincc) e30651b931 use group.RootPart in IAM.RezObject() rather than group.GetChildPart(group.UUID); 2011-09-01 23:09:14 +01:00
Justin Clark-Casey (justincc) 8b83c4a433 Remove pointless NRE check in IAM.RezObject() since this can never occur 2011-09-01 23:06:57 +01:00
Justin Clark-Casey (justincc) 1bf29d60e1 Remove code which was automatically deleting non-root prims from scene objects that had previous been attachments.
Looks like this code was accidentally uncommented in e1b5c612 from feb 2010.
Appears to resolve the rest of http://opensimulator.org/mantis/view.php?id=5664
2011-09-01 22:05:05 +01:00
Justin Clark-Casey (justincc) 616e672fce If the user receiving an inventory folder has left the scene by the time the acceptence message arrives, then don't send them an inventory update.
Doing so causes a NullReferenceException
2011-09-01 02:43:17 +01:00
Justin Clark-Casey (justincc) c491cdcb95 refactor: use SOG register target waypoints and rots directly instead of calling through the SOP, which doesn't make conceptual sense anyway. 2011-09-01 02:18:31 +01:00
Justin Clark-Casey (justincc) 7eca929686 Eliminate pointless checks of SOG.RootPart != null
It's never possible for SOG to have no RootPart, except in the first few picosends of the big bang when it's pulled from region persistence or deserialized
2011-09-01 02:11:00 +01:00
Justin Clark-Casey (justincc) 10d883dc88 refactor: use ParentGroup.UUID directly instead of SOP.GetRootPartUUID() 2011-09-01 01:41:53 +01:00
Justin Clark-Casey (justincc) 63bf710237 Fix issue with llGetTorque() where it would only ever return a zero vector. 2011-09-01 01:37:35 +01:00
Justin Clark-Casey (justincc) 095b3e5756 Remove pointless cluttering SOP.ParentGroup != null checks.
The only times when ParentGroup might be null is during regression tests (which might not be a valid thing) and when scene objects are being constructed from the database.
At all other times it's not possible for a SOP not to have a SOG parent.
2011-09-01 01:22:28 +01:00
Justin Clark-Casey (justincc) 083ba72b28 Fix a bug where the non-root parts of rezzed objects that had previously been attachments were sending their old attachment values to the client.
The root part state is the canonical value, so always send that instead.
Sending conflicting attachments states for non-root parts of a rezzed object is enough to crash the client.
Fixes http://opensimulator.org/mantis/view.php?id=5664.
Many thanks to mewtwo0641 for some fantastic qa work on this one.
2011-08-31 23:33:01 +01:00
Justin Clark-Casey (justincc) ca9a054bba Don't set a GridUser entry for NPCs.
Resolves http://opensimulator.org/mantis/view.php?id=5665
2011-08-31 18:03:07 +01:00
Justin Clark-Casey (justincc) 7d58b5fa15 move common code into AttachmentsModule.DeleteAttachmentsFromScene() 2011-08-31 17:53:58 +01:00
Justin Clark-Casey (justincc) 3aa86d22d1 If a FireAndForget thread terminates with an exception, then catch and log rather than letting it terminate the simulator.
Exceptions don't appear to do this with the SmartThreadPool but they do with UnsafeQueueUserWorkItem (and maybe others)
2011-08-31 17:38:32 +01:00
Justin Clark-Casey (justincc) e69f246b86 refactor: move multiple class to set avatar height into associated SP.AddToPhysicalScene() 2011-08-31 17:25:18 +01:00
Justin Clark-Casey (justincc) 899d109e82 get rid of appearance null checks - this is never null 2011-08-31 17:13:53 +01:00
Justin Clark-Casey (justincc) 8c703022c1 In WorldCommModule, replace the useless Attachments == null check with Attachments.Count == 0 instead 2011-08-31 16:50:18 +01:00
Justin Clark-Casey (justincc) d3c03658aa minor: remove mono compiler warning 2011-08-31 16:48:21 +01:00
Justin Clark-Casey (justincc) 54839d28ad remove pointless m_attachments == null check since this field is never null 2011-08-31 16:46:43 +01:00
Justin Clark-Casey (justincc) 5a5206449f minor: seal up another instance of using the appearance list without locking 2011-08-31 16:41:58 +01:00
Justin Clark-Casey (justincc) 32444d98cb Make SP.Attachments available as sp.GetAttachments() instead.
The approach here, as in other parts of OpenSim, is to return a copy of the list rather than the attachments list itself
This prevents callers from forgetting to lock the list when they read it, as was happening in various parts of the codebase.
It also improves liveness.
This might improve attachment anomolies when performing region crossings.
2011-08-31 16:29:51 +01:00
Justin Clark-Casey (justincc) 2acfff9f6d remove pointless ToArray() call in AttachmentsModule.SaveChangedAttachments() 2011-08-30 23:39:26 +01:00
Justin Clark-Casey (justincc) 1809aaf74c minor: remove already processed avatar null check in Scene.RemoveClient()
remove some now duplicated method doc
2011-08-30 23:36:45 +01:00
Justin Clark-Casey (justincc) ddc733cd3d refactor: move SP.SaveChangedAttachments() fully into AttachmentsModule 2011-08-30 23:32:30 +01:00
Justin Clark-Casey (justincc) 91f59f246f also get "nant clean" to remove old .mdb from .exe and .dll 2011-08-30 23:20:54 +01:00
Justin Clark-Casey (justincc) 9e4153f16b Hack our copy of Prebuild to just delete the dlls and mdbs in Physics, so as to leave the new config file 2011-08-30 23:17:02 +01:00
Justin Clark-Casey (justincc) 04bafd2122 refactor: Move ScenePresence.RezAttachments() into AttachmentsModule
This adds an incomplete IScenePresence to match ISceneEntity
2011-08-30 23:06:10 +01:00
Justin Clark-Casey (justincc) a90e1cf3aa add Name property to ISceneEntity 2011-08-30 22:39:16 +01:00
Justin Clark-Casey (justincc) 1de68b34d9 refactor: migrate DropObject handling fully into AttachmentsModule from Scene 2011-08-30 22:25:38 +01:00
Justin Clark-Casey (justincc) 37a5cf5783 minor: comment out friends number logging from login for now 2011-08-30 22:08:43 +01:00
Justin Clark-Casey (justincc) 953611af53 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-08-30 22:07:32 +01:00
Justin Clark-Casey (justincc) e7a515bab0 Fix bug where attachments were remaining on the avatar after being dropped.
If the inventory service is configured not to allow deletion then these will not disappear from inventory
2011-08-30 22:06:24 +01:00
Robert Adams b705ad477e BulletSim: update values in OpenSimDefaults.ini to the same as defaults in the source. 2011-08-30 13:49:50 -07:00
Robert Adams b281163457 BulletSim: add .so for 64 bit Linux. Move .config file to where it will be read. 2011-08-30 13:19:53 -07:00
Mic Bowman 17dab7245f Merge branch 'master' into bulletsim 2011-08-30 08:44:28 -07:00
Justin Clark-Casey (justincc) be357f8fee Fix bug in persisting saved appearances for npcs
Assets have to be marked non-local as well as non-temporary to persist.  This is now done.
Hopefully addresses http://opensimulator.org/mantis/view.php?id=5660
2011-08-30 01:58:32 +01:00
Robert Adams 96dce3e16c Use GetMeshKey from PrimitiveBaseShape. 2011-08-29 10:10:48 -07:00
Mic Bowman 648866b597 Merge branch 'master' into bulletsim 2011-08-29 09:55:34 -07:00
Robert Adams 18037d41c4 Move GetMeshKey from buried inside Meshmerizer to a public method on PrimitiveBaseShape
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-08-28 16:50:54 -04:00
Robert Adams 80a2b81d52 Add level of detail specification to optionally reduce the number of vertices in generated prim meshes
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-08-28 16:49:25 -04:00
Makopoppo 795b56e695 Related to #4689 - Adding missing null check for SceneObjectPart
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-08-27 07:45:02 -04:00
Justin Clark-Casey (justincc) d4d894c20f Stop avatars returning from neighbouring regions from stalling on the border crossing.
On making a root agent, we need to reset the ScenePresence.m_movement_flag so that it doesn't remember the
movement registered to the client when it exited the initial region.
If this is remember, then the client avatar movement isn't updated and it appears to stall in mid-air, though this is resolved with a prod/release of any other direction key.
This bug was probably introduced a few weeks ago.  Surprised that nobody brought it up.
2011-08-27 01:28:33 +01:00
Justin Clark-Casey (justincc) 1615e7d29f Eliminate duplicate AttachmentPoint properties by always using the one stored in the root part's state field. 2011-08-27 00:33:24 +01:00
Justin Clark-Casey (justincc) b7700428ec refactor: camel case AttachmentPoint method arg as per code standards 2011-08-27 00:20:15 +01:00
Justin Clark-Casey (justincc) 33a894f3d2 refactor: move SOP.IsAttachment and AttachmentPoint up into SOG to avoid pointless duplication of identical values 2011-08-27 00:15:21 +01:00
Robert Adams 21708b832b BulletSim: add mesh representation. Use meshes for static objects and switch to hulls for physical objects. 2011-08-26 15:51:21 -07:00
Mic Bowman 23f10f1d22 Merge branch 'master' into bulletsim 2011-08-26 15:23:46 -07:00
Justin Clark-Casey (justincc) 15a514fcbc refactor: simplify SOP.AttachedAvatar into SOG.AttachedAvatar
This does a tiny bit to reduce code complexity, memory requirement and the cpu time of pointlessly setting this field to the same value in every SOP
2011-08-26 23:06:41 +01:00
Justin Clark-Casey (justincc) 5f3ffc195f refactor: move SOG.DetachToGround() to AttachmentsModule.DetachSceneObjectToGround() and remove redundant code 2011-08-26 22:49:11 +01:00
Justin Clark-Casey (justincc) ae614c1264 refactor: simplify DetachSingleAttachmentToGround() by retrieving the scene object group direct 2011-08-26 22:37:53 +01:00
Justin Clark-Casey (justincc) 040ad11e61 refactor: remove common presence set up in attachments tests 2011-08-26 22:24:51 +01:00
Justin Clark-Casey (justincc) dc61bf4b1f comment out verbose test logging from last commit 2011-08-26 22:17:27 +01:00
Justin Clark-Casey (justincc) 1dba047e4d add regression test for detaching an attachment to the scene 2011-08-26 22:17:05 +01:00
Justin Clark-Casey (justincc) 002313bf13 refactor: move sog.DetachToInventoryPrep() into AttachmentsModule.DetachSingleAttachmentToInv() 2011-08-26 22:02:23 +01:00
Justin Clark-Casey (justincc) fcbed6479a Downgrade warning about not saving unchanged attachment to debug instead, and change text to better indicate what it's saying 2011-08-26 21:46:12 +01:00
Justin Clark-Casey (justincc) 6c692d2e21 Fix a very recent regression from llAttachToAvatar() fix where I accidentally stopped normal script state persistence on login/logout and attach/detach 2011-08-26 21:26:29 +01:00
BlueWall 04d42860fe Merge branch 'master' of /home/opensim/src/opensim 2011-08-25 07:01:57 -04:00
Micheil Merlin cf42fcd978 llSetPrimitiveParams correct prim hollow for cases where limit should be 70%.
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-08-25 06:50:55 -04:00
Justin Clark-Casey (justincc) 4b4c5e69e5 Remove forcing of phantom on ground attached objects - attachments can be both non-phantom and flagged as physical.
As per Melanie
2011-08-24 22:45:51 +01:00
Justin Clark-Casey (justincc) d5dc8133fc remove pointless IsDeleted check on SP.RezAttachments()
IsDeleted is never set for an SP, even though it's on EntityBase.
It might be an idea to set it in the future
2011-08-24 22:37:08 +01:00
Justin Clark-Casey (justincc) 6d4432f440 refactor: simplify EntityBase.IsDeleted property 2011-08-24 22:34:26 +01:00
Justin Clark-Casey (justincc) 21f1b68fdf extend initial rez regression test to check that attachment is phantom 2011-08-24 22:25:23 +01:00
Justin Clark-Casey (justincc) 73d913dad2 Make objects attached from the ground phantom 2011-08-24 22:12:51 +01:00
Justin Clark-Casey (justincc) 9ba4511d3e add SOG helper properties IsPhantom, IsTemporary, etc. to improve code readability
use these in some sog methods
2011-08-24 21:53:12 +01:00
Justin Clark-Casey (justincc) 801b7f18a7 return InventoryItemBase from AddSceneObjectAsAttachment() 2011-08-24 21:40:36 +01:00
Justin Clark-Casey (justincc) 5eeee480d4 refactor: move Scene.Inventory.attachObjectAssetStore() into AttachmentsModule.AddSceneObjectAsAttachment() 2011-08-24 21:35:44 +01:00
Justin Clark-Casey (justincc) 274e354006 get rid of pointless grp null check in attachObjectAssetStore() 2011-08-24 21:23:10 +01:00
Justin Clark-Casey (justincc) 0e0d40c810 minor: remove hardcoded region numbers with the region size constant and a currently hardcoded offset 2011-08-24 21:18:11 +01:00
Justin Clark-Casey (justincc) ccf07f6ae3 refactor: remove pointless AgentId argument from attachObjectAssetStore() 2011-08-24 21:14:57 +01:00
Justin Clark-Casey (justincc) b9ec625dbf add TestAddAttachmentFromGround() regression test 2011-08-24 21:07:46 +01:00
Justin Clark-Casey (justincc) cf3ffe5bb4 Fix llAttachToAvatar()
Apart from one obvious bug, this was failing because attempting to serialize the script from inside the script (as part of saving the attachment as an inventory asset) was triggering an extremely long delay.
So we now don't do this.  The state will be serialized anyway when the avatar normally logs out.
The worst that can happen is that if the client/server crashes, the attachment scripts start without previous state.
2011-08-24 20:49:23 +01:00
Justin Clark-Casey (justincc) 97b207240e rename AttachmentsModule.ShowDetachInUserInventory() to DetachSingleAttachmentToInv() for consistency and to reflect it's actual behaviour 2011-08-23 22:05:22 +01:00
Justin Clark-Casey (justincc) 014cd4f8bb remove mono compiler warnings 2011-08-23 21:41:16 +01:00
Justin Clark-Casey (justincc) 805ba268d5 replace TestRemoveAttachments() with a more thorough TestRemoveAttachment() 2011-08-23 21:37:36 +01:00
Justin Clark-Casey (justincc) 4a101080ee Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-08-23 21:21:02 +01:00
Justin Clark-Casey (justincc) 34aed96a2f replace old TestAddAttachments() with a more thorough TestAddAttachment() 2011-08-23 21:20:23 +01:00
Mic Bowman ce011d7e44 Protect a check for default texture entry when setting alpha values. Apparently
if all faces have their own textures then the default texture is null
2011-08-23 10:52:12 -07:00
Justin Clark-Casey (justincc) afd5469eec Remove pointless contains check in ScenePresence.RemoveAttachment() 2011-08-23 00:08:29 +01:00
Justin Clark-Casey (justincc) 1f3ce48be1 If an object failed to attach due to an exception, then try and detach it from the avatar's list of attachments as well as delete it from the scene.
This may help with the "Inconsistent attachment state" errors seen on teleport.
See http://opensimulator.org/mantis/view.php?id=5644 and linked reports
2011-08-23 00:04:38 +01:00
Justin Clark-Casey (justincc) d328046efb If an attachment fails, then start logging the exception for now, in order to help with the inconsistent state bug.
This also refactors AttachmentsModules to stop pointlessly refetching the ScenePresence in various methods.  However, more of this is required.
2011-08-22 23:59:48 +01:00
Justin Clark-Casey (justincc) 2eaadf2dc0 Add warning log message to say which attachment fails validation in order to pin down problems with "Inconsistent Attachment State" 2011-08-22 23:28:37 +01:00
Justin Clark-Casey (justincc) 138a5e04b8 minor: remove mono compiler warning 2011-08-22 23:10:43 +01:00
Justin Clark-Casey (justincc) 940a248c3d minor: comment out simulator features log line 2011-08-22 22:44:49 +01:00
Justin Clark-Casey (justincc) 7cf4bb5256 Add ISimulatorFeaturesModule so that other modules can register features in addition to the hardcoded ones. 2011-08-22 22:13:07 +01:00
Snoopy Pfeffer db91044593 Thanks Neil Canham for fixing bulk inventory updates, no sending BulkInventoryUpdate after accepting inventory items. 2011-08-22 14:51:43 +02:00
Justin Clark-Casey (justincc) d74686fd51 read m_rpcHandlersKeepAlive under appropriate lock 2011-08-22 02:25:58 +01:00
Justin Clark-Casey (justincc) c587b0a3a3 oops, fix build break from last commit 2011-08-22 02:10:45 +01:00
Justin Clark-Casey (justincc) 9469c62098 improve locking of m_agentHandlers in BaseHttpServer 2011-08-22 02:07:51 +01:00
Justin Clark-Casey (justincc) f9a367e2f6 improve locking of m_HTTPHandlers in BaseHttpServer 2011-08-22 01:59:40 +01:00
Justin Clark-Casey (justincc) 5a11cffd23 improve locking of m_streamHandlers in BaseHttpServer 2011-08-22 01:58:50 +01:00
Justin Clark-Casey (justincc) 20a4367827 remove necessity to catch a KeyNotFoundException in BaseHttpServer.RemoveLLSDHandler() 2011-08-22 01:58:19 +01:00
Justin Clark-Casey (justincc) 8254116dc6 improve locking of m_llsdHandlers in BaseHttpServer 2011-08-22 01:52:08 +01:00
Justin Clark-Casey (justincc) 2f1ac1d144 minor: remove mono compiler warning 2011-08-22 01:45:46 +01:00
Justin Clark-Casey (justincc) 94a8ab80c8 improve locking of m_rpcHandlers in BaseHttpServer 2011-08-22 01:43:34 +01:00
Justin Clark-Casey (justincc) 2307d9a2f9 minor: Add explanative text for the new currency parameter. Convert some tabs to spaces 2011-08-22 00:58:11 +01:00
BlueWall 5e231acdce Add avatar and attachments to llRegionSay
llRegionSay will now message avatars on chan 0
  and will message attachments on the avatar that
  listen on channels other than 0.

  This behavior is consistant with the LL
  implementation as tested on regions in Agni
  with one exception: this implementation does
  not include issue:
    https://jira.secondlife.com/browse/SCR-66?
2011-08-20 12:36:35 -04:00
BlueWall 2787207aa2 Add llRegionSayTo
llRegionSayTo(key target, integer channel, string messasge)

	Allows messages to be sent region-wide
	to a particular prim.
2011-08-19 18:47:21 -04:00
Mic Bowman 384cb79a1a Merge branch 'master' into bulletsim
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneManager.cs
2011-08-19 14:49:16 -07:00
Justin Clark-Casey (justincc) a0a0c64cb1 Get rid of HttpServer.dll to avoid confusion since we use HttpServer_OpenSim.dll (patched version) instead 2011-08-19 03:02:17 +01:00
Robert Adams bb5b396fc5 Fix exception when using BasicPhysics 2011-08-19 00:53:57 +01:00
Justin Clark-Casey (justincc) c9e6b7bd10 Stop NPC's getting hypergrid like names in some circumstances.
This meant punching in another AddUser() method in IUserManagement to do a direct name to UUID associated without the account check (since NPCs don't have accounts).
May address http://opensimulator.org/mantis/view.php?id=5645
2011-08-19 00:45:22 +01:00
Justin Clark-Casey (justincc) 3146f4bae0 Don't need to try both AssetService.Get and GetCached in GetMesh since Get always calls GetCached and code paths were identical 2011-08-18 23:36:43 +01:00
Robert Adams fef73a1a10 BulletSim: add runtime setting of physics parameters. Update default values. 2011-08-18 14:32:09 -07:00
Justin Clark-Casey (justincc) 49258350e8 refactor: fold CreateSceneViewer() back into ScenePresence constructor 2011-08-18 01:22:01 +01:00
Justin Clark-Casey (justincc) 8d29d490a1 minor: remove some mono compiler warnings 2011-08-18 01:16:58 +01:00
Justin Clark-Casey (justincc) 45c37ef494 refactor: Fold 3 ScenePresence() constructors into one since only one is called. 2011-08-18 01:11:23 +01:00
Justin Clark-Casey (justincc) c1a34cd8da Don't try to save changed attachment states when an NPC with attachments is removed from the scene.
This is done by introducing a PresenceType enum into ScenePresence which currently has two values, User and Npc.
This seems better than a SaveAttachments flag in terms of code comprehension, though I'm still slightly uneasy about introducing these semantics to core objects
2011-08-18 00:53:05 +01:00
Justin Clark-Casey (justincc) d8f886ccdb comment out noisy attachments logging 2011-08-17 23:41:20 +01:00
Justin Clark-Casey (justincc) eb8b6b7d52 minor: remove mono compiler warning 2011-08-17 23:28:57 +01:00
Justin Clark-Casey (justincc) 6b51d8a10e In the asset service, check that an asset exists before attempting to store it. 2011-08-17 23:24:41 +01:00
Justin Clark-Casey (justincc) 4a9b8184f7 For now, supress 'OH NOES' warnings given by HGInventoryBroker.CacheInventoryServiceURL when it tries to cache it for an NPC
This concept is meaningless for NPCs.  However, it might be better to make NPCism an actual property on ScenePresence and check.
Addresses http://opensimulator.org/mantis/view.php?id=5643
2011-08-17 01:51:58 +01:00
Justin Clark-Casey (justincc) acfdca34fd Fix issue where loading a new appearance onto an NPC would not remove the previous attachments from the scene.
Addresses http://opensimulator.org/mantis/view.php?id=5636
2011-08-17 01:35:33 +01:00
Justin Clark-Casey (justincc) bd5d35ee32 extend test to check that there is one attachment and that it has the right name 2011-08-17 00:42:58 +01:00
Justin Clark-Casey (justincc) 696bd44833 Add new regression TestRezAttachmentsOnAvatarEntrance() to do simple attachments check 2011-08-17 00:37:33 +01:00
Justin Clark-Casey (justincc) d73c424078 get rid of logged warnings about lack of some modules - afaik these never occur in real life and just clutter up tests 2011-08-16 23:12:58 +01:00
Justin Clark-Casey (justincc) 57e54d84d6 Add new FireAndForgetMethod.None.
This executes the callback on the same thread that made the request.  Designed for use only by regression tests that rely on a predicable event ordering.
2011-08-16 23:05:08 +01:00
Justin Clark-Casey (justincc) d3c10e609e Move some previously common code back into separate tests. Remove unused region handle from test. 2011-08-16 22:27:52 +01:00
Justin Clark-Casey (justincc) 0bbf7c21d7 Isolate existing incomplete attachments tests rather than have them rely on each other.
Much easier to debug this way.
2011-08-16 22:13:32 +01:00
Justin Clark-Casey (justincc) c58b32e7ba drop number of attachments in test from 3 to 2 to reduce text complexity 2011-08-16 22:09:13 +01:00
Justin Clark-Casey (justincc) 601257f8b6 remove setting up of second scene in attachments since it's not currently used 2011-08-16 21:58:52 +01:00
Justin Clark-Casey (justincc) 66eb537d0c relocate AttachmentTests.cs to AttachmentsModuleTests.cs 2011-08-16 21:56:56 +01:00
Justin Clark-Casey (justincc) eb431f91c0 Add terminating quotes to http addresses in [SimulatorFeatures] section of OpenSim.ini.example.
As per http://opensimulator.org/mantis/view.php?id=5638.  Thanks DutchGlory.
2011-08-16 21:50:15 +01:00
Justin Clark-Casey (justincc) 8d866ae8c3 minor: remove some mono compiler warnings 2011-08-16 21:45:01 +01:00
Justin Clark-Casey (justincc) 96ee87e39b Change the default standalone asset cache to be the Flotsam asset cache (with memory caching not enabled).
This matches the GridCommon setting and is the best tested setting.  It appears to work fine on standalone.
Also, add information that the flotsam asset cache is the recommended cache, since it is most used and actively maintained.
2011-08-16 21:38:51 +01:00
Justin Clark-Casey (justincc) e29e50798a minor: Add warning to OpenSim.ini.example about bullet plugins not working right now, pending the new plugin 2011-08-16 21:31:48 +01:00
Justin Clark-Casey (justincc) fd3a7ab70c minor: change some comment text in flotsam asset cache 2011-08-16 21:31:17 +01:00
Justin Clark-Casey (justincc) 8c95c83562 On Flotsam asset cache, go back to moving the file from the temporary location rather than copying.
Copying doesn't prevent IOExceptions on Windows due to file locking. (e.g. Mantis 5642, 5630).
So instead go back to moving the file, swallowing IOExceptions that occur just for the move due to competing caching threads or even different opensimulator instances.
2011-08-16 21:03:43 +01:00
BlueWall 0784791a44 Add "shutdown" message to RegionReady
Add "shutdown" message when removing region.
	From a patch submitted by Michelle Argus.
	Thanks Michelle
2011-08-15 16:21:04 -04:00
BlueWall dc772c608d Fix for monodevelop
External libraries need the "path=..." set so
	Prebuild.exe can properly build the projects
2011-08-15 16:17:32 -04:00
BlueWall e8f09cd5f7 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-08-15 13:04:02 -04:00
BlueWall e870442e31 Remove un-needed ATTACH command in migration script.
This was causing issues when using specified
	paths to database files by using a hard-coded
	name.
2011-08-15 12:59:17 -04:00
Snoopy Pfeffer 9a6ad1535e Added console command "delete object outside" to delete all objects outside region boundaries. This is especiyll useful in cases where physical objects outside regions boundaries cause much physics engine lag. 2011-08-15 17:46:51 +02:00
Snoopy Pfeffer 70ea625447 Added optional Login Service parameter "Currency" to be able to change the currency name shown in the viewer. 2011-08-14 18:20:20 +02:00
Snoopy Pfeffer e19843a0ee WorldMap: Added map item for Land-for-Sale. Implemented backlist item timeouts (default 10 minutes; see also new config file setting BlacklistTimeout) and removing backlisted neigboring regions that have been restarted from the blacklist. 2011-08-14 17:45:23 +02:00
Micheil Merlin b80dfb6572 llGetPrimitiveParams fix prim hollow/hole shape value 2011-08-13 15:34:08 +01:00
Justin Clark-Casey (justincc) dcb4b2de09 Fix a problem in the Flotsam asset cache where assets were being put into the memory cache even when it wasn't enabled.
This hopefully addresses http://opensimulator.org/mantis/view.php?id=5634
This is the most probable cause of the memory problems that people have been seeing in the past month.
This bug has been around since commit 5dc785b (4th July 2011).  Doh!  This is why regressions tests are such a good idea... :)
Many thanks to Nebadon for using git bisect to track down this bug, which made it a 5 minute fix.
2011-08-13 15:21:03 +01:00
Justin Clark-Casey (justincc) 77625dae36 Revert "llGetPrimitveParams fix prim hollow/hole shape return value"
This reverts commit d0bcaf1f16.

Accidentally applied only the prebuild.xml conflict fix.  But the full application seems to generate a regression test error anyway.
2011-08-13 01:13:17 +01:00
Micheil Merlin d0bcaf1f16 llGetPrimitveParams fix prim hollow/hole shape return value 2011-08-13 01:02:07 +01:00
Aaron Duffy 90c6fa89be Fix a bug preventing region modules from creating trees at anything but the default scale. 2011-08-13 00:52:32 +01:00
Justin Clark-Casey (justincc) 78ff82bfe9 If a map request to a server fails, always close the outbound connection.
This probably doesn't help with the current memory leak.
2011-08-12 23:40:22 +01:00
Justin Clark-Casey (justincc) ed142ead25 minor: change login enable/disable messages in last commit so that they occur after the setting has been made 2011-08-12 22:50:58 +01:00
Justin Clark-Casey (justincc) 4b88f04c0a minor: On "login disable/enable" always tell the user the final login status, rather than remaining silent if it was already on/off 2011-08-12 22:46:42 +01:00
Justin Clark-Casey (justincc) 76e0afe83f tidy up some OSSL NPC parameter names 2011-08-12 02:46:44 +01:00
Justin Clark-Casey (justincc) 16ac5413dd rename position parameter in osNpcMoveToTarget to target 2011-08-12 01:52:12 +01:00
Justin Clark-Casey (justincc) aebd46a434 rename osNpcStopMoveTo() to osNpcStopMoveToTarget() 2011-08-12 01:32:49 +01:00
Justin Clark-Casey (justincc) 2169cf04f9 When saving appearance, only save the baked textures, not the other face textures (which are already stored permanently) 2011-08-12 01:24:15 +01:00
Justin Clark-Casey (justincc) 65c4b8d37b Fix kicking of NPCs via "kick user" console command.
Needed to hook up the Close() function in the NPCAvatar IClientAPI implementation, which [unfortunately] is still needed
2011-08-12 00:51:05 +01:00
Justin Clark-Casey (justincc) 0a1bbc27d2 Allow the osNpcCreate() function to accept a notecard name or asset for initial appearance 2011-08-12 00:14:06 +01:00
Justin Clark-Casey (justincc) d23d37d2aa implement osNpcGetPos() 2011-08-11 23:36:22 +01:00
Justin Clark-Casey (justincc) a21e98ae1a implement osNpcGetRot() and osNpcSetRot()
Rotation works if done around the z axis.  Anything else leads to random results.
2011-08-11 23:28:14 +01:00
Justin Clark-Casey (justincc) b1ae930c6b Implement osAgentSaveAppearance() to save the appearance of an avatar in the region to a notecard
This is separate from osOwnerSaveAppearance() so that owner saves can be allowed without allowing arbitrary avatar saves
2011-08-11 22:26:47 +01:00
Justin Clark-Casey (justincc) 50945dd560 add regression test for osNpcCreate when cloning an in-region avatar 2011-08-11 21:43:26 +01:00
Justin Clark-Casey (justincc) 83ca5a101d Split out to-be-common setup stuff from TestOsOwnerSaveAppearance() 2011-08-11 20:56:18 +01:00
Justin Clark-Casey (justincc) 5d694a224f Add missing System.Xml reference which is required to build on Windows but not mono 2011-08-11 20:05:11 +01:00
Justin Clark-Casey (justincc) b3a4b10531 eliminate redundant ground sitting checks since these are already done in enclosing control structures 2011-08-11 03:16:46 +01:00
Justin Clark-Casey (justincc) 3d4cc93a8e minor: a little bit of log message correction/commenting out 2011-08-11 03:07:41 +01:00
Justin Clark-Casey (justincc) 1aa1711893 eliminate the rotation parameter from SP.HandleMoveToTargetUpdate(). This can just use the currently set Rotation
looks like I spoke to soon about eliminating jerkiness on "go here"/autopilot.  It's still there.
2011-08-11 03:06:38 +01:00
Justin Clark-Casey (justincc) 36f7d36fa1 instead of setting avatar rotation twice in SP.HandleAgentUpdate(), eliminate the second setting in AddNewMovement() 2011-08-11 02:54:15 +01:00
Justin Clark-Casey (justincc) 29093df1a7 get rid of intermediate local store of body rotation in ScenePresence, this is not used. 2011-08-11 02:36:02 +01:00
Justin Clark-Casey (justincc) ee22569c92 only accept npc UUIDs to osNpc* functions, not names (except for create) 2011-08-11 02:19:13 +01:00
Justin Clark-Casey (justincc) cace6eaa8a comment out some of the currently less useful debug log messages 2011-08-11 02:06:32 +01:00
Justin Clark-Casey (justincc) 4402851b08 Get NPCs to revert to the correct 'resting' animation (e.g. stand or hover) after finishing their movement. This also fixes judder after an avatar has finished "go here"/autopilot movement in a viewer.
This meant reseting the SP.AgentControlFlags since the Animator uses these to determine the correct default animation.
2011-08-11 01:56:42 +01:00
Justin Clark-Casey (justincc) 951ffad81e If SP.MoveToTarget has been called with a force walk, begin by landing the avatar.
There is a bug here - once an avatar has landed it glides to its new position instead of performing a walk animation
2011-08-11 00:23:54 +01:00
Justin Clark-Casey (justincc) 7f499ff3f3 Add a OS_NPC_LAND_AT_TARGET option to osMoveToTarget()
Default for this function is now not to automatically land.
This allows better control by scripts when an avatar is going to be landing on a prim rather than the ground.
Stopping the avatar involves faking a collision, to avoid the pid controller making it overshoot.
A better approach would be to gradually slow the avatar as we near the target
2011-08-10 23:56:19 +01:00
Justin Clark-Casey (justincc) fb92678b83 fly and no fly constants for osNpcMoveToTarget() 2011-08-10 22:34:42 +01:00
Justin Clark-Casey (justincc) 5d6c9644fa early code to allow scripts to force npcs not to fly when moving to target
this is to allow walking on prims.  it will be up to the script writer to be sure that there is a continuous path.
currently implemented in osNpcMoveToTarget(), but none of this is final.
2011-08-10 01:47:37 +01:00
Justin Clark-Casey (justincc) 4cb8d6379d Stop trying to deregister caps or close child agents when an NPC is removed 2011-08-10 00:59:31 +01:00
Justin Clark-Casey (justincc) 195c1dc9b8 implement osNpcStopMoveTo() to cancel any current move target 2011-08-10 00:26:38 +01:00
Justin Clark-Casey (justincc) cba54090c7 When an NPC appearance is loaded, rez the attachments too 2011-08-09 23:25:52 +01:00
Justin Clark-Casey (justincc) 92e96d394a When an NPC is created, stop telling neighbouring regions to expect a child agent 2011-08-09 23:11:07 +01:00
Justin Clark-Casey (justincc) 795c8e6c22 Add osOwnerSaveAppearance() to help with setting up NPC appearances. Not yet ready for user use.
Adds regression test.
2011-08-09 22:05:47 +01:00
Justin Clark-Casey (justincc) 57cc180fd5 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-08-09 03:52:31 +01:00
Justin Clark-Casey (justincc) e869eeb0bf Implement first draft functions for saving and loading NPC appearance from storage.
This works by serializing and deserializing NPC AvatarAppearance to a notecard in the prim inventory and making the required baked textures permanent.
By using notecards, we avoid lots of awkward, technical and user-unfriendly issues concerning retaining asset references and creating a new asset type.
Notecards also allow different appearances to be swapped and manipulated easily.
This also allows stored NPC appearances to work transparently with OARs/IARs since the UUID scan will pick up and store the necessary references from the notecard text.
This works in my basic test but is not at all ready for user use or bug reporting yet.
2011-08-09 03:51:34 +01:00
Snoopy Pfeffer 916d1b7511 Merge branch 'master' of ssh://snoopy@opensimulator.org/var/git/opensim 2011-08-09 01:14:53 +02:00
Justin Clark-Casey (justincc) 3e16a0fbdd factor out common notecard caching code from 3 methods. 2011-08-09 00:12:41 +01:00
Snoopy Pfeffer 1677587532 Let's see if I am really a core developer, now. ;) 2011-08-09 01:11:39 +02:00
Justin Clark-Casey (justincc) 78d8ce3816 refactor: split out generic parts of osMakeNotecard() into a separate. Add method doc. Other minor tidies. 2011-08-08 23:22:47 +01:00
Justin Clark-Casey (justincc) 6878049952 get rid of bogus log message 2011-08-06 03:06:05 +01:00
Justin Clark-Casey (justincc) eec54adac5 remove some obsolete tests that are now done elsewhere 2011-08-06 02:38:38 +01:00
Justin Clark-Casey (justincc) e37f8cf902 Add a test to check that ScenePresence and circuit go away when a root agent is closed down 2011-08-06 02:27:25 +01:00
Justin Clark-Casey (justincc) 85e07c78fb refactor: Change SceneHelpers.AddClient() to AddScenePresence().
This seems to make more sense as we can get SP.ControllingClient
2011-08-06 02:17:41 +01:00
Justin Clark-Casey (justincc) 83ba35a26b rip out sog generation methods in ScenePresenceAgentTests and use SceneHelpers instead
Not that it matters, since these tests are pretty bogus anyway.
Also, renames some test classes for consistency.
2011-08-06 02:01:25 +01:00
Justin Clark-Casey (justincc) 2b26d2f1a5 prevent "create region" console command from being able to create a region with the same id as one that already exists.
Addresses http://opensimulator.org/mantis/view.php?id=5617
2011-08-06 01:35:01 +01:00
Justin Clark-Casey (justincc) 76f46b2545 Do proper locking of m_localScenes list in SceneManager 2011-08-06 01:15:49 +01:00
Justin Clark-Casey (justincc) dad1d6df18 rename TestHelper => TestHelpers for consistency 2011-08-06 00:31:03 +01:00
Justin Clark-Casey (justincc) bda1a4be45 rename test SceneSetupHelpers -> SceneHelpers for consistency 2011-08-06 00:26:37 +01:00
Justin Clark-Casey (justincc) cba40de109 extend phantom flag regression test to toggle back off 2011-08-06 00:22:14 +01:00
Justin Clark-Casey (justincc) c6c91e6599 refactor: Fold most SOP.ScriptSet* methods back into script code. Simplify. 2011-08-06 00:13:08 +01:00
Justin Clark-Casey (justincc) ba89fc3aa1 Add regression test for setting phantom status on a scene object. This is not yet complete. 2011-08-05 23:42:05 +01:00
Justin Clark-Casey (justincc) f18780d0e3 Get "show region" command in GridService to show grid co-ordinates rather than meters co-ord.
This makes it consistent with "show regions"
Addresses http://opensimulator.org/mantis/view.php?id=5619
2011-08-05 22:56:53 +01:00
Mic Bowman 82f41fdcb5 BulletSim: fix problem with not convex hulling large objects by creating unit meshes and always scaling in Bullet 2011-08-05 14:53:39 -07:00
Justin Clark-Casey (justincc) 7d35bf8193 refactor: remove a sliver of unnecessary code 2011-08-05 22:45:42 +01:00
Justin Clark-Casey (justincc) 1a2518d19b Instead of moving the file to its final place when FlotsamCache writes to disk, copy it instead.
This is to eliminate IOException where two threads compete to cache the same file.
2011-08-05 19:57:47 +01:00
Mic Bowman c3f579046c Merge branch 'master' into bulletsim 2011-08-05 11:13:02 -07:00
Robert Adams 7640b5abf6 BulletSim: Parameters settable from ini file. Linksets. Physical property value tuning 2011-08-05 11:01:27 -07:00
Justin Clark-Casey (justincc) 94d496cf2b remove the largely unused copy/pasted HandleAgentRequestSit() method 2011-08-05 00:57:43 +01:00
Justin Clark-Casey (justincc) 1918402cb1 if an NPC target is set to a ground location, then automatically land them when they get there.
This doesn't help where the target is a prim surface.  In these situations, it might be better to provide manual overrides so the script can control whethre an avatar flys there/lands, etc.
2011-08-04 03:08:35 +01:00
Justin Clark-Casey (justincc) 54ce029342 if an NPC move to target is above the terrain then make it fly to destination 2011-08-04 02:31:40 +01:00
Justin Clark-Casey (justincc) f999acd095 minor: remove some mono compiler warnings 2011-08-04 01:46:34 +01:00
Justin Clark-Casey (justincc) c678b75d65 if a move to target is set underground, constrain it to the terrain height 2011-08-04 01:45:56 +01:00
Justin Clark-Casey (justincc) 61a931490d move bAllowUpdateMoveToPosition switch outside of HandleMoveToTargetUpdate() 2011-08-04 01:30:37 +01:00
Justin Clark-Casey (justincc) 831f933ce6 only call move target code in SP.HandleAgentUpdate() if we're actually in the process of moving to a position 2011-08-04 01:22:01 +01:00
Justin Clark-Casey (justincc) 7b2b47530e move reset code out of HandleMoveToTargetUpdate() so that we only call it where needed instead of passing in a flag 2011-08-04 01:16:24 +01:00
Justin Clark-Casey (justincc) fc64cc2439 Make SIGNIFICANT_MOVEMENT SP constant a top-level property so that other classes can use it. 2011-08-04 01:05:43 +01:00
Justin Clark-Casey (justincc) 7f6f100c5a When the NPC reaches within the SIGNIFICANT_CLIENT_MOVEMENT distance of the target, move it directly to the target.
This makes the movement exact.  Regression test changed to check avatar reaches exact target.
Also has the nice side effect of making NPC animations continue to work after the first movement (which wasn't working).  However, avatar still pauses in mid-stride
2011-08-04 01:00:33 +01:00
Justin Clark-Casey (justincc) ba0c65e028 extend npc move test to check a second movement 2011-08-04 00:25:51 +01:00
Justin Clark-Casey (justincc) 6f913e8caf eliminate pre-existing unused SP.StopMovement() 2011-08-04 00:13:27 +01:00
Justin Clark-Casey (justincc) a2f5b4ac9a Rename HandleMoveToPositionUpdate() to HandleMoveToTargetUpdate() for consistency. Improve method doc. 2011-08-04 00:10:53 +01:00
Justin Clark-Casey (justincc) 0299cb060e eliminate a reset position flag by using functionally equivalent DCFlagKeyPressed 2011-08-04 00:06:01 +01:00
Justin Clark-Casey (justincc) 6ab01b338f Stop calling the SP.ResetMoveToTarget() code if a target is not actually set 2011-08-03 23:59:13 +01:00
Justin Clark-Casey (justincc) 31fb6b2d72 remove move to duck walk compensation - no longer required.
extends npc move to regression test to check stop after sufficient sim updates
2011-08-03 23:40:05 +01:00
Justin Clark-Casey (justincc) 61d49d4f63 rename NPC.Autopilot to NPC.MoveToTarget internally. Add method doc to INPCModule 2011-08-03 23:20:36 +01:00
Justin Clark-Casey (justincc) 31cea17f8e extend move test to check avatar is moving in the right direction after setting a move target 2011-08-03 23:13:52 +01:00
Justin Clark-Casey (justincc) 21d8a6b0e8 extend move test to check one beat of the simulator without actually asking the npc to move. 2011-08-03 23:06:18 +01:00
Justin Clark-Casey (justincc) d78fe44191 Add passing but incomplete NPC move regression test 2011-08-03 22:51:46 +01:00
Justin Clark-Casey (justincc) e0503d397c stop avatar service being set up in NPC TestCreate() - it's no longer used 2011-08-03 22:45:43 +01:00
Justin Clark-Casey (justincc) a333c60f28 refactor: rename the move to position methods to move to target to be consistent with terminology used by scene object part and elsewhere 2011-08-03 22:34:05 +01:00
Justin Clark-Casey (justincc) 2964467708 get rid of vestigal move to parameters 2011-08-03 22:11:05 +01:00
Justin Clark-Casey (justincc) b7a3f36c65 enable the NPC module for its regression test 2011-08-03 04:48:47 +01:00
Justin Clark-Casey (justincc) c1c0d780ee correct config comments mistakes 2011-08-03 04:36:25 +01:00
Justin Clark-Casey (justincc) 797def8aa4 Put config to enable disable [NPC] module.
Default is disabled.  You will need to explicitly enable to toy with this.
2011-08-03 04:33:45 +01:00
Justin Clark-Casey (justincc) 6e4ec29722 Do a partial fix/implementation of OSSL osNpcMoveTo()
Avatar moves and stops.  However, will stop in mid stride.
And if the move to position is in the air, avatar will continue to make vain and quite hilarious attempts to take off (but never doing so).
Clearly more work is needed.
2011-08-03 04:19:19 +01:00
Justin Clark-Casey (justincc) 68a5fe0431 Improve z axis move to/autopilot so the avatar does alternative crouch/huzzah when walking along the ground
Moving a flying avatar to a ground point doesn't yet land the avatar.  This may or may not be the best thing
2011-08-03 02:59:49 +01:00
Justin Clark-Casey (justincc) 30e816bfa2 Implement move to/autopilot for z axis movement as well.
This is jerky (an artifact of the way it's being done, I think), but it's better than on implementation.
2011-08-03 02:04:38 +01:00
Justin Clark-Casey (justincc) 0c23764ce2 get autopilot/go here to work immediately.
This works with viewer 1.23.5 and so in theory should work with libopenmetaverse.
2011-08-03 01:12:32 +01:00
Justin Clark-Casey (justincc) 1c126e6e22 refactor: Move update_movement_flag and the final check inside the m_allowMovement if in HandleAgentUpdate() since it's logically only ever used there 2011-08-03 00:55:52 +01:00
Justin Clark-Casey (justincc) f9689f5cc9 refactor: move out code from HandleAgentUpdate() which processes updates to move to a set position
Also comment out the really spammy log message I accidentally left in on the last commit.
2011-08-03 00:46:46 +01:00
Robert Adams 74b23210a7 Fix Flotsam cache so it will use the disk cache if the memory cache is enabled 2011-08-02 23:44:40 +01:00
Justin Clark-Casey (justincc) c122489e09 Partially fix autopilot/go here
This now works again except that it requires a click or avatar mvmt to get going
This is because the ScenePresence.HandleAgentUpdate() method doesn't trigger until the client does something significant, at which point autopilot takes over.
Even clicking is enough to trigger.
This will be improved presently.
2011-08-02 23:41:12 +01:00
Justin Clark-Casey (justincc) b7f81d3492 If GetRegionByName can't match something in the local db, then search the hypergrid if that functionality has been enabled.
This should fix the problem today where old style HG addresses (e.g. "hg.osgrid.org:80:Vue-6400") stopped working since 8c3eb324c4
2011-08-02 01:06:32 +01:00
Justin Clark-Casey (justincc) d2220da205 remove ancient late 2008 cruft that handles the situation where the GetRegionsByName used to not be implemented/returned null.
It's impossible that anybody is still running this since the infrastructure has changed massively since that time.
2011-08-02 00:58:08 +01:00
Justin Clark-Casey (justincc) 17e9d61f43 Change GridService.GetRegionByName() to only return info if there is an exact region name match, unlike GetRegionsByName()
This should fix the first part of http://opensimulator.org/mantis/view.php?id=5606, and maybe 5605.
Thanks to Melanie for helping with this.
2011-08-02 00:52:48 +01:00
Justin Clark-Casey (justincc) e6fb9d74ef Revert "In GridService, have GetRegionByName() call GetRegionsByName() with a max return of 1 instead of duplicating code."
This reverts commit 8d33a2eaa1.

Better fix will be along in a minute
2011-08-02 00:40:23 +01:00
Justin Clark-Casey (justincc) 8d33a2eaa1 In GridService, have GetRegionByName() call GetRegionsByName() with a max return of 1 instead of duplicating code.
This also fixes the problem where this method would not return a hypergrid region, unlike GetRegionsByName()
2011-08-02 00:26:17 +01:00
Justin Clark-Casey (justincc) b6ac1c46cd Get rid of AvatarAppearance.Owner to simplify the code.
This is not used for anything - appearances are always properties of objects with ids (ScenePresence, AgentCircuitData) and just has the potential to get out of sync when the appearance is cloned.
2011-08-02 00:13:04 +01:00
Justin Clark-Casey (justincc) 59f548cda8 Get osNpcCreate appearance working with avatars that are currently in the scene.
Had to stop using AvatarService for now since it doesn't store baked texture IDs (which is why this was failing).
Also failing because cloning appearance was also cloning the AvatarApperance.Owner field, which we weren't then changing.
Extended TestCreate() to check this.
2011-08-01 23:41:29 +01:00
Justin Clark-Casey (justincc) 05e94ff27e Move common gemo/agent map name code into CreateGeom()
Fix build break.
2011-08-01 07:04:13 +01:00
Justin Clark-Casey (justincc) f9d6a91252 Instead of preserving old name in geom_name_map in change size or shape, use the Name property instead.
This is equivalent since the prim 'name' is never changed.  In fact, this propery is never used for prims
2011-08-01 06:52:52 +01:00
Justin Clark-Casey (justincc) 40a78db182 comment out unused code in OdeScene.TriCallback() 2011-08-01 06:47:45 +01:00
Justin Clark-Casey (justincc) ccb4b76242 On geom removal, remove the name from the OdeScene.geom_name_map too 2011-08-01 06:40:29 +01:00
Justin Clark-Casey (justincc) f79df6f43f remove the unused ODEPrim.prev_geom field 2011-08-01 06:35:59 +01:00
Justin Clark-Casey (justincc) f32dbef647 When an ODE geom is removed (as when a non-phantom prim is deleted, resized or shape changed, also remove the OdeScene.actor_name_map entry pointing to the phys actor
This is to stop a small memory leak over time when prims are deleted or phantom-toggled
2011-08-01 06:32:30 +01:00
Justin Clark-Casey (justincc) 6618948ff9 refactor: centralize prim geom removal code from four places to one 2011-08-01 06:15:02 +01:00
Justin Clark-Casey (justincc) 509200d5cd minor: add note to RemovePrimThreadLocked() to the effect that it contrary to the summary, it is being called from within Simulate() lock (OdeLock) 2011-08-01 05:48:27 +01:00
Justin Clark-Casey (justincc) dfa2f7d715 If a prim changes size or shape, add actor to _parent_scene.actor_name_map with new prim_geom key, as the old one becomes invalid.
This resolves http://opensimulator.org/mantis/view.php?id=5603 where changing size or shape would stop collision_start being fired in a running script.
In both this and existing code we are not removing old actors from actor_name_map when the existing prim_geom is removed, which leads to a small memory leak over time.
This needs to be fixed.
2011-08-01 05:43:04 +01:00
Justin Clark-Casey (justincc) 2102964826 minor: indentation correction 2011-08-01 05:14:16 +01:00
Justin Clark-Casey (justincc) b757583662 Comment out SOP logging message I accidentally left in 2011-07-31 03:41:35 +01:00
Justin Clark-Casey (justincc) aea7007533 refactor: split out ninja joint part of SOP.DoPhysicsPropertyUpdate() so that we don't have to look at it if it's not relevant 2011-07-31 02:50:50 +01:00
Justin Clark-Casey (justincc) 450bdb3657 In the packetpool, if we encounter a data block that somehow wasn't retrieved via GetDataBlock() then create a new stack instead of throwing an exception 2011-07-31 02:30:40 +01:00
Justin Clark-Casey (justincc) d041276517 Remove _mesh field since the mesh data no longer needs to be stored after it's initially used.
This may improve memory usage for regions using mesh and sculpts, though I suspect that it doesn't address the current memory leak.
2011-07-31 01:03:52 +01:00
Justin Clark-Casey (justincc) bd8f538f80 refactor: Remove argument to pass in an initial mesh to OdePrim since this is no longer required and it prevents removal of the _mesh field (which is only used temporarily)
If passing in a mesh becomes important again in the future then this can be reinstated.
2011-07-31 00:49:49 +01:00
Justin Clark-Casey (justincc) 196a774b24 minor: correct method doc for last commit 2011-07-31 00:45:20 +01:00
Justin Clark-Casey (justincc) 454312f5bc refactor: rename CreateGeom _mesh argument to mesh, so as to not confuse this with the pre-existing _mesh field 2011-07-31 00:44:23 +01:00
Justin Clark-Casey (justincc) f1ce17071d minor: method doc 2011-07-31 00:43:02 +01:00
Justin Clark-Casey (justincc) e08be91c84 Refactor: Replace instances of m_isphysical with IsPhysical rather than have some code reference the private var and other the public var without any functionality difference.
Add some method doc to IsPhysical
2011-07-30 23:44:47 +01:00
Justin Clark-Casey (justincc) 4f4d080461 refactor: Rename ODEPrim.ParentPrim() to AddChildPrim() for code readability 2011-07-30 23:20:43 +01:00
Justin Clark-Casey (justincc) 49a3740ee9 minor: remove mono compiler warnings, some code spacing adjustments 2011-07-30 03:56:29 +01:00
Justin Clark-Casey (justincc) 9fc59e2bf2 minor: remove some mono compiler warnings 2011-07-30 03:19:00 +01:00
Justin Clark-Casey (justincc) d917010433 minor: Add method doc to collision subscription methods. Change method case to reflect OpenSim standards. 2011-07-30 03:11:36 +01:00
Justin Clark-Casey (justincc) 310a685220 refactor: extract method that generates a physics mesh from prim shape data 2011-07-30 02:34:50 +01:00
Justin Clark-Casey (justincc) 4197f66052 refactor: extract code which generate points and faces from sculpt data into it's own method.
fix build break.
2011-07-30 02:22:05 +01:00
Justin Clark-Casey (justincc) b0eacadeb4 fix bug in previous commit 2011-07-30 02:09:17 +01:00
Justin Clark-Casey (justincc) 122e01949d refactor: move the code that generates physics meshs from prim mesh data into a separate method, in order to make the code more readable. 2011-07-30 02:08:32 +01:00
Justin Clark-Casey (justincc) 7791c1fd1e Replace the generic exception logging in flotsam asset cache with more specific stuff to return more information. 2011-07-30 01:35:22 +01:00
Justin Clark-Casey (justincc) c4c6b457c3 correct misleading "fcache status" text - deep scans are not performed when this command is invoked. 2011-07-30 01:16:10 +01:00
Justin Clark-Casey (justincc) 835352aee9 Make it clearer what the save_crashes setting in [Startup] actually does. 2011-07-30 01:05:30 +01:00
Justin Clark-Casey (justincc) 2f5995f5c0 Temporary code to change bad AvatarHeight values in the AvatarService to the default Ruth height.
I was persuaded to do this because simulators on osgrid will persist in inserting bad values for an unknown length of time, even after the original simulator bug which was inserting bad values is out in an osgrid distro
This code can be removed at some point in the future, though I think there is an argument for having services police these values in open grids.
2011-07-30 00:58:17 +01:00
Justin Clark-Casey (justincc) 6d866ba6d5 Temporarily put in a log line which shows which locale the user is running in. 2011-07-29 23:43:35 +01:00
Justin Clark-Casey (justincc) 9a5e0ede7c For all Util.FireAndForget invocations, set thread to en_US before continuing wtih the invocation.
This is to avoid bugs where the locale is not manually set on the thread and bad data values get sent to the database or over the wire.
Lots of code does this manually but as we've seen, a subtle change can hit code which has forgotton to do this.
Since en_US show be used throughout the server at present, setting it at FireAndForget seems reasonable.
Arguably, it would be better to do this where data is sent, but doing it here is much easier.
All the manual BeginInvokes() remaining in the code should probably call FireAndForget instead.
2011-07-29 23:21:57 +01:00
Justin Clark-Casey (justincc) 84c68c61bd When we start the appearance saving thread, make sure we set the culture to En_US so that a different culture doesn't save values with commas as decimal points, etc.
This will hopefully stop giants stalking the grid.
See http://opensimulator.org/mantis/view.php?id=5614
2011-07-29 22:27:04 +01:00
Justin Clark-Casey (justincc) 5043be13fb Return null from CreateMeshFromPrimMesher if OpenJPEG decoding of the sculpt data fails.
This is to address http://opensimulator.org/mantis/view.php?id=5612
2011-07-29 21:49:23 +01:00
Justin Clark-Casey (justincc) f3c5a5b745 fix extremely minor Ode bug where the _taintedPrimL list would always be cleared on every OdeScene.Simulate() even if it was already empty. 2011-07-29 01:18:42 +01:00
Justin Clark-Casey (justincc) 2a39d0cdb0 refactor: Move another chunk of ninja code out of the OdeScene.Simulate() loop for consistency and readability. 2011-07-29 00:51:07 +01:00
Justin Clark-Casey (justincc) 3f0d8f3cbf refactor: Simplify reading OdeScene.Simulate() loop by shunting all the NINJA joints stuff into its own method.
Now if ninja joints isn't active (which is the default) don't have to wade through a lot of massively indented irrelevant code.
2011-07-29 00:39:02 +01:00
Justin Clark-Casey (justincc) 9c6227da66 refactor: unindent the OdeScene.Simulate() loop to ignore the long commented out ifs and locks
This is to make it more readable.
2011-07-29 00:23:42 +01:00
Justin Clark-Casey (justincc) 8c3eb324c4 When using osTeleportAgent() and osTeleportAvatar(), only teleport if the region name exactly matches (not near matches)
This is to prevent situations where the first name returned by GridService.GetRegionsByName is not one that exactly matches the given region name, even when there is an exact match later on in the list.
Only the above two functions call this teleport method (the map uses a different routine) so this seems safe to change.
Addresses http://opensimulator.org/mantis/view.php?id=5606
2011-07-29 00:00:35 +01:00
Melanie c4ffcd4b7d Ensure that packet headers get parsed correctly 2011-07-27 09:12:00 +01:00
Robert Adams a95f2fe4b3 BulletSim: Update dlls 2011-07-25 10:11:55 -07:00
Melanie 4cdc8806fb Fix LLTextBox to work with the updated libOMV 2011-07-23 11:40:38 +01:00
Justin Clark-Casey (justincc) 504de8bc47 Pass the first name and last name from the agent circuit data to the authorization service rather than from the account.
This is to accomodate situations where the authorization service is being used by the hypergrid, where visitors have no user account.
See http://opensimulator.org/mantis/view.php?id=5517, this code is somewhat adapted/cleaned up from Michelle's patch
I'm a little ambivalent about this since visitors could put anything in firstname/lastname so it's not much of an auth measure.
It's up to the auth service to decide which data it actually uses.
Possibly we should be passing through other info such as agent circuit ip
2011-07-23 03:48:53 +01:00
Justin Clark-Casey (justincc) ea58aee338 Change default AllowScriptCrossings config setting to true.
When this setting is false and other defaults haven't been changed, scripts entering the simulator from another sim are automatically restarted but their state is not preserved.
When this setting is true, state that accompanies the script is reloaded (e.g. if a script had a variable i = 1 when leaving the source region, it will still have i = 1 on the destination region).
This setting does not affect crossings when regions are run in the same simulator.  In this case, state is already preserved.
2011-07-23 02:31:00 +01:00
Makopoppo 4eaca4884e Fixed serverside_object_permission default value confliction 2011-07-23 02:26:13 +01:00
Justin Clark-Casey (justincc) be9b4ad23a For default everyone permissions on library items, make notecards and scripts non-modifiable (but still copyable, etc).
Users should not be given the impression that they can modify these items.
This still does not solve the issue where library items cannot be dragged into prims or user inventory any time after they are initially seen.
Curiously, manually copying and pasting still appears to work.
On the surface, this seems to have something to do with library item caching on the client, since deleting the cache allows drag to work again once
Not sure what the exact problem is.
2011-07-23 02:18:23 +01:00
Justin Clark-Casey (justincc) f0895028e9 Remove manually permissions settings on all current library items so that they use the defaults instead.
Some items had completely wrong permissions - this is easier than correcting them all.
The ability to set permissions in xml is retained since there are use cases for this (e.g. to create no-mod library scripts)
2011-07-23 02:13:11 +01:00
Justin Clark-Casey (justincc) fcaa4f6012 Revert "Don't load current/next/everyone/base permissions from the library item xml files - always use PermissionMask.All instead (which was the existing default)."
There actually are uses for this.  I will correct the perms instead since some entries appear to be wrong.

This reverts commit 667b54f5a2.
2011-07-23 02:05:51 +01:00
Justin Clark-Casey (justincc) 667b54f5a2 Don't load current/next/everyone/base permissions from the library item xml files - always use PermissionMask.All instead (which was the existing default).
Library items always need the same permissions, so it doesn't make sense to load them from the xml files.  This just opens the door to permissions mistakes.
2011-07-23 01:59:14 +01:00
Robert Adams 869883f2dc BulletSim: fix buoyancy for prims. Start of configurable physics parameters. 2011-07-22 15:23:57 -07:00
Justin Clark-Casey (justincc) aadc4eb3b8 Fix problem where sculpts were not getting physical proxies
Fixed this by inspecting Shape.SculptEntry at various places instead of Shape.SculptType.  Sculpties actually have a SculptType of Cylinder - only true mesh is SculptType.Mesh
This addresses http://opensimulator.org/mantis/view.php?id=5595
2011-07-22 19:23:38 +01:00
Dan Lake 3c09f918ad Merge branch 'bulletsim' of ssh://opensimulator.org/var/git/opensim into bulletsim 2011-07-22 10:24:26 -07:00
Robert.Adams 5ffec1cd64 Pass collisions and updates in pinned memory (saves marshaling).
Fix folding feet by using collision normals.
Add constraint specification.
2011-07-22 10:23:40 -07:00
Dan Lake fa696c2eb2 Pass collisions and updates in pinned memory (saves marshaling).
Fix folding feet by using collision normals.
Add constraint specification.
2011-07-22 10:22:21 -07:00
Mic Bowman 4cbc912375 Merge branch 'master' into bulletsim 2011-07-22 09:02:32 -07:00
Melanie 6ac0bc7259 Thank you, Michelle Argus, for a patch that adds reading the agent limit
from XML properly.
2011-07-22 12:36:05 +01:00
Oren Hurvitz 02e54c57c4 Generate the initial maptile asynchronously
Signed-off-by: Melanie <melanie@t-data.com>
2011-07-22 09:52:21 +01:00
root d8228f4374 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-07-21 21:12:50 +01:00
Oren Hurvitz 71ef4a8fb3 When an uncached asset is requested multiple times concurrently, only load it once
Signed-off-by: root <root@grid00001.t-data.com>
2011-07-21 20:52:56 +01:00
Oren Hurvitz 56830bfe07 When handling SetAppearance packet, always save the appearance; not only if the texture was changed 2011-07-21 20:18:36 +01:00
Oren Hurvitz f97278610c Fixed updating avatar appearance
Signed-off-by: root <root@grid00001.t-data.com>
2011-07-21 20:13:32 +01:00
Justin Clark-Casey (justincc) 6426492da0 remove the windows debugging symbols for the long protobuf-net 2011-07-21 03:24:20 +01:00
Justin Clark-Casey (justincc) 630e11cbe1 remove dead MXP default symbols. The MXP code is long, long gone. 2011-07-21 03:22:27 +01:00
Justin Clark-Casey (justincc) e1ce106790 make [SMTP] default comment option match actual default 2011-07-21 03:21:19 +01:00
Justin Clark-Casey (justincc) 0a09c45726 minor: group all the map tile options together 2011-07-21 03:18:10 +01:00
Justin Clark-Casey (justincc) d2d67a1abf remove pointless quotes from GenerateMaptiles option in OpenSimDefaults.ini 2011-07-21 03:14:43 +01:00
Justin Clark-Casey (justincc) 69c2d3434a minor: remove the pointless quotes from the GenerateMaptiles option 2011-07-21 03:13:54 +01:00
Justin Clark-Casey (justincc) 703d130e96 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-07-21 03:10:28 +01:00
Justin Clark-Casey (justincc) 1c758ae01c make default TextureOnMapTile true for the older map imager
Don't know of a good reason not to do this, seems to work fine.
2011-07-21 03:08:58 +01:00
Dan Lake 81fe1cfad6 Merge branch 'bulletsim' of ssh://opensimulator.org/var/git/opensim into bulletsim 2011-07-20 15:04:23 -07:00
Dan Lake 2c11f7fc38 Merge branch 'master' into bulletsim 2011-07-20 15:01:32 -07:00
Dan Lake 3270bd560e Removed unused AddPrimShape methods in PhysicsScene caused by merge conflicts 2011-07-20 14:34:02 -07:00
Careminster Team 9fc7d65df7 Apply the localID to the Physics actor to prevent null calls later 2011-07-19 18:26:36 +01:00
Careminster Team 51c47677a1 Tidy up a superfluous AddPrimShape override in PhysicsScene 2011-07-19 18:17:19 +01:00
Justin Clark-Casey (justincc) ee829a71c2 On all undo/redo operations, consistently lock the undo object for everything, in order to avoid any deadlock issues. 2011-07-19 06:13:05 +01:00
Justin Clark-Casey (justincc) c50533659a If we store an undo, wipe anything already present on the redo stack
This stops problems when we undo a few steps and start off down another path.
Surprisingly, apart from this now fixed problem, redo appears to be working too.
2011-07-19 06:11:16 +01:00
Justin Clark-Casey (justincc) ec1ecd3633 stop redo throwing an exception if there is nothing to redo 2011-07-19 06:05:23 +01:00
Justin Clark-Casey (justincc) 25c532f2ec refator: simplify UndoState.Compare() code 2011-07-19 05:58:52 +01:00
Justin Clark-Casey (justincc) 9dd5a24495 rip out pointless null checks in UndoState where part can never be null 2011-07-19 05:51:19 +01:00
Justin Clark-Casey (justincc) bc3679b67d Fix undo when changing just the root prim's position in a linkset.
I think (ha ha) this largely fixes undo, except for the fact that rotation a set of prims with 'edit linked parts' selected doesn't quite work properly (though this works fine if the checkbox isn't selected).
Also, the double undo bug for resize is still present.
Redo might be incredibly buggy, haven't even looked at that yet.
2011-07-19 05:46:17 +01:00
Justin Clark-Casey (justincc) 0ef29da9b2 refactor: rename UpdatePrimPosition() to UpdatePrimGroupPosition() for consistency 2011-07-19 05:20:04 +01:00
Justin Clark-Casey (justincc) 62325829ec comment out all kinds of debugging guff 2011-07-19 05:14:58 +01:00
Justin Clark-Casey (justincc) 1fdb16f1cd Fix undo for rotation of the root prim in a linkset on its own.
The only obviously broken things right now are the undo of the position of just a root prim (stays in place) and the fact that resizes need two undoes.
2011-07-19 05:05:50 +01:00
Justin Clark-Casey (justincc) b2722e984a Fix undo of rotation of single prims in a linkset 2011-07-19 04:40:02 +01:00
Justin Clark-Casey (justincc) 97f1edfd95 Fix undo of prim group rotation.
This isn't that great since I think I broke it a few commits earlier.
Undo of rotation of individual prims in a linkset is still broken
2011-07-19 04:15:27 +01:00
Justin Clark-Casey (justincc) 4b9ef4f39c Rename UpdatePrimRotation() to UpdatePrimGroupRotation() since this is what it actually does and is more consistent with other method names. 2011-07-19 03:44:49 +01:00
Justin Clark-Casey (justincc) 7c468cda36 Stop undo of just the root prim position in the linkset from shifting the whole linkset.
However, what happens now is that undo just doesn't do anything when the root prim is selected on its own.  This requires more code than just fiddling with undo states.
2011-07-19 03:38:22 +01:00
Justin Clark-Casey (justincc) c94dc95844 fix undo when resizing of non-root individual prims in a linkset
undo resize, rotation and position still needs fixing when only editing root prim of a linkset
2011-07-19 03:27:16 +01:00
Justin Clark-Casey (justincc) 430a4aeba8 Fix undo for resizing linksets
This involves implementing a boolean in UndoState to signal whether the undo needs to be done for an entire group/linkset or just a single prim
Resizing individual components of linksets is still dodgy.
Resizing still has to be down twice, since for some reason the client is sending two multiobjectupdate packets on every resize except the very first.  This applies to single prims and linksets.  Need to look into this.
2011-07-19 03:01:54 +01:00
Justin Clark-Casey (justincc) 86f45f6fe7 remove undo state storage in a few places where it's pointless
no functional effect - existing bugs still remain
2011-07-19 01:24:43 +01:00
Justin Clark-Casey (justincc) 6fc74b36d1 Make various tweaks to undo code in an effort to get things working better.
Undo rotation and position appear to be working.
Resizing a single prim appears to be working, though the undo has to be done twice.
Resizing a group of prims still does not work properly - possibly because in the UndoState we don't store a knowledge of when we're resizing a whole group rather than individual prims.
This needs to be addressed.
2011-07-18 04:54:21 +01:00
Justin Clark-Casey (justincc) aec3b58a57 use standard sdk stack in terrain model rather than OpenSim.Framework.UndoStack.
remove OpenSim.Framework.UndoStack
2011-07-18 02:06:06 +01:00
Justin Clark-Casey (justincc) 3f8e571b78 Use a standard generic system stack for the undo/redo stacks instead of our own homebrew.
system stack also uses an array, so no performance penalty.
Also exposes undo count and adds a test assertion for correct undo count after resize
2011-07-18 02:01:12 +01:00
Justin Clark-Casey (justincc) bdd340b9fc Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-07-18 01:35:00 +01:00
Justin Clark-Casey (justincc) e9a739f45f refactor: group all the undo/redo code in SOP into one place for easier code reading 2011-07-18 01:33:57 +01:00
Marck dd2564d7ec refactor: Pull up Assembly of the SQLite classes as a protected property, so that it can be overwritten in subclasses. That way extensions can decide in which assembly migration resources should be looked up. This is a refactor similar to commit 9923a2ff10 for MySQL -- no functional changes. 2011-07-16 09:49:38 +02:00
Justin Clark-Casey (justincc) f5ddf37112 Replace ifs in SOG.GroupResize() with Math.Min()
Also fiddle a bit with undo.  This is not currently working properly, though to be fair it also didn't appear to work in 0.7.1.1 either (at least for resize).
Will get some more attention soon.
2011-07-16 05:23:21 +01:00
Justin Clark-Casey (justincc) 9a80adf33a remove now unncessary parts of SceneObjectGroup.Resize() 2011-07-16 04:49:21 +01:00
Justin Clark-Casey (justincc) 122745fe1c refactor: replace scale limiting code with more elegant Math.Min calls 2011-07-16 04:28:49 +01:00
Justin Clark-Casey (justincc) 2b68ac4ba3 refactor: Push all part resize code down into SceneObjectPart.Resize() 2011-07-16 04:22:57 +01:00
Justin Clark-Casey (justincc) 4b5a6b655b add test for resizing one part in a group 2011-07-16 03:52:30 +01:00
Justin Clark-Casey (justincc) df2a59d31b refactor: make SceneObjectGroup.GroupScale() a property rather than a mehod 2011-07-16 03:30:14 +01:00
Justin Clark-Casey (justincc) 0f9882db5b minor: add a log warning if a sculpt/mesh async asset request returns no data 2011-07-16 03:24:36 +01:00
Justin Clark-Casey (justincc) 6f9b855719 refactor: remove pointless sender != null tests, etc, in AssetReceived, since the method called always belongs to the object that generated the request 2011-07-16 03:16:24 +01:00
Justin Clark-Casey (justincc) 982e71b6b8 eliminate unused and redundant SceneObjectGroup.AssetReceived() 2011-07-16 03:08:28 +01:00
Justin Clark-Casey (justincc) c82f19e41c fix build break from last commit 2011-07-16 03:06:30 +01:00
Justin Clark-Casey (justincc) 3fc12e7224 Eliminate the pointless textured id argument to SculptTextureCallback 2011-07-16 03:02:28 +01:00
Justin Clark-Casey (justincc) 2b339b7d2b minor: remove mono compiler warnings 2011-07-16 02:56:54 +01:00
Justin Clark-Casey (justincc) 27fae36a21 remove the need to supply SceneObjectGroup.GroupResize() with a localId.
This is utterly pointless scene we already know which sog we're dealing with.
2011-07-16 02:53:36 +01:00
Justin Clark-Casey (justincc) 50bd48542c Add very basic test for resizing a scene object with one prim 2011-07-16 02:44:00 +01:00
Justin Clark-Casey (justincc) 6179879308 minor: remove mono compiler warnings 2011-07-16 01:53:25 +01:00
Justin Clark-Casey (justincc) da7340b9fb If resized shape is a mesh/sculpt, leave it to the mesh asset callback to trigger the physics actor taint.
In the last commit, the fix was made by updating all the child prim physics actors with the new size rather than just the root part.
2011-07-16 01:42:56 +01:00
Justin Clark-Casey (justincc) 18652eb87e Fix physics proxy regeneration when a mesh with more than one submesh is resized
Addresses http://opensimulator.org/mantis/view.php?id=5584
2011-07-16 01:36:27 +01:00
Justin Clark-Casey (justincc) 7247ca1644 use constants in llGetObjectDetails() rather than magic numbers 2011-07-16 00:08:11 +01:00
Justin Clark-Casey (justincc) a9ba9d4a9e change async parameter name in AddLocalPacketHandler since it becomes a reserved keyword in .net 5
Also adds some method doc.
2011-07-15 23:51:55 +01:00
Justin Clark-Casey (justincc) 0ee7a5ee81 If object is an attachment, make llGetVel() return the avatar's speed rather than the object's own zero speed.
As per http://opensimulator.org/mantis/view.php?id=5575
2011-07-15 23:36:32 +01:00
Justin Clark-Casey (justincc) 3e5b2d52ff minor: method doc for baked texture uploading 2011-07-15 22:58:29 +01:00
root e9dbe54ab1 Fix some local id issues in physics glue 2011-07-15 20:07:59 +01:00
Robert Adams b55076990c fix duplication of physical objects for physics engines that care about the initial value of localID 2011-07-15 11:37:34 -07:00
Justin Clark-Casey (justincc) c7e8529122 minor: remove whitespace 2011-07-13 01:25:17 +01:00
Justin Clark-Casey (justincc) 0d64155bb5 Remove an unused 404 checker since on a 404, GetResponse() throws a WebException rather than proceeding. 2011-07-13 01:24:22 +01:00
Justin Clark-Casey (justincc) 938b4f8bf8 if a SynchronousRestObjectRequester request fails, then unless it's due to a 404, log the exception for diagnostic purposes
This is instead of logging "Invalid XML" for all failures, even if they weren't a result of invalid xml.
A default TReponse is returned in the event of a 404, which is the same behaviour as previously.
2011-07-13 01:19:12 +01:00
Justin Clark-Casey (justincc) e434ba5e8e Remove the obsoleted SynchronousRestObjectPoster 2011-07-13 00:52:32 +01:00
Justin Clark-Casey (justincc) 08dc07dc76 refactor: Move all callers of the obsoleted SychronousRestObjectPoster.BeginPostObject() to the identical SynchronousRestObjectRequester.MakeRequest() 2011-07-13 00:48:36 +01:00
Justin Clark-Casey (justincc) 5158ec0913 Add experimental module to check status of services that the simulator is connected to.
Currently disabled.
2011-07-13 00:24:55 +01:00
Justin Clark-Casey (justincc) bf1b8397bb Add a warning to URI config in GridCommon.ini.example not to add a slash to the end.
Tidy up GridCommon.ini.example
2011-07-12 23:35:06 +01:00
Justin Clark-Casey (justincc) 3e456163dd Port implementation of llCastRay() from Aurora.
I haven't been able to test this since the viewer won't parse the llCastRay() function.  Maybe some activation cap is missing.  Could wait until it is activated by default in the viewer.
2011-07-12 22:13:15 +01:00
Mic Bowman 1f3e42adf3 reorder bulletsim and convex decomposition projects in prebuild.xml. seems
to fix the build on mono/linux.
2011-07-12 11:14:48 -07:00
Justin Clark-Casey (justincc) d31e0a67f7 temporarily fix the build break with building the OdePlugin tests assembly.
This needs to be fixed properly.
2011-07-12 03:26:22 +01:00
Justin Clark-Casey (justincc) f75f906e35 minor: remove whitespace to trigger another build 2011-07-12 03:13:05 +01:00
Justin Clark-Casey (justincc) 7442f064f5 Make OdePlugin tests build from their own directory rather than from the main OdePlugin directory
I suspect the former arrangement was confusing nant since file changes didn't appear to be rebuilding properly
Ode tests don't currently execute because Ode.NET can't pick up the native libode dll
However, this appears to also have been the case before, and these tests weren't being included in the "nant test" suite anyway.
Will need to fix some time.
2011-07-12 02:58:14 +01:00
Justin Clark-Casey (justincc) df0e5cc9fe When a mesh object is added to a scene, delay adding the physics actor until the sculpt data has been added to the shape (possibly via an async asset service request)
This prevents spurious 'no asset data' for meshes added on startup.
2011-07-12 02:33:09 +01:00
Dan Lake 3dcc15ede3 Moved ConvexDecompositionDotNet.dll to bin directory to fix picky references on Linux 2011-07-11 15:28:05 -07:00
Dan Lake 38f0cf4bf4 Moved ConvexDecompositionDotNet.dll to bin directory to fix picky references on Linux 2011-07-11 15:26:50 -07:00
Mic Bowman 616f3844b6 Moved ConvexDecompositionDotNet.dll to bin directory to fix picky references on Linux 2011-07-11 15:24:23 -07:00
Justin Clark-Casey (justincc) dbd954d701 Fix permissions problem where newly uploaded meshes rezzed from inventory could not be copied by owner. 2011-07-11 22:56:14 +01:00
Dan Lake b9cbe92f30 Merge branch 'master' into bulletsim 2011-07-11 12:23:20 -07:00
Robert Adams 51d6c58d10 Checkin 32 bit bulletsim shared library for Linux. 2011-07-11 12:23:00 -07:00
Justin Clark-Casey (justincc) 24efb021ff minor Tack the prim name on the end of the "experimental mesh proxy generation" message.
Can probably comment out this message soon, once a few other issues are tidied up.
2011-07-11 04:23:30 +01:00
Justin Clark-Casey (justincc) 8e44a8e2b9 Properly regenerate physics proxy when a mesh is resized.
This is done in SOP.Resize().  More common code from callers needs to be refactored into this method to reduce confusing copy/pasting
2011-07-11 03:47:49 +01:00
Justin Clark-Casey (justincc) 0badf3718d refactor: push the part of SceneObjectGroup.CheckSculptAndLoad() that actually deals with the part into a SceneObjectPart.CheckSculptAndLoad() method 2011-07-11 03:35:29 +01:00
Justin Clark-Casey (justincc) 2f3d0e209f When a sculpt/mesh texture is received by a part on a callback request, don't do the unnecessary work of copying the base shape.
Just setting the new base shape is enough to reinsert the sculpt data and set the taint.
Also cleans up a few more left-in debugging messages.
2011-07-11 03:13:59 +01:00
Justin Clark-Casey (justincc) ce85675e70 comment out accidential ProcessTaints physics debug line left in code 2011-07-11 02:29:51 +01:00
Justin Clark-Casey (justincc) 6a15464b0a refactor: Make arguments to SceneGraph.UpdatePrimFlags() more readable 2011-07-11 02:29:19 +01:00
Justin Clark-Casey (justincc) 01b98c2e62 refactor: Make arguments for SceneObjectGroup.UpdatePrimFlags() more readable 2011-07-11 02:18:19 +01:00
Justin Clark-Casey (justincc) e68ae44b6b minor: remove mono compiler warning 2011-07-11 02:11:37 +01:00
Justin Clark-Casey (justincc) c6d4304a04 refactor: very minor space insertion 2011-07-11 02:11:16 +01:00
Justin Clark-Casey (justincc) c964114f7e refactor: make argument to SOP.UpdatePrimFlags() more readable 2011-07-11 02:09:11 +01:00
Justin Clark-Casey (justincc) 457ba9d1a2 refactor: slightly simplify test 2011-07-09 02:27:47 +01:00
Justin Clark-Casey (justincc) 59aedbc94b Rename SceneSetupHelpers.AddRootAgent to AddClient() to better represent its effects and return object 2011-07-09 02:25:40 +01:00
Justin Clark-Casey (justincc) f99b89990c Add scratch AvatarFactoryModuleTests with one test to do a partial check on AvatarFactoryModule.SetAppearance()
Baked texture set not yet checked, nor persistence of data in avatar service
This is a foundation for later npc related tests.
2011-07-09 02:21:56 +01:00
Justin Clark-Casey (justincc) 6963b8b046 refactor: Get LSLString(LSLInteger i) constructor to now call LSLString(int i) structure to remove code duplication. 2011-07-09 01:28:27 +01:00
Makopoppo df586c9d25 Raw int numbers (ex.LSL Constants) are displayed like "1.000000" when type cast to string 2011-07-09 01:27:12 +01:00
Justin Clark-Casey (justincc) f680c13495 Fix osMatchString() so that it reports all instance of pattern matches, not just the first one.
This is a slight adaptation of the patch in http://opensimulator.org/mantis/view.php?id=4568 which doesn't apply directly since the underlying code was changed by earlier makopoppo patches.
Thanks makopoppo!
2011-07-09 01:24:30 +01:00
Justin Clark-Casey (justincc) 52c3671aa0 fix formatting issues from last patch 2011-07-09 01:17:35 +01:00
Makopoppo b983f38e2a lsGetWindlightScene() returns raw int value, which makes unable to compare to another value with llListFindList() 2011-07-09 01:08:26 +01:00
Makopoppo 04f8d0e45d Made some LSL_Constant or LS_Constant raw int values 2011-07-09 01:08:13 +01:00
Makopoppo e7abf834d1 Instance-types-in-list fix for LSL/OSSL functions. This will fix llListFindList() which always returns -1 when you compare with the list from those functions.
*llCSV2List
*llGetAnimationList
*llGetLinkPrimitiveParams
*llGetObjectDetails
*llGetParcelDetails
*llGetParcelPrimOwners
*llGetPrimitiveParams
*GetLinkPrimitiveParamsEx
*osGetAgents
*osMatchString
*osGetLinkPrimitiveParams
*osGetPrimitiveParams
*osGetAvatarList
2011-07-09 00:49:53 +01:00
Justin Clark-Casey (justincc) d79c6c8820 Rename SetSculptData() to SetSculptProperties(), since this is what it does (setting SculptData is done through the property) 2011-07-09 00:42:48 +01:00
Justin Clark-Casey (justincc) 5e8900dfd0 minor: code tidy and inserted log lines for future use.
Unable to get to the bottom of why resizing a mesh fails to properly reset the physics proxy, when toggling phantom does
After a mesh is generated, the existing sculptdata is set to zero in PrimitiveBaseShape to save memory
When phantom is toggled, the sculptdata is regenerated before remeshing.
But on resize, the sculptdata is not regenerated.
So clearly, resetting sculptdata is possible, but haven't quite been able to pin down how this is being done when phantom is toggled.
2011-07-09 00:35:30 +01:00
Justin Clark-Casey (justincc) c3d82bdcb1 When loading library asset set, only store an asset if it's different from an existing one with the same id.
We compare existing and loaded asset by doing an SHA1 on both, so that a changed library asset will still update the store.
This cuts asset library load time from 10 seconds to <1 sec.
Note, a fix on the previous commit revealed a bug where a library script cannot be copied except on the first login after a cache clear.
This is unrelated to this commit and needs to be fixed at some subsequent time.
2011-07-08 22:53:19 +01:00
Justin Clark-Casey (justincc) a048ec3f95 stop the local inventory services connector from logging an error when an item id isn't found.
making this query is legitimate and so the log line can cause false positivies.  It is up to callers to log an error if appropriate.
2011-07-08 22:34:03 +01:00
Justin Clark-Casey (justincc) 192bd1057e fix bug where opening a library script would fail 2011-07-08 22:32:19 +01:00
Justin Clark-Casey (justincc) 5700c582ba refactor: rename bool returning GetAgentInventoryItem() to CanGetAgentInventoryItem() to improve code readability 2011-07-08 22:28:17 +01:00
Justin Clark-Casey (justincc) e8ad8593b6 refactor: eliminate redundant return statement 2011-07-08 20:58:44 +01:00
Justin Clark-Casey (justincc) 40300c886c refactor: Factor out AddSubMesh() method from long CraeteMeshFromPrimMesher() method
Also remove some of the logging spam left in from the last commit.
2011-07-08 20:36:01 +01:00
Justin Clark-Casey (justincc) b18ef976ff Fix interpretation of physics mesh proxies from mesh data
As per http://wiki.secondlife.com/wiki/Mesh/Mesh_Asset_Format, some submesh blocks may just have the flag "NoGeometry" to signal that they provide no mesh data.
If a block contains this, ignore it for meshing purposes rather than suffer a ClassCastException
This fixes physics proxy meshing, so you can now walk through mesh doorways, properly stand on the trailer of mesh trucks, etc.
To get mesh physics proxy, the UseMeshiesPhysicsMesh must be true in a [Mesh] config section in OpenSim.ini (example in OpenSimDefaults.ini).
Convex hull physics not currently supported.
2011-07-08 19:43:22 +01:00
Justin Clark-Casey (justincc) 29034bc0e0 minor: code tidy up - remove a couple of Console.WriteLine() accidentally added in the last commit 2011-07-08 18:34:44 +01:00
Justin Clark-Casey (justincc) 36df9ae79a refactor: Separate the OdeScene class into its own file from OdePlugin.cs, to improve code readability 2011-07-08 18:16:48 +01:00
Justin Clark-Casey (justincc) 1dcad4ac66 minor: commented out log lines for future use and very small code tidy 2011-07-08 17:58:01 +01:00
Justin Clark-Casey (justincc) 3bda7711b3 Switch the MeshUploadFlag CAP module on and off with the existing config AllowMeshUpload flag in [Mesh] (in OpenSimDefaults.ini)
Default is on.
2011-07-07 23:49:19 +01:00
Justin Clark-Casey (justincc) 2fbc98fa5c Make MeshUploadFlagModule non-shared rather than shared (since each scene needs its own cap) 2011-07-07 23:37:23 +01:00
Mic Bowman e91861fff2 Ensure that the max transfer distance is initialized correctly. 2011-07-07 09:12:57 -07:00
Michael Cerquoni aka Nebadon Izumi 4e30361f63 add myself to contributors.txt 2011-07-07 03:30:40 -07:00
Michael Cerquoni aka Nebadon Izumi 281e80ccf3 add MeshUploadFlag capability fixed mesh upload with latest mesh viewer thank you dahlia and lkalif for helping to make this happen! 2011-07-07 03:30:37 -07:00
Justin Clark-Casey (justincc) af8773d6d0 Add TestClearCache() 2011-07-04 23:05:31 +01:00
Justin Clark-Casey (justincc) cb02fc44f5 add TestExpireAsset() 2011-07-04 23:03:05 +01:00
Justin Clark-Casey (justincc) f58de55c84 refactor: Move test setup code into setup method 2011-07-04 22:59:36 +01:00
Justin Clark-Casey (justincc) bebc51a6e0 Make it possible to disable the file part of the flotsam asset cache
This matches the ability to disable the memory part
This is controlled through the FileCacheEnabled parameter in FlotsamCache.ini
Default is true, so existing installations are not affected.
Improved fcache command feedback when various caches are disabled.
Re-enabled test for flotsam cache with file caching disabled.
2011-07-04 22:51:47 +01:00
Justin Clark-Casey (justincc) 5dc785bbf2 refactor: Split file cache manipulation code into separate methods, as has already been done for the memory cache 2011-07-04 22:30:18 +01:00
Justin Clark-Casey (justincc) 46f5893d55 Add basic flotsam asset cache test for retrieved cached asset.
Disabled temporarily since file system caching disrupts subsequent test runs
2011-07-04 21:35:15 +01:00
Justin Clark-Casey (justincc) b8e7258051 If a user has the rights to edit a parcel's properties, then also allow them always to enter that parcel.
This is patch http://opensimulator.org/mantis/view.php?id=5567
Thanks Snoopy!
2011-07-02 01:14:29 +01:00
Justin Clark-Casey (justincc) bb4cb16512 Add profile, merge, noassets and skip-assets options for loading/saving oars via RemoteAdmin
This is http://opensimulator.org/mantis/view.php?id=5453
Thanks Michelle Argus!
2011-07-02 01:05:03 +01:00
Justin Clark-Casey (justincc) 513d63455e Create a very basic initial test which just creates an 'npc' and tests that the scene presence exists 2011-07-02 01:01:40 +01:00
Justin Clark-Casey (justincc) ed12e38480 refactor: simplify existing npc code by creating them directly rather than indirectly via a timer
no obvious reason for doing this asynchonously, especially as the caller was sleeping in order to pick up the response anyway!
2011-07-02 00:18:15 +01:00
Justin Clark-Casey (justincc) fba961c63f Make default serverside_object_permissions = true since this better matches user expectations.
It also matches the default setting in the OpenSim.ini.example file
2011-07-01 23:06:46 +01:00
Justin Clark-Casey (justincc) e765759f50 If OpenSim has been built from a git tree, then include version information automatically by dereferencing .git/HEAD
A blank bin/.version file will stop this being displayed.
2011-07-01 22:48:00 +01:00
Justin Clark-Casey (justincc) 759e855566 refactor: rename gitCommitFileName to manualVersionFileName since bin/.version doesn't necessary have to be a git hash 2011-07-01 21:47:30 +01:00
Justin Clark-Casey (justincc) e41093635a fix build break I just introduced 2011-07-01 21:37:03 +01:00
Justin Clark-Casey (justincc) 9f72fbcb75 Add an async inventory details sender to respond to FetchInventory packets.
If a user with a very large inventory right-clicks on their "My Inventory" folder, viewer 1 code will send a massive number of Fetchinventory requests.
Even though each is handled asynchronously via a pool thread, the sheer frequency of requests overwhelms the pool and freezes inbound packet handling.
This change makes the first Fetchinventory thread also handle subsequent requests, freeing up the other threads.
Further efficiencies could be made by handling all the items in a particular FetchInventory request together, rather than separately.
2011-07-01 21:25:40 +01:00
Justin Clark-Casey (justincc) 2d2c29ef3e Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-06-30 22:41:21 +01:00
Justin Clark-Casey (justincc) a9b7487fcb improve and tidy up some config file comments 2011-06-30 22:36:41 +01:00
Justin Clark-Casey (justincc) 03feb50a72 minor: adjust some indentation and spacing in OpenSim.ini.example for consistency 2011-06-30 20:26:17 +01:00
dahlia 5c18ebf424 Allow physics proxy generation for meshes using new asset format.
Fix an invalid cast exception while decoding new mesh asset format.
2011-06-29 17:36:41 -07:00
Justin Clark-Casey (justincc) c84a1bd99f Don't follow inventory links of links.
This is to avoid problems with corrupt inventories where an inventory link target points back at the source's folder
No viewer has been observed to set these up as of yet.  If this ever happens, we will need a more sophisticated solution to track sent folders within the recursion
2011-06-29 01:33:41 +01:00
Justin Clark-Casey (justincc) 1b4c08730e refactor: simplify redundant double containing folder check 2011-06-29 00:56:35 +01:00
Justin Clark-Casey (justincc) 3f0b8db0c1 If an inventory link target is in the same folder as the source, then don't recursively request that folder.
Currently, this should never actually happen but certainly best to handle this case
2011-06-29 00:54:53 +01:00
Justin Clark-Casey (justincc) 22f25fae38 Hack around with the NPC module to get osNpcCreate() partially working again.
This now creates an avatar but appearance is always cloudy.
Move doesn't work.
Really, creating an NPC should only involve a ScenePresence rather than doing anything with IClientAPI, since an NPC has no viewer to communicate with!
2011-06-29 00:28:22 +01:00
Makopoppo ee92f22f2a [PATCH 2/2] [FIX] osGetPrimitiveParams() and osSetPrimitiveParams()
crashes throwing System.NullReferenceException

Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-06-28 11:48:29 -04:00
Makopoppo 80010f8908 [PATCH] osSetSpeed() will accept float number
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-06-28 11:48:28 -04:00
Makopoppo ffa790d69d [PATCH] Get osGetWindParam() and osSetWindParam() accessible
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-06-28 11:48:28 -04:00
Makopoppo 882d5c82b3 [PATCH 1/2] Fixed the function names of some OSSL functions shown as
threat-level check error message

Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-06-28 11:48:28 -04:00
Makopoppo e11c959400 [PATCH] Changed Wind parameters default value in OpenSim.ini.example
according to implementation

Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-06-28 11:48:28 -04:00
Justin Clark-Casey (justincc) 36e2054760 minor: temporarily comment out the local status notify friends messages seen on login/logout, since it's a bit noisy on the console.
Please uncomment if/when this is still needed.
2011-06-27 23:12:54 +01:00
Justin Clark-Casey (justincc) 23bf773dea For an initial test, add 64 bit shared object bullet libraries built under Linux. These are not yet hooked up.
I'm not sure which one you actually need, Robert, so please prune as appropriate.  I haven't tested or hooked these up in any way yet.
2011-06-27 00:29:01 +01:00
Justin Clark-Casey (justincc) 698cd0b3c2 Remove the now unused [cms] section from OpenSimDefaults.ini 2011-06-25 01:33:09 +01:00
Justin Clark-Casey (justincc) 5daac0584a Fix bug in reset user password where entering an invalid name would cause an exception. Also, convert this commands log output to console output.
Console output is more appropriate for console commands.  The log only gets one side of the conversation anyway (since it doesn't necessarily record command inputs).
2011-06-25 00:08:14 +01:00
Justin Clark-Casey (justincc) 296774495b Implement "set user level" console command to set the user level (which determines whether a user has a god account)
Adapted from Makopoppo's patch in http://opensimulator.org/mantis/view.php?id=5552.  Thanks!
2011-06-25 00:03:34 +01:00
Justin Clark-Casey (justincc) 56dcc51094 Add a command "show account <first-name> <last-Name>" to the user account service that will show the given user details 2011-06-24 23:54:37 +01:00
Makopoppo 7545692f32 Changed actual default values of 'ServiceConnectorModule' and 'MessagingModule' in [Groups] section in accordance with OpenSim.ini.example descriptions 2011-06-24 22:40:21 +01:00
Oren Hurvitz 0dd3281caf Optionally, don't delete previously compiled scripts on startup 2011-06-24 22:07:20 +01:00
Justin Clark-Casey (justincc) afb1248e39 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-06-24 21:57:16 +01:00
Justin Clark-Casey (justincc) 1a0a9d2290 Implement the latest mesh mechanism so that rezzing the uploaded mesh now works again.
Many thanks to the aurora project for pioneering this.
This code is almost certainly not bug free, but it does at least appear to handle simple meshes (except when the viewer crashes - but it is beta!).
2011-06-24 21:54:01 +01:00
BlueWall 1cad116b1d Merge branch 'master' of /home/opensim/src/opensim 2011-06-24 16:33:40 -04:00
BlueWall 75199a0d2c RegionReady Module:
Add notification to neighbors when logins are enabled.
2011-06-24 16:20:13 -04:00
Justin Clark-Casey (justincc) 37a7c16734 minor: method documentation 2011-06-24 21:01:48 +01:00
Justin Clark-Casey (justincc) de20f0603f Tell hypergridders when their teleports fail because of the 4096 limit rather than just saying "destination not found"
Instead of performing the 4096 check when the region is linked (and subsequently removing the link), leave the link in place and perform the check in the entity transfer module
This allows us to explicitly tell the hypergridder why the teleport failed (region out of range).
It also allows people on regions that are within range (on a large source grid) to teleport.
The Check4096 config parameter in the [GridService] section is replaced by a max_distance paramter in a new [EntityTransfer] section in OpenSimDefaults.ini
Since the parameter is in OpenSimDefaults.ini no action needs to be taken unless you want to increase this limit.  It could also be decreased.
The check is being made in the base entity transfer module, since I believe the viewer problem occurs both on extremely large grids and while hypergridding.
2011-06-24 19:49:05 +01:00
Robert Adams 7974349262 Initial BulletSim.dll commit 2011-06-20 17:28:53 -07:00
Robert Adams 302d72701d BulletSim initial checkin 2011-06-20 17:24:42 -07:00
Diva Canto 7819b4a794 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-06-16 17:15:12 -07:00
Diva Canto 409738726d Added a couple of guards and warnings to the MapImage/MapImageServiceModule. 2011-06-16 17:14:41 -07:00
Mic Bowman ad84728aba Add localID to physical object creation functions. 2011-06-15 11:31:32 -07:00
Mic Bowman 29da57e380 Add the PhysActor to the correct SOP when duplicating a physical
prim. Thanks, MisterBlue
2011-06-15 11:26:45 -07:00
Mic Bowman 289c8fe1bc Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-06-15 11:24:29 -07:00
Mic Bowman 7a4fbdac7c Added an expiring cache for region information to the
RemoteGridService connector. Timeout is currently set at five
minutes. Negative results are not cached.

The result is that operations like send an instant message do
not have to go through the grid service every time.
2011-06-15 11:22:51 -07:00
Diva Canto 5b7ab50319 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-06-15 11:11:54 -07:00
Diva Canto bbe489e64a Added missing config var for map image service. 2011-06-15 11:11:14 -07:00
Justin Clark-Casey (justincc) 603dbea190 tweak messages. Make verbose inventory item save message give the item name as well as item id and asset id 2011-06-14 00:51:18 +01:00
Diva Canto 822b9e085f Added SimulatorFeatures capability. Thanks Aurora devs for the bootstrap on the contents of the response.
Changed the experimental capability introduced a couple of commits ago: now sending that extra information as part of the response in the SimulatorFeatures cap.
2011-06-13 10:21:29 -07:00
Diva Canto c62ccc75a1 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-06-13 09:14:17 -07:00
Diva Canto ecb28ae130 V2 map now working in grids too. WARNING: A few visible configuration variables added in order for this to work. See .ini.example changes 2011-06-13 09:13:44 -07:00
Diva Canto ab11835aeb Same processing of the "/" in the MapImageService Cap as the one in the login service. 2011-06-13 07:59:28 -07:00
Diva Canto 0e4db3ca39 Added experimental new capability URL called MapImageService meant to work with Kokua viewer if devs are willing to do it. 2011-06-13 07:56:52 -07:00
Michael Cerquoni aka Nebadon Izumi dc978d02a7 match water color for warp3d map tiler and adjust lighting 2011-06-13 12:37:43 +01:00
Diva Canto 4b9de140ab Add credit and link to SimianGrid project. Thanks, guys! 2011-06-12 22:25:30 -07:00
Diva Canto 95e050130c People are bound to forget the '/' at the end of MapTileURL, so let's correct that from the inside. 2011-06-12 22:10:16 -07:00
Diva Canto 2e77518c6d bit depth: 24!!! begeez! -- zoom levels work now. 2011-06-12 21:51:26 -07:00
Diva Canto 07d7c1cd2d Trailing / in MapTileURL must be there! 2011-06-12 18:29:44 -07:00
Diva Canto 78c16da544 A few bug fixes on map V2. Zoom level weirdness still there. 2011-06-12 17:05:45 -07:00
Diva Canto fd57c91b4a First pass at making the V2 map work. Standalones only for now. There are some issues with the zoom level -- TBD. 2011-06-12 15:37:42 -07:00
Diva Canto 06e254c392 A few more cleanups on the way to close http://opensimulator.org/mantis/view.php?id=5516 once and for all. Moral of the story: don't send AgentOnline/Offline to viewers with a zero-length array. 2011-06-11 17:48:19 -07:00
Diva Canto e1ca77a0db Only send AgentOnline to the client if the friendsOnline list has elements. Also, increased the timeout on UserAgentServiceConnector, StatusNotification again. 2011-06-11 17:22:35 -07:00
Diva Canto d992779397 Switched order of SQL statements in Friends migration -- resulted in the wrong key 2011-06-11 09:36:57 -07:00
Diva Canto e07d71d298 Added a Sleep in between each site call, to slow the xml-rpc requests down. 2011-06-10 21:17:34 -07:00
Diva Canto 5f311c91c7 More tweaking on the UserAgentServiceConnector: add constructor that does not do DNS lookup, and use that for friends notification. 2011-06-10 21:07:50 -07:00
Diva Canto 0ae022d688 Decreased timeout of HG StatusNotification to 4secs. http://opensimulator.org/mantis/view.php?id=5516 2011-06-10 20:59:57 -07:00
Diva Canto 487cb51f69 3rd way of reseting the HG Map. This time, don't use the grid service; instead keep track of which map blocks each client has seen in the region, and reset exactly those when the client closes. 2011-06-10 17:22:17 -07:00
Justin Clark-Casey (justincc) 9a62bfab0e If the flotsam asset cache console command "fcache clear" is specified on its own, clear both memory and file caches 2011-06-11 00:50:20 +01:00
Justin Clark-Casey (justincc) 39e878eb8f Align CenomeCache.ini.example values with CenomeCache defaults. 2011-06-11 00:35:31 +01:00
Justin Clark-Casey (justincc) c7cef650db Make it clear that WaitOnInprogressTimeout is currently a dead setting in FlotsamCache.ini.example 2011-06-11 00:10:40 +01:00
Justin Clark-Casey (justincc) b13b54c526 Make the internal flotsam asset cache defaults match config-include/FlotsamCache.ini.example. Enable the flotsam console commands even if FlotsamCache.ini isn't present.
For the most part, defaults are made to match those already in FlotsamCache.ini.example.
The one exception is that the 48 hour file timeout from the code is used instead of the 0 hours that was in the example file.  This can be tweaked if necessary.
Most importantly, the default cache directory is now ./assetcache (as in FlotsamCache.ini.example) rather than ./FlotsamAssetCache (as was the internal code default).
Therefore, if you were using flotasm without using the config file, then please rename your cache directory or start using the ini file and change the default there if you want to keep using your existing cache.
2011-06-11 00:04:21 +01:00
Justin Clark-Casey (justincc) fc7e17baf7 When serializing objects, stop accidentally using the green text colour value for alpha
This addresses http://opensimulator.org/mantis/view.php?id=5111
2011-06-10 21:49:25 +01:00
Makopoppo c7bdb66a1f Added missing "Old Guids=true" to ConnectionString 2011-06-10 21:10:37 +01:00
Oren Hurvitz 804fe2d9b0 Save the sun's position in OARs 2011-06-10 20:55:58 +01:00
Justin Clark-Casey (justincc) 08db3c5a8e Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-06-10 20:42:15 +01:00
Justin Clark-Casey (justincc) b5518dc906 minor: Add some commented out destructor logging messages for potential future use.
At the moment, client and scene objects are being garbage collected as expected, at least in simple scenarios.
2011-06-10 20:40:14 +01:00
Diva Canto eeac2275c9 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-06-10 09:17:06 -07:00
Diva Canto 98d1e7768a New method for resetting the map on HG: do it only once upon changing grids, and reset only exactly the map blocks that had regions in them. WARNING: this fetches all the regions from the Grid service, so there is a chance that this is a really bad idea in large grids. Pushing it for testing. 2011-06-10 09:16:43 -07:00
dahlia 387b228d68 partial update for new mesh asset format - handle both old and new formats for physics mesh 2011-06-10 00:38:38 -07:00
Justin Clark-Casey (justincc) 9149ef6c89 For MySQL, migrate region tables to the MyISAM storage engine rather than InnoDB
Using MyISAM proves vastly faster for persisting scene objects.
For instance, a scene object that took 9 seconds to persist before now takes 1.  This also improves the experience of loading large OARs.
We don't use any of the transactional features of InnoDB.
The only thing that may have an impact is that InnoDB does row locking on inserts while MyISAM does table locking.
However, field reports say there is no noticeable difference.
2011-06-10 02:33:50 +01:00
Justin Clark-Casey (justincc) d780500c58 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-06-10 02:29:30 +01:00
Justin Clark-Casey (justincc) 2bc8dcfdbd minor: add method doc to make it clear that click action is fired when the click action is changed, not when a prim is clicked 2011-06-10 02:27:45 +01:00
Diva Canto 8d3a8a0a81 The map breakage is actually at 2048! 2011-06-09 16:51:47 -07:00
Diva Canto e3e1f6308d Change the name of the newest command to "show names" so that it doesn't conflict with the existing "show users" 2011-06-09 16:11:47 -07:00
Diva Canto 4cf60c5d9d Removing special casing on failures. This may also fix reports of this issue:
22:07:53 - [USER AGENT CONNECTOR]: remote call to http://hg.osgrid.org:80/ returned an error: Requested method [locate_user] from 127.0.0.1 threw exception: Object reference not set to an instance of an object   at OpenSim.Services.HypergridService.UserAgentService.LocateUser (UUID userID) [0x00000] in <filename unknown>:0
2011-06-08 19:51:48 -07:00
Diva Canto 49e4e53928 Consistency fix on the last commit. 2011-06-08 16:41:58 -07:00
Diva Canto 2a46f756d6 Fixed a compilation problem. Also added a lengthy comment on the Map hack, so that it never goes unnoticed again. 2011-06-08 16:38:25 -07:00
Diva Canto 1bd712c541 Reverting the [HG]MapModule to its buggy behavior above 4096. Ppl seem to prefer the color blue, and I have given up trying to make things work above 4096.
Revert "Improved reuse on the WorldMap/WorldMapModule.cs"

This reverts commit d473d9975e.
2011-06-08 16:12:47 -07:00
Diva Canto 80fc607d75 Fixed "Unknown User" listed as creator/owner on prims created with the Build button by foreign visitors. Added command to the UserManagementModule to list all the known bindings between user UUIDs and their names: show user-names. 2011-06-08 16:01:33 -07:00
Diva Canto 9759b2a4bb Added EventManager.OnPrimsLoaded, an event that modules can hook up onto so that they know when the scene's objects have been loaded from the DB. 2011-06-08 15:18:14 -07:00
Diva Canto 90f657d77d Deleted wrong debug message. 2011-06-08 13:45:38 -07:00
Oren Hurvitz 61f1c2b2c5 Write estate errors on startup to the log 2011-06-07 20:20:04 -07:00
Oren Hurvitz 39323055bd When a plugin fails to load because a DLL is missing, log which DLL it is 2011-06-07 20:17:49 -07:00
Diva Canto eabfc9ca15 Added error message to help understand http://opensimulator.org/mantis/view.php?id=5527 2011-06-07 20:05:24 -07:00
Diva Canto 3307db5d4a This hopefully fixes all issues with online/offline notifications across grids. http://opensimulator.org/mantis/view.php?id=5528 2011-06-07 19:36:04 -07:00
Diva Canto 02b40670be This makes the display names work better for foreigners 2011-06-07 12:10:57 -07:00
Diva Canto 41627bdf8a Remove scary error message 2011-06-07 12:09:32 -07:00
Diva Canto f5d82350bb This fixes the crash reported in http://opensimulator.org/mantis/view.php?id=5529 related to sending IMs to foreign friends who are offline. Hopefully. 2011-06-07 10:51:12 -07:00
Diva Canto 1a23d322ac More on the hunt for the slow down on HGFriendsModule. - Don't requests the online friends on foreign grids. If this works, there's another way of getting that info. 2011-06-06 19:52:50 -07:00
Diva Canto dce0e46eaa Moved the Mono Addins declaration of the HGFriendsModule to where the one for FriendModule is -- CoreModulePlugin.addin.xml (trying to hunt down the slowness reported by Nebadon related to HGFriends) 2011-06-06 18:20:02 -07:00
Diva Canto e77ca65e57 This should make offline IMs work again. It should work for incoming foreign IMs where the local recipient is offline. I can't test any of this, because I don't run an offline IM server. 2011-06-06 17:46:34 -07:00
Diva Canto 6861606b6d Narrow down the exception catching to exactly the exception of interest. This may decrease the time of processing prims with broken user data. 2011-06-05 19:46:29 -07:00
Diva Canto 78e76bba38 Removed unused dependency (that happened to have the wrong path) 2011-06-05 18:50:21 -07:00
Justin Clark-Casey (justincc) 205b2f7ea4 Remove the unmaintained 'CMS' framework, which was really a 'source-control' experiment from 2008.
This hasn't been touched for about 2 years and I haven't being using it.  If this is wrong then please let me know.
2011-06-04 03:01:52 +01:00
Justin Clark-Casey (justincc) fe471b6424 Extend TestGiveInventoryFolder() to test giving back the freshly received folder 2011-06-04 02:44:53 +01:00
Justin Clark-Casey (justincc) 12b1cbf8bf Fix give inventory tests to use different users rather than (accidentally) the same user. Extend TestGiveInventoryItem() to test giving back the same item. 2011-06-04 02:39:26 +01:00
Justin Clark-Casey (justincc) fe890554fb insert an InventoryArchiveUtils.FindItemsByPath() to return multiple items rather than just the first one 2011-06-04 01:37:01 +01:00
Justin Clark-Casey (justincc) 896f039513 create TestGetInventoryItem() 2011-06-04 00:51:49 +01:00
Justin Clark-Casey (justincc) 1543fd7fff extend TestGiveInventoryFolder() to check for the receipt by user 2 2011-06-04 00:20:54 +01:00
Justin Clark-Casey (justincc) 66004a9375 If an llSensor() is in an attachment, make the detection cone face in the direction of the avatar, not the relative rotation of the attachment towards the avatar.
This is effectively a copy/paste from 459323a, which should be refactored sometime.
This seems the obvious problem from field reports but I have not tested the fix myself.  Feedback welcome.
2011-06-03 23:43:09 +01:00
Justin Clark-Casey (justincc) d09210da86 minor: add in method print out to new test 2011-06-03 23:15:31 +01:00
Justin Clark-Casey (justincc) 527e10a04e add stub UserInventoryTests.GiveInventoryFolder(). Not yet complete 2011-06-03 23:13:05 +01:00
Diva Canto cf86ba5559 Added prefix HG to the name of the landmark item in inventory, as a soft reminder that the landmark belongs to a place in another grid. People can change the name, but that's their decision. 2011-06-03 11:48:24 -07:00
Diva Canto 623706d988 HG Landmarks bug fix: pull landmark asset data from user's asset server when user is traveling. 2011-06-03 11:33:44 -07:00
Diva Canto fde3e704d3 oops 2011-06-03 10:50:55 -07:00
Diva Canto 4ea89f39f2 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-06-03 10:32:21 -07:00
Diva Canto 7772640ae8 .ini.example's updated for HG Landmarks 2011-06-03 10:29:59 -07:00
Diva Canto e33cedfd42 HG Landmarks now working. 2011-06-03 10:26:58 -07:00
Diva Canto 995b893e4c HG Landmarks being created. WARNING: new config var under [HGInventoryAccessModule], Gatekeeper. 2011-06-03 09:04:34 -07:00
Diva Canto 76c60f1f99 Moved CreateNewInventoryItem to the InventoryAccessModule in preparation for supporting HG landmarks. 2011-06-03 08:27:01 -07:00
Justin Clark-Casey (justincc) dfa4442319 Move the "!!!Standalone Only!!!" [FreeswitchService] section from OpenSim.ini.example to config/StandaloneCommon.ini.example where it belongs. 2011-06-02 22:43:44 +01:00
Justin Clark-Casey (justincc) b8e2ee6978 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-06-02 21:48:50 +01:00
Justin Clark-Casey (justincc) b000d4f67f minor: add ini.example doc to hint that the server address in [FreeswitchService] must be reachable by viewers 2011-06-02 21:37:17 +01:00
Diva Canto 2a12d143c2 HG IM: increase the timeout value 2011-06-02 10:44:10 -07:00
Diva Canto 6312eea459 HG IM bug fix: grid_instant_message was being placed in the default port instead of the specified one. 2011-06-02 10:14:26 -07:00
Diva Canto 65c71050cc Extra debug message 2011-06-02 09:39:29 -07:00
Diva Canto 3c15c0b264 Added test IM client. 2011-06-02 09:39:09 -07:00
Diva Canto 4696a9c95e Bug fix on HG IM. 2011-06-02 08:13:54 -07:00
Diva Canto f2f30a7890 HG Friends bug fix: connector was shrinking principalID to UUID. 2011-06-02 07:26:40 -07:00
Diva Canto c13acdf5a1 This is the better solution: make the combined key be only on the first 36 characters of each field -- that's the UUIDs. Thanks coyled. WARNING: Again, people who have gone through this migration and failed need to run it manually. 2011-06-01 20:19:22 -07:00
Diva Canto 43ecc46a22 It looks like there's a better solution for that problem.
Revert "Changed Friends table to have 165-sized varchars on PrincipalID and FriendID. The reason for this number is the following: there is a combined key of these 2 fields; apparently MySql can't handle keys larger than 1000 bytes; when the table is created with utf8 encoding, this combined key is bigger than 1000 bytes, and the migration fails. WARNING: this is not a new migration! People who have gone through this migration and failed should update the sizes of these fields manually."

This reverts commit 3fa54a156a.
2011-06-01 20:09:59 -07:00
Diva Canto 3fa54a156a Changed Friends table to have 165-sized varchars on PrincipalID and FriendID. The reason for this number is the following: there is a combined key of these 2 fields; apparently MySql can't handle keys larger than 1000 bytes; when the table is created with utf8 encoding, this combined key is bigger than 1000 bytes, and the migration fails. WARNING: this is not a new migration! People who have gone through this migration and failed should update the sizes of these fields manually. 2011-06-01 20:02:26 -07:00
Diva Canto 46cdd442a8 [Profiles] --> [Profile] 2011-06-01 18:18:31 -07:00
BlueWall 777f57d946 Re-Apply Use current TravelingAgent if the the login failure reason is "Logins Disabled" to fix NullReferenceException, allowing agent to login to fallback region when logins are disabled by "StartDisabled = true" or when logins are disabled by RegionReady""
This reverts commit 0a430bbffb.
2011-06-01 18:47:06 -04:00
BlueWall 0a430bbffb Revert "Use current TravelingAgent if the login failure reason is "Logins Disabled" to fix NullReferenceException, allowing agent to login to fallback region when logins are disabled by "StartDisabled = true" or when logins are disabled by RegionReady"
This reverts commit 4b9e446c62.
2011-06-01 18:10:56 -04:00
BlueWall ac4d080aaf Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-06-01 17:01:40 -04:00
BlueWall 984b801dd9 Merge branch 'master' of /home/opensim/src/opensim 2011-06-01 17:01:08 -04:00
BlueWall 4b9e446c62 Use current TravelingAgent if the login failure reason is "Logins Disabled" to fix NullReferenceException, allowing agent to login to fallback region when logins are disabled by "StartDisabled = true" or when logins are disabled by RegionReady 2011-06-01 16:57:01 -04:00
Makopoppo b0ed0e63dc Adding boolean alias for commandline switches like -save_crashes=yes 2011-06-01 21:14:16 +01:00
Makopoppo 54096db30b Fix: The command line switches 'save_crashes' and 'crash_dir' haven't actually worked 2011-06-01 21:06:43 +01:00
Chris Hart 5fb0455e92 Updates to MSSQL to most recent compatibility, also included Windlight support. Needs plenty of testing but clean install and migration from 0.6.9 have been tested and work, a few indexes still need to be added for performance. 2011-06-01 21:01:04 +01:00
Justin Clark-Casey (justincc) a3e0895f12 a few minor formatting tweaks 2011-06-01 20:55:03 +01:00
James Stallings aka Hiro Protagonist c43ad8a0e7 A final couple of tweaks to GroupsModule.cs. Remove unneeded delegate, and prettify codeing style/formatting 2011-06-01 20:51:52 +01:00
Justin Clark-Casey (justincc) 8bacf56e46 revert the prematurely included groups patch, yet again 2011-06-01 20:51:38 +01:00
BlueWall 929bdba346 Merge branch 'master' of /home/opensim/src/opensim 2011-06-01 13:47:38 -04:00
BlueWall aed6e74080 Add alternate region handling for url based logins as found in login to "home" or "last" 2011-06-01 13:44:20 -04:00
Justin Clark-Casey (justincc) 5711ada5c9 Fix dumb sql mistake in MSSQLGenericTableHandler.Delete() 2011-05-31 22:42:18 +01:00
Justin Clark-Casey (justincc) c67fa72d56 When sending an LLUDP MoneyBalanceReply message, fill out the transaction item description even though there is none.
This is to deal with a problem in libomv where calling ToBytes() without this crashes because of an ItemDescription.Lnegth dereference.
2011-05-31 19:57:08 +01:00
Justin Clark-Casey (justincc) 8129e64e2a Fill in the new OwnerData field in the LLUDP ScriptDialog message.
If we don't do this then viewer 2.8 crashes.
Resolves http://opensimulator.org/mantis/view.php?id=5510
2011-05-31 19:25:01 +01:00
Justin Clark-Casey (justincc) 392d270264 revert the patch that accidentally got added in the last commit 2011-05-31 18:49:38 +01:00
Justin Clark-Casey (justincc) c4b265aeae update libomv libraries to 0.9.0
this is a prerequisite to fixing llDialog issues for the latest Linden viewers, since they are now making use of a new OwnerData field in the ScriptDialog message
2011-05-31 18:47:13 +01:00
Diva Canto 44371118a2 Made GetMapImage public in the Hyperlinker 2011-05-30 20:23:45 -07:00
Diva Canto b81a304baa Made the GatekeeperConnector a public property. 2011-05-30 20:12:05 -07:00
Diva Canto e14b7ec9e1 HGWorldMap: don't send map blocks of hyperlinks that are farther than 4096 cells from the current region. 2011-05-30 17:19:46 -07:00
Diva Canto d473d9975e Improved reuse on the WorldMap/WorldMapModule.cs 2011-05-30 17:15:55 -07:00
Makopoppo 7ea6dfecd9 Adding MSSQL connectionString example 2011-05-30 23:22:52 +01:00
Makopoppo d671dbb7c7 Removing mssql_connection.ini.example - mssql_connection.ini is no longer used 2011-05-30 23:22:49 +01:00
Diva Canto 5cb7d8bc71 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-05-28 13:52:27 -07:00
Diva Canto d5326197ac Fixed an issue with the response of CreateAgent over the SimulationConnector. 2011-05-28 13:52:06 -07:00
BlueWall 16fae059bb Comment the alert_uri so it remains disabled until set 2011-05-28 16:40:05 -04:00
BlueWall 3326e417b4 Merge branch 'master' of /home/opensim/src/opensim 2011-05-28 16:21:30 -04:00
BlueWall c7e18f9017 Adding an event to signal that logins are enabled
Added an event to signal the eabling of logins and added an alert to send to a configured service.
2011-05-28 16:20:10 -04:00
BlueWall d2c2a4301b Merge branch 'master' of /home/opensim/src/opensim 2011-05-28 00:39:21 -04:00
BlueWall 99f42c0a6e Add option to disable logins
This just covers script loading for now. More to come.
2011-05-28 00:35:06 -04:00
Justin Clark-Casey (justincc) 6f4a2685cf minor: remove mono compiler warning 2011-05-27 23:43:31 +01:00
Justin Clark-Casey (justincc) 28cd03cda5 fix bug where generic sqlite table delete wasn't working.
this would have caused dupe links bugs when using the sqlite adaptor
2011-05-27 22:54:59 +01:00
Diva Canto 44d5821c4e Fixed one comment in a config file. 2011-05-27 13:35:22 -07:00
Justin Clark-Casey (justincc) b0c9696de0 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-05-27 21:21:01 +01:00
Justin Clark-Casey (justincc) e9988a3728 Make sure culture is en-US when saving archive related xml.
This might resolve http://opensimulator.org/mantis/view.php?id=5475
2011-05-27 21:19:20 +01:00
Diva Canto fcef4688a8 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-05-27 13:07:39 -07:00
Diva Canto 76525be7b2 HG lures working! Friends can offer friends HG teleports via the profile. WARNING: additional configuration for HG inis -- see *Common.ini.example 2011-05-27 13:07:18 -07:00
Justin Clark-Casey (justincc) 4e4db749eb If parsing fails in the primitive base shape (which prints out a debug log message), also print out the name and uuid of the part containing this shape.
This is to help in diagnosing parsing failures.
2011-05-27 20:59:35 +01:00
Justin Clark-Casey (justincc) 0af5bb239f When saving an iar, don't chase down link asset IDs (since these points to other items rather than real assets)
This bug had no practical effect other than to make "save iar" misreport the number of missing assets
2011-05-27 19:39:03 +01:00
Diva Canto 4087a453dc Avoid a scary warning message about null replies from the user agent service. 2011-05-27 08:53:26 -07:00
Diva Canto d60f525baa HG inventory transfers over the profile working. 2011-05-27 08:19:40 -07:00
Diva Canto 36f9d55c36 Added a BasicProfilemodule so that the profile-based actions (like give inventory, etc) work. This is just a mock profile, the same for all users, and with no DB backend behind it -- meaning that nothing will be saved. For serious profiles, use 3rd party implementations. 2011-05-27 07:00:36 -07:00
Diva Canto 31d07859f9 Added missing config vars to StandaloneCommon.ini.example and fixed the ones in Robust.HG.ini.example 2011-05-26 19:43:24 -07:00
Diva Canto abae859e7a Added missing configuration variables to Robust.HG.ini.example 2011-05-26 19:20:29 -07:00
Diva Canto 07acb4d321 Last commit before pushing. WARNING: (a) DB migration on the friends table; and (b) several config additions related to HG. See Robust.HG.ini.example, GridCommon.ini.example and/or StandaloneCommon.ini.example. 2011-05-26 19:15:39 -07:00
Diva Canto 0d29f73916 Commented a few extra debug messages. 2011-05-26 19:13:03 -07:00
Diva Canto b17afe43c4 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-05-26 15:52:34 -07:00
Diva Canto 0c58a9e680 HG IM in grid mode working fairly well. Unknown target user references looked back in source user's User Agent service. 2011-05-26 10:04:48 -07:00
Justin Clark-Casey (justincc) 91ec1a572a improve help information for "appearance show"
at the moment, this just performs a baked avatar check for everybody in the region.  If the check returns 'corrupt' then a baked texture is missing and other avatars will continue to see the gas ball.
2011-05-26 02:48:47 +01:00
Justin Clark-Casey (justincc) 3270f4353e Add --noassets option for "save iar"
Like "save oar", this saves an iar without assets
This can be useful for backup when you know the required assets will still be present (e.g. you're backing up the assets db separately).
This also bumps the iar format version to 0.3 and 1.2 respectively.
0.3 is backward compatible with previous opensim versions
1.2 is used if the --profile switch is specified.  It is only compatible with 0.7.1 presently.
2011-05-26 02:22:52 +01:00
Justin Clark-Casey (justincc) c7e46e8a51 Bump OAR file format version up to 0.7 for this development cycle.
This adds a <assets_included>true|false</assets_included> element to the oar control file, though this is not used on reloading at this time.
This addition is backward compatible with previous opensim releases
2011-05-26 01:37:15 +01:00
Justin Clark-Casey (justincc) ab855e6f8d fix bug where outfit folder links could not be deleted 2011-05-26 01:32:36 +01:00
Justin Clark-Casey (justincc) d9889ae2e7 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-05-26 01:28:48 +01:00
Justin Clark-Casey (justincc) 6f4d079fc5 Add a --noassets option to "save oar".
This switch stops any assets being saved in the oar.
This can be useful if you're using OAR to backup regions and you know you'll always have the original asset database available.
2011-05-26 01:27:01 +01:00
Diva Canto 587b17e23b HG: Renamed, shuffled some interfaces around. Move them all to IHypergridServices. 2011-05-25 12:37:37 -07:00
Diva Canto 5c2168cae7 HG: Instant Message working. Tested on HG standalones only. Needs a lot more testing. 2011-05-25 12:32:21 -07:00
Melanie e398c33648 Add PayPrice to serialization format Xml2 2011-05-25 12:17:46 +01:00
BlueWall ef3f6b4e63 Revert "Make client event handlers for money only work on root agents"
This reverts commit a8913141c0.

	Pulling this back until some testing under various money
	modules can be done. Need to be able to make purchases as
	a child agent.
2011-05-24 16:33:51 -04:00
BlueWall a8913141c0 Make client event handlers for money only work on root agents 2011-05-24 16:07:48 -04:00
Diva Canto e19031849e Added necessary code to drop inventory on hg friends using the profile window, but can't test because this mechanism doesn't seem to work without a profile service. 2011-05-24 09:38:03 -07:00
Melanie 28c25d8477 Allow disabling the legacy backup mechanism to avoid the object clone if
backup is not used.
2011-05-24 04:03:51 +01:00
Diva Canto 24f28d3534 HG friends: Status notifications working. Also initial logins get the online friends in other grids. 2011-05-23 19:45:39 -07:00
Melanie 61d4291da5 Create a method to force the script engine to save state from outside 2011-05-24 03:17:12 +01:00
Melanie 178d541dca Add an event for an orderly region shutdown that fires once per region before
the SceneGraph is torn down.
2011-05-24 01:19:48 +01:00
Melanie 24c00acedc Fix Mantis #4429: Allow llGiveInventory to work across sim borders. 2011-05-23 02:52:28 +01:00
Diva Canto 336665e035 More on HG Friends. Added Delete(string, string) across the board. Added security to friendship identifiers so that they can safely be deleted across worlds. Had to change Get(string) to use LIKE because the secret in the identifier is not always known -- affects only HG visitors. BOTTOM LINE SO FAR: HG friendships established and deleted safely across grids, local rights working but not (yet?) being transmitted back. 2011-05-22 16:51:03 -07:00
Diva Canto fed3cc630e File to be removed 2011-05-22 15:35:40 -07:00
BlueWall dc95e38e42 Add stubs for unimplemented lsl functions 2011-05-22 14:59:18 -04:00
Diva Canto 58c53c41de Fixed permissions bug related to friends in PermissionsModule. Added FriendsData[] GetFriends(string principalID) to IFriendsData and FriendInfo[] GetFriends(string PrincipalID) to IFriendsService. Refactored some more in the FriendsModule. Made client get notification of local friends permissions upon HGLogin. HG Friends object permissions work. 2011-05-21 16:48:00 -07:00
Diva Canto 80457111e0 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-05-21 14:07:30 -07:00
Justin Clark-Casey (justincc) bb9b317f15 Get rid of OpenSim.Tests.Common.Setup subpackage in favour of just OpenSim.Tests.Common instead 2011-05-21 01:05:20 +01:00
Justin Clark-Casey (justincc) 4073f10133 rename test helpers enclosing package from Setup to Helpers 2011-05-21 00:51:34 +01:00
Justin Clark-Casey (justincc) 94553d4753 rename UserInventoryTestsUtils -> UserInventoryHelpers for consistency 2011-05-21 00:48:01 +01:00
Justin Clark-Casey (justincc) 156cc1418b test helper rename for consistency 2011-05-21 00:44:58 +01:00
Justin Clark-Casey (justincc) d7e5b76d73 refactor: rename AddSceneObjectItem to AddSceneObject 2011-05-21 00:39:42 +01:00
Justin Clark-Casey (justincc) 084059319c refactor: move scene object item creation code into TaskInventoryHelpers 2011-05-21 00:37:20 +01:00
Justin Clark-Casey (justincc) 9103fe84d5 move test task inventory notecard item creation into a new TastInventoryHelpers class 2011-05-21 00:25:58 +01:00
Justin Clark-Casey (justincc) 0050bb438c refactor: use SceneSetupHelpers.CreateSceneObject() 2011-05-21 00:15:22 +01:00
Justin Clark-Casey (justincc) 534ee52a12 rename UserProfileTestUtils to UserAccountHelpers to be consistent with other test helper names 2011-05-21 00:11:52 +01:00
Justin Clark-Casey (justincc) 3fed61a5d5 refactor: in TaskInventoryTests, use UserProfileTestUtils.CreateUserWithInvetory() 2011-05-21 00:07:24 +01:00
Justin Clark-Casey (justincc) bc43cef581 minor: remove mono compiler warning 2011-05-21 00:05:00 +01:00
Justin Clark-Casey (justincc) 90567a9eaa refactor Scene.RezObject() to use AddNewSceneObject() rather than copy/pasting code with small differences 2011-05-21 00:02:53 +01:00
Justin Clark-Casey (justincc) f2095ea279 refactor TestRezObjectFromInventoryItem() 2011-05-20 23:45:39 +01:00
Justin Clark-Casey (justincc) 4b0fc4faef implement Scene.GetSceneObjectGroup(string name) to match the equivalent GetSOP method 2011-05-20 23:41:14 +01:00
Justin Clark-Casey (justincc) 91a9f30b16 implement Scene.GetSceneObjectGroup(UUID fullID) using existing index 2011-05-20 23:34:34 +01:00
Justin Clark-Casey (justincc) 7ed419217f add test for rezzing an object from a prim item 2011-05-20 23:22:27 +01:00
Justin Clark-Casey (justincc) 9fc29e1595 Implement llGetLinKNumberOfSides().
Based on code in http://opensimulator.org/mantis/view.php?id=5489  Thanks onesong.
2011-05-20 20:19:32 +01:00
Justin Clark-Casey (justincc) 6e7b588235 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-05-20 20:06:51 +01:00
Kim King a2c19847b4 ScriptEngine/Shared: Fix bug 5473 (v2). 2011-05-20 20:00:55 +01:00
Diva Canto d21e9c755f HG Friends working to some extent: friendships offered and accepted correctly handled. Friends list showing correct foreign names. TODO: GrantRights. 2011-05-19 16:54:46 -07:00
BlueWall 584bce36ac Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-05-19 01:35:11 -04:00
BlueWall 926a100652 Add stub for llGetLinkNumberOfSides(integer link) 2011-05-19 01:34:11 -04:00
Justin Clark-Casey (justincc) bdd7849094 Allow item links to be deleted even when other deletes and purges are disabled.
If these links are not deleted, then they will build up in the player's inventory until they can no longer log in.
Accidental deletion of links due to bugs or other causes is potentially inconvenient but on a par with items being
accidentally moved.  When a link is deleted, the target of the link is never touched.
This is a general solution that accounts for the use of links anywhere in the user's inventory.
2011-05-19 00:51:14 +01:00
Justin Clark-Casey (justincc) 6dcc87b1ad Accidentally committed too early
Revert "Allow item links to be deleted even when other deletes and purges are disabled."

This reverts commit 491279f99a.
2011-05-18 00:23:35 +01:00
Justin Clark-Casey (justincc) c562b9ef19 correct small mistake in "delete object name <name>" usage summary 2011-05-18 00:22:09 +01:00
Justin Clark-Casey (justincc) 491279f99a Allow item links to be deleted even when other deletes and purges are disabled.
If these links are not deleted, then they will build up in the player's inventory until they can no longer log in.
Accidental deletion of links due to bugs or other causes is potentially inconvenient but on a par with items being
accidentally moved.  When a link is deleted, the target of the link is never touched.
This is a general solution that accounts for the use of links anywhere in the user's inventory.
2011-05-17 22:31:16 +01:00
Justin Clark-Casey (justincc) 784f70f704 don't throw a null reference if an inventory link target doesn't exist when we're inspecting in order to send the required inventory folders 2011-05-17 02:25:05 +01:00
Justin Clark-Casey (justincc) 467d7060ca Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-05-17 01:58:51 +01:00
Justin Clark-Casey (justincc) 4232b1a89b convert tabs to spaces 2011-05-17 01:57:18 +01:00
Kim King 901448a8eb Fixup documentation for AutoBackupModule. 2011-05-17 01:55:54 +01:00
Diva Canto a2f034c554 Changed yet more Warns to Debugs. 2011-05-14 13:36:55 -07:00
Diva Canto be6feff331 Also changed a couple of messages in WebUtil from Wanr/Info to Debug. 2011-05-14 13:09:59 -07:00
Diva Canto 082a9ecd31 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-05-14 12:57:34 -07:00
Diva Canto a3aa839d75 Stop spamming Nebadon's console when assets aren't found in the asset server. 2011-05-14 12:56:50 -07:00
Justin Clark-Casey (justincc) e3b8d42bbc refactor: improve PrimLimitsModule to call ILandObject.GetSimulatorMaxPrimCount() rather than use copy/pasted code 2011-05-14 02:51:29 +01:00
Justin Clark-Casey (justincc) 340e3ccf16 refactor: remove thisObject argument from ILandObject.Get*MaxPrimCount() instance methods since it didn't make sense to use anything other than the instance themselves. 2011-05-14 02:42:47 +01:00
Justin Clark-Casey (justincc) bef1ffa7db simplify code in llGetParcelMaxPrims() to use existing code in LandObject rather than duping the algo 2011-05-14 02:34:46 +01:00
Justin Clark-Casey (justincc) 1d86079141 Correct llGetParcelMaxPrims() to use the same calculation as used elsewhere instead of the old 0.22 prims/meter squared fudge factor.
Thanks to tglion for this.
2011-05-14 01:26:04 +01:00
Justin Clark-Casey (justincc) 26ce1d27d0 Minor doc change to see if this provokes a good panda build 2011-05-14 01:07:06 +01:00
Oren Hurvitz 64d868fb64 When loading an OAR that doesn't have parcels, create a default parcel 2011-05-14 00:41:32 +01:00
SignpostMarv Martin cb6cd3714e The get_grid_info REST call now encodes XML Entities 2011-05-14 00:31:54 +01:00
Makopoppo 7a54638b57 Swapped the two restart command descriptions each other 2011-05-14 00:25:31 +01:00
Justin Clark-Casey (justincc) 5573fcfa93 Fix adding/removing/replacing outfits in viewer 2
To get this to work, I had to disable the dupe link check I put in a couple of commits ago.
When the viewer adds wearables to an existing outfit, it first requests deletes of all the existing links before creating a new set.
Since these messages are async, the creates were being received before the deletes had a chance to complete, resulting in missing current outfit links.
However, the dupe check shouldn't be as important now that broken links have been fixed - it was the broken links that were causing the client to create dupes.
Tested on kokua 0.1.0 WIP and SL 2.6.3.  I now have no problems managing outfits on my standalone.
2011-05-14 00:10:27 +01:00
Melanie 59d8588ae1 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-05-13 12:03:16 +01:00
Melanie eceedba23b Fix the cert validation handler so that it will not block other parts of
the server doing ssl successfully.
2011-05-13 12:02:49 +01:00
Diva Canto e39dec6f37 Hopefully this fixes offline messages. The problem was: the server is not setting the ContentLength of the response. That comes up to OpenSim as ContentLength=-1, which made the existing test fail. 2011-05-12 20:48:24 -07:00
Diva Canto 1cc70df3b4 One more thing printed out. #OfflineIM 2011-05-12 20:20:08 -07:00
Diva Canto 84f2a779b2 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-05-12 19:57:15 -07:00
Diva Canto 301321c853 Instrument the heck out of offline messages. THIS IS VERY VERBOSE. 2011-05-12 19:56:59 -07:00
Justin Clark-Casey (justincc) 5f9edd195c Fix broken inventory links on viewer 2.
It appears that if the viewer requests a folder containing links, we must also send the folders that contain the link targets first.
This was tested with Kokua 0.1.0 WIP though I predict it will also work with other viewer 2s
2011-05-13 03:24:19 +01:00
Diva Canto 691283c44e One more debug message for offline IMs. 2011-05-12 19:10:44 -07:00
Diva Canto 9e310a0c0f Sequencing the using and try clauses as they were before, but this shows that that obsolete function is not catching 404's as it should... 2011-05-12 18:53:22 -07:00
Diva Canto 42bfab84b8 Bummer, can't print the data I wanted to see. Printing just the context. 2011-05-12 18:47:14 -07:00
Diva Canto f54a36bd59 Tracking a problem with offline IMs coming in as null list. 2011-05-12 17:34:26 -07:00
Diva Canto e9e4c009b4 This makes compression of fatpacks actually work. Previously they always failed. See comment in WebUtil. 2011-05-11 20:44:03 -07:00
Justin Clark-Casey (justincc) 9988bff9e3 Add a smidgen of method doc about the fact that item links reuse the asset id item slot 2011-05-12 03:18:53 +01:00
Justin Clark-Casey (justincc) ac12ace6f1 Prevent viewer 2 from creating a duplicate outfit inventory links.
I believe this is safe since there is a 1-1 correspondence between link item and worn item (i.e. you can't be wearing the same item at two spots simultaneously in one outfit).
This should stop lots of duplicate links being created when viewer 2 is used.
However, this doesn't prevent broken inventory links, which I believe is timing related since the effect is not consistent (e.g. keep relogging and the viewer should end up seeing them correctly) .  I think we actually see this problem on viewer 1 as well.
It might be easier just to implement the Fetch*2 inventory caps which are documented at http://wiki.secondlife.com/wiki/Inventory_API.  WebFetch* has been deprecated by Linden Lab since viewer 2.5.1 and according to the sl wiki, "has numerous bugs".
2011-05-12 02:46:13 +01:00
Diva Canto 7fa2489a6e Revert "Functional improvement: close the stream. Non-functional: add debug messages to find out why updates are getting an error. WARNING: MASSIVE CONSOLE SPAM ON TPs."
This reverts commit 5548f83750.
2011-05-11 13:15:27 -07:00
Diva Canto af2e12d2b4 One more debug message. Don't use this unless your name is nebadon. 2011-05-11 10:43:50 -07:00
Diva Canto 5548f83750 Functional improvement: close the stream. Non-functional: add debug messages to find out why updates are getting an error. WARNING: MASSIVE CONSOLE SPAM ON TPs. 2011-05-11 10:21:42 -07:00
Diva Canto 47735468d2 Somewhat reverting the last commit. The viewer ignores 255's on tiles that were previously on, so we need to send 254 (offline) explicitly. Also removing the +/-4 for HGMap, because it makes the map flicker. 2011-05-10 09:02:25 -07:00
Diva Canto e1a4a8d857 Changed the Access flag on HGMap to 255 (does not exist) and clarified the other value 254 too. Meanings taken from libomv. 2011-05-09 18:28:16 -07:00
Diva Canto 7e2b35bbb3 Fixes gray tiles around +/-4 when user clicks on an empty tile. Affects regions above 4096 primarily. 2011-05-09 11:35:41 -07:00
Diva Canto 8a5f6dc7a5 Fixes gray tiles on map search for viewers 1. 2011-05-09 10:25:42 -07:00
Diva Canto c0a69bfaab The map is seriously broken. This doesn't fix it, but at least provides one more piece of data that seems to be required -- agent flags, which seem to be different in Viewer 2. WARNING: changes IClientAPI. 2011-05-08 22:50:04 -07:00
Melanie fd66903f74 Convert the prim count module into a permissionsmodule 2011-05-09 03:16:01 +01:00
E. Allen Soard 527b4e7c7e Incremental - Just did some cleanup of comments and class name change to clean up from using BareBonesNonShared as a template. 2011-05-09 03:14:54 +01:00
E. Allen Soard 279ed08de1 Incremental patch to add config options to enable/disable the prim limits module to OpenSim.ini. EnforcePrimLimits is set to false by default to emulate the current behavior. 2011-05-09 03:14:48 +01:00
E. Allen Soard 65d595597d Adds an optional module to enforce prim limits on a given parcel Takes into account acculmitive prim allowance when multiple parcels are owned by the same avatar on the same region. Does not handle prims that are moved by a script or account for temporary objects at the time of creation. other wise handles all tested cases including: Creating a new object from the build menu Moving an object from another parcel duplicating an object via shift move rezing an object from a script 2011-05-09 03:14:41 +01:00
Melanie 2b88d8f93f Add commands to delete objects by name, UUID, creator or owner 2011-05-09 01:28:23 +01:00
Diva Canto 00f10c900a Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-05-08 16:51:41 -07:00
Diva Canto 3a5e841b0b Fix content-type to be application/x-www-form-urlencoded 2011-05-08 16:51:04 -07:00
Diva Canto a650c74d23 Comment verbose debug message in GetTexture 2011-05-08 16:50:36 -07:00
Melanie c8b9558039 Also compress the actual fatpacks 2011-05-08 23:52:31 +01:00
Melanie e345f03895 Remove a spammy debug I left in. Disable TP cancel button at the point
of no return.
2011-05-08 22:05:33 +01:00
Melanie 1be67914fa Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-05-08 20:20:40 +01:00
Melanie 9688db2f68 Enable compressed (gzip) fatpack transfers. 2011-05-08 20:20:00 +01:00
Diva Canto 25809caaeb Mantis #5472 2011-05-08 09:28:15 -07:00
BlueWall d40e4562f2 Add missing configs for ssl in Robust.HG.ini 2011-05-07 18:54:21 -04:00
Diva Canto 72fb0d5b93 Mantis #5470 -- add forgotten MSSQL's GridUserStore. Thank you MrMonkE 2011-05-07 14:56:59 -07:00
Justin Clark-Casey (justincc) d4fcba08af Add module with "appearance show" command.
At the moment, this command just asks the AvatarFactory to perform the existing baked texture check for each avatar in the simulator and returns "OK" or "corrupt".
This is for debugging purposes
2011-05-07 01:06:55 +01:00
Diva Canto 737add1683 Removed SimpleRegionInfo, which was obsolete and not used anywhere. 2011-05-06 17:02:46 -07:00
dahlia eaa33cf478 adjust avatar terse update packet filter distance error threshold based on avatar speed 2011-05-06 16:56:54 -07:00
Justin Clark-Casey (justincc) b140aef87a refactor: simplify ConfigSettings 2011-05-06 22:51:36 +01:00
Justin Clark-Casey (justincc) 04ecd748d9 remove further mono compiler warnings 2011-05-06 22:47:41 +01:00
Justin Clark-Casey (justincc) 3d095e84d6 minor: remove mono compiler warnings 2011-05-06 22:45:03 +01:00
Justin Clark-Casey (justincc) f5ec332474 remove obsolete [StandAlone] config section parsing, none of which was actually used since being superseded by the connector architecture in 0.7 2011-05-06 22:41:07 +01:00
Justin Clark-Casey (justincc) 913e6b70c6 minor: slightly shorten "show digest" printing code 2011-05-06 22:13:56 +01:00
Justin Clark-Casey (justincc) 621279e498 on asset "show digest" command, print out the asset type name (e.g. texture) as well as its number 2011-05-06 22:04:26 +01:00
Justin Clark-Casey (justincc) 9ff94a3a44 Say which filename an asset has been dumped to on a successful dump 2011-05-06 21:58:41 +01:00
Justin Clark-Casey (justincc) 2ef8e03773 Change command help text for "show capabilities" to "show caps", as this is the actual command that has to be typed on the console.
Thanks to makopoppo for the patch - http://opensimulator.org/mantis/view.php?id=5467
2011-05-06 21:21:02 +01:00
Justin Clark-Casey (justincc) 7c3e8a106b Merge branch 'master' of https://github.com/allquixotic/opensim-autobackup 2011-05-06 20:51:55 +01:00
Diva Canto 74e981e796 One more bug fix concerning library items that weren't being copied to user's inventory. Also commented verbose debug message. 2011-05-06 09:56:27 -07:00
Diva Canto 50c0069f7d Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-05-06 09:09:13 -07:00
Diva Canto eafc01cf8f Bug fix: iars under Library weren't being loaded. 2011-05-06 09:08:24 -07:00
BlueWall 68bb0f81e2 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-05-05 20:07:19 -04:00
Justin Clark-Casey (justincc) fd44540c02 add descriptive explanations for region restart functionality 2011-05-06 01:06:28 +01:00
BlueWall e4e95706d5 Add support for llRequestSecureURL() if ssl is enabled 2011-05-05 19:57:10 -04:00
BlueWall 8ca7938753 Adding ssl support
Adding ssl support for "Out of Band" applications such as the remote
	admin module or Robust services
2011-05-05 19:56:54 -04:00
Justin Clark-Casey (justincc) 8755a48cde fix command display for debugging 'emergency-monitoring' 2011-05-06 00:34:04 +01:00
Justin Clark-Casey (justincc) 46baadbb65 remove the NDesk.Options using since didn't end up needing it 2011-05-06 00:22:19 +01:00
Justin Clark-Casey (justincc) bc49a0bc5d Add "dump asset" command to the asset service for debugging purposes.
This command dumps the asset with the given id to a file with the same name.
2011-05-06 00:09:08 +01:00
Melanie 1bdac6ed19 Fix up nant linux build break 2011-05-05 13:27:44 +01:00
Melanie f5bb6edd85 Squish a warning 2011-05-05 13:01:46 +01:00
Melanie 4f588ad7ba Fix up some paths in prebuild 2011-05-05 12:52:31 +01:00
Diva Canto e8944d6c31 Test m_Enabled on RemoveRegion. 2011-05-04 20:40:25 -07:00
Diva Canto 6d34932775 Merge branch 'master' into caps 2011-05-04 20:30:33 -07:00
Diva Canto 6c503e75ac Put the previous state back in the attachments in case the agent transfer fails. 2011-05-04 12:04:35 -07:00
Diva Canto df7dacd004 Fixes mantis #5461. 2011-05-04 11:34:18 -07:00
Diva Canto a0f3b23065 Merge branch 'master' into caps 2011-05-04 07:31:32 -07:00
dahlia 4c59d57596 use getters instead of member variables in velocity network filter code and add some more descriptive comments. 2011-05-04 03:29:06 -07:00
dahlia 13ab00e45a adjust terse avatar update filtering to send updates when distance traveled does not match expected distance, rather than at a fixed time period. this should smooth avatar motion somewhat when moving in a straight line and velocity is constant. 2011-05-03 19:47:50 -07:00
Diva Canto 98b84802e4 Changed the defaults, so that it behaves exactly is it has been behaving (no WebFetch cap by default). 2011-05-02 20:19:36 -07:00
Diva Canto ac9697edbe Fixed: EventQueueGet and other caps were being wrongly deregistered. Also CapabilitiesModule was being instantiated twice (damn Mono.Addins). 2011-05-02 19:45:47 -07:00
Diva Canto 6b52c1d6cd Fix the GetTexture path to /CAPS/GetTexture for now until we have real capabilities. 2011-05-02 16:16:10 -07:00
Diva Canto 883f21dd02 WebFetchInventoryDescendents working. Tested with robust. 2011-05-02 14:33:34 -07:00
Diva Canto 2d403d5b18 Merge branch 'master' into caps 2011-05-02 11:56:51 -07:00
Diva Canto aba9ffdbd0 Refactored the GetMesh module into a handler and a module, to be the same as GetTexture. 2011-05-02 11:56:40 -07:00
Diva Canto f7d3720126 Increased timeout for fat UpdateAgent to 200secs. Nebadon's 3800-prim alien avatar takes 6secs to transfer between sims on the same machine... 2011-05-02 09:20:08 -07:00
Diva Canto 51d0b8b4e9 Oops, forgot this one. 2011-05-02 09:06:21 -07:00
Diva Canto 8cc547c277 Turns out that it's a bad idea to let Agent position updates linger for a long time on certain versions of mono. It's better to abort them if they take too long. So timeout is now an argument. Currently: 20secs for CreateAgent, 100secs for UpdateAgent (fat), 10 secs for UpdateAgent (Position); all of these divided by 4, for ReadWrite, as Mic had before. 2011-05-02 09:04:34 -07:00
Diva Canto 10180760b7 Works! 2011-05-02 08:48:55 -07:00
Sean McNamara 0995fedcac AutoBackupModule: Implement per-region settings in Regions.ini. 2011-05-02 04:32:31 -04:00
Sean McNamara fffd42f5cb Merge git://opensimulator.org/git/opensim 2011-05-02 02:23:18 -04:00
Sean McNamara 2aab033aaa First pass at fixing justincc's feedback v2 ( http://opensimulator.org/mantis/view.php?id=5440 )
Fixing everything here (I think) except the per-region config. That's next.
2011-05-02 02:20:50 -04:00
Diva Canto 2d21052fa3 Start to drill down on GetTexture. Read the config and do different things. 2011-05-01 19:09:08 -07:00
Diva Canto f79400e94c Broke down Caps.cs into a generic Caps object that simply registers/unregisters capabilities and a specific bunch of capability implementations in Linden space called BunchOfCaps.
Renamed a few methods that were misnomers.
Compiles but doesn't work.
2011-05-01 18:22:53 -07:00
Diva Canto 275046cf02 Change GetTextureModule.cs to conform to the new IRegion module interface. NOTHING OF THIS WORKS. Compiles. 2011-05-01 12:03:00 -07:00
Diva Canto 126d2adeba Move CapabilitiesModule back to CoreModules. This one belongs there. 2011-05-01 12:02:07 -07:00
Diva Canto f10666c7ba How this might look like from a configuration perspective. Changes OpenSimDefaults.ini. 2011-05-01 10:07:54 -07:00
Diva Canto 8cc9d22b89 Merge branch 'master' into caps 2011-05-01 09:31:26 -07:00
Diva Canto bbe41c75e1 Fixed confusing OSDMap that comes as the response of QueryAccess in the case it fails. 2011-05-01 09:30:23 -07:00
Diva Canto f0bf64b6de Merge branch 'master' into caps 2011-05-01 09:11:16 -07:00
Diva Canto 6b2b036387 Added OpenSim.Capabilities.Handlers. For the moment it has only the GetTexture handler. The region module in Linden space uses it. WARNING: nothing of this works yet, it just compiles. 2011-05-01 09:08:18 -07:00
Diva Canto d4323dd753 Increased Timeout to 30 secs. 2011-04-30 18:08:48 -07:00
Diva Canto 91a604d4b6 Removed XXX Debug. Increased ReadWriteTimeout on ServiceOSDRequest, because it was _way_ too low and is probably making writes abort in the middle. 2011-04-30 17:40:21 -07:00
Diva Canto 56df746133 XXX DEBUGGING! 2011-04-30 16:53:43 -07:00
Diva Canto 00e94b0ba8 Check for RegionID instead of RegionHandle. Other minor tweaks 2011-04-30 16:53:11 -07:00
Diva Canto e3c27d8527 Nope, that didn't feel right. Moving all those modules to Linden space. 2011-04-30 13:24:25 -07:00
Diva Canto c062138dad Moved several cap-based-service-providing modules from where they were into a newly created CoreModules/Caps. Not all. 2011-04-30 12:23:40 -07:00
Diva Canto 3e79842312 Renamed OpenSim.Framework.Capabilities.dll to OpenSim.Capabilities.dll 2011-04-30 11:03:22 -07:00
Diva Canto d8ee0cbe1c First stab at cleaning up Caps. Compiles. Untested. 2011-04-30 09:24:15 -07:00
Melanie 99b35d3ca6 When coming in from a legacy region without fatpacks, start scripts the
usual way
2011-04-30 16:20:20 +01:00
Diva Canto 4d5d6222f7 Delaying starting the scripts on TPs and crossings until the agent is root. 2011-04-29 17:09:48 -07:00
Diva Canto 412503b216 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-04-29 15:52:40 -07:00
Diva Canto 0d49611f6d Remove the scripts of the attachments in the departing region and recreate them if fail. 2011-04-29 15:52:06 -07:00
Dan Lake 8f14c3f04f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-04-29 15:49:49 -07:00
Dan Lake d565041e16 Fix crash when [Mesh] section is missing from configuration files 2011-04-29 15:49:10 -07:00
Diva Canto 73caa4e94a Minor correction to yesterday's changes. Make normal prim crossing (no attach) work well again. 2011-04-29 08:42:51 -07:00
Diva Canto e462b926ac Minor improvement in version checking (Simulation service) 2011-04-29 08:01:44 -07:00
Diva Canto 97790075fe Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-04-28 20:47:34 -07:00
Diva Canto 9892e115cc Fatpack message on agent transfers: 1 message only (UpdateAgent) containing the agent and all attachments. Preserves backwards compatibility -- older sims get passed attachments one by one. Meaning that I finally introduced versioning in the simulation service. 2011-04-28 20:19:54 -07:00
Justin Clark-Casey (justincc) 5e578c9755 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-04-28 23:43:42 +01:00
Justin Clark-Casey (justincc) cd7517ccb9 Stop CHANGED_INVENTORY firing twice if a notecard is edited in prim.
Addresses http://opensimulator.org/mantis/view.php?id=5444
Fix is to stop the asset transaction calling UpdateInventoryItem() since the caller is doing it anyway, which is more correct.
This did not effect scripts.
2011-04-28 22:59:12 +01:00
Diva Canto 35f190cc92 One less [Serializable] -- ClientInfo. 2011-04-28 09:06:57 -07:00
Diva Canto 549dc5aeb9 Eliminated sAgentCircuitData, a data structure that has been obsolete for quite some time. 2011-04-28 08:58:04 -07:00
Diva Canto 5c227da497 Added MrMonkE to the contributors. Fixed contributors. 2011-04-28 07:36:34 -07:00
Diva Canto 7ecf689584 Thank you MrMonkE for a patch that seems to bring the MSSQL data layer up to speed with 0.7.x. 2011-04-28 07:28:29 -07:00
Justin Clark-Casey (justincc) 50aa93137d Fix a bug where physical objects rezzed with an initial velocity by script do not receive this velocity.
This is a minimal fix for the 0.7.1 release, pending a non copy/paste solution.
This hopefully addresses http://opensimulator.org/mantis/view.php?id=5457
The bug was introduced in commit 3ba5eeb
2011-04-28 00:59:21 +01:00
Justin Clark-Casey (justincc) 5e3893ca5c add the executable bit to all bundled DLLs so that these are preserved when using git or untarring releases under cygwin on windows
Mono doesn't care if the
2011-04-27 23:57:26 +01:00
Diva Canto e0576b56d3 Thank you Snoopy for a patch that adds some filtering to client versions allowed at login and HG-login times. NOTE: additional (optional) configuration variables in [LoginService] and [GatekeeperService]. See .examples. 2011-04-27 07:02:37 -07:00
Justin Clark-Casey (justincc) 12010849b8 Bump minimum required mono to 2.4.3 from 2.4.2. OpenSim fails at runtime below 2.4.3 due to unimplemented ServicePointManager.get_ServerCertificateValidationCallback() 2011-04-27 02:25:49 +01:00
Justin Clark-Casey (justincc) 1b43c05c3d Change default ini.example port used by Freeswitch in grid settings to 8004.
This is to facilitate running Freeswitch in a separate ROBUST shell, as on grid setups there can be quite a lot of traffic flowing between FreeSWITCH and ROBUST.  However, running in a spearate shell is not mandatory.
2011-04-27 02:05:16 +01:00
Justin Clark-Casey (justincc) d722f22102 adjust freeswitch grid connector to port 8003 to agree with the default 8003 used in OpenSim.ini.example
Adjusting to 8003 seems sensible since this service doesn't need to be exposed to viewers.
2011-04-27 01:53:57 +01:00
dahlia 16f6f55f2d network traffic reduction - decrease update frequency for moving avatars when velocity is unchanged 2011-04-26 16:22:44 -07:00
Mic Bowman 1505fbb647 Add back the high prioritization for other avatars in the
BestAvatarResponsiveness prioritizer.
2011-04-26 08:54:05 -07:00
Sean McNamara 587aa91e36 Merge git://opensimulator.org/git/opensim 2011-04-26 11:45:38 -04:00
Mic Bowman 36fef21e52 Merge branch 'master' into queuetest 2011-04-26 08:42:21 -07:00
Sean McNamara c82c7e6ed9 Wait for OnOarFileSaved event callback before executing script
We want to execute the (optional) user script after I/O is done on the oar.
I wasn't aware that ArchiveRegion is asynchronous -- now I am.
Should fully resolve comment 0018290 at
http://opensimulator.org/mantis/view.php?id=5440
2011-04-26 11:42:06 -04:00
Diva Canto e579a990b4 Removed stale client components: MXP and VWoHTTP. 2011-04-25 18:59:01 -07:00
dahlia 037373b825 recover from unhandled exception from bad rotation data while processing entity updates in LLClientView.cs 2011-04-25 17:11:54 -07:00
Mic Bowman b9bca893ef Removed debug message in the token bucket code 2011-04-25 16:13:16 -07:00
Mic Bowman 13f141a4d5 Fix the totals shown by show throttle 2011-04-25 15:36:59 -07:00
Mic Bowman b7eda288bf Merge branch 'master' into queuetest 2011-04-25 15:12:53 -07:00
Mic Bowman 77ab7ce084 Fixed the transmission of throttles from root agent to child
agents. Child throttles are based on the number of child agents
known to the root and at least 1/4 of the throttle given to
the root.
2011-04-25 15:11:29 -07:00
Diva Canto ef4f1fc4ba Made things consistent between LocalInventoryServiceConnector and RemoteXInventoryServiceConnector on GetFolderContent. 2011-04-25 11:00:48 -07:00
Mic Bowman 2fefb7adee Merge branch 'master' into queuetest 2011-04-25 10:55:19 -07:00
Mic Bowman 024c12abc3 Cleaned up various configuration options. Removed the category throttle
limits because the only ones used now are the defaults (which are overwritten
by the client throttles anyway). Updated the default rates to correspond to
about 350kbps.

Also added a configuration to disable adaptive throttle. The default
is the previous behavior (no adaptation).
2011-04-25 10:44:41 -07:00
Diva Canto 3a38bd8854 Addresses mantis #5449 -- crashing exception in SendInventoryFolderDetails. 2011-04-25 08:53:48 -07:00
Mic Bowman 1d7c83c39f Merge branch 'master' into queuetest 2011-04-25 08:41:21 -07:00
Diva Canto 0d5a80ad78 Removed unused libraries: RAILS.dll and dependencies. 2011-04-24 19:14:39 -07:00
Diva Canto 35c09cae8c Removed unused libraries Castle.* 2011-04-24 19:06:48 -07:00
Diva Canto 507f0e9ffd Upped VERSION_NUMBER in master to 0.7.2. 2011-04-24 16:21:01 -07:00
Diva Canto e3c3d626fb Commented verbose debug message. 2011-04-24 16:14:24 -07:00
Sean McNamara d287e0ac68 Merge git://opensimulator.org/git/opensim 2011-04-23 18:33:08 -04:00
Sean McNamara 440d54a521 AutoBackup: Removed unneeded imports. 2011-04-23 18:32:08 -04:00
Sean McNamara 082fad6dd2 Fix most issues raised by justincc: http://opensimulator.org/mantis/view.php?id=5440 2011-04-23 18:29:13 -04:00
Mic Bowman e2c6ed236d Fix a bug looping through the priority queues. This should fix the problem
of not all prims being sent without reprioritization.
2011-04-23 12:17:10 -07:00
E. Allen Soard 44e43d9d24 Added MaxAgents configuration option to RegionConfig.ini allowing region hosters to setup regions maintaining more control over system resources. 2011-04-23 00:40:08 +01:00
Justin Clark-Casey (justincc) d5256094d9 print invalid command message to the console, not the log 2011-04-23 00:16:55 +01:00
Mic Bowman a3bd769cb3 Added a second immediate queue to be used for the BestAvatar policy
and currently used for all of an avatars attachments by the other
policies. Also changed the way items are pulled from the update queues
to bias close objects even more.
2011-04-22 14:55:23 -07:00
Mic Bowman 08e58e7ca6 Set the initial rate for the adaptive throttle to 160Kpbs
or about 15 packets per second.
2011-04-22 14:02:34 -07:00
Mic Bowman 3534f4492a Various clean ups. Removed some debugging code. Added a new "show pqueues"
command to look at the entity update priority queue. Added a "name" parameter
to show queues, show pqueues and show throttles to look at data for a specific
user.
2011-04-22 14:01:12 -07:00
BlueWall cbe49ed917 Merge branch 'master' of /home/opensim/var/repo/opensim 2011-04-21 19:08:31 -04:00
BlueWall b8e282324e fix merge conflicts with OpenSimDefaults.ini 2011-04-21 19:06:54 -04:00
BlueWall e0002f6b64 some mesh config asthetics 2011-04-21 19:04:41 -04:00
Mic Bowman 0897647709 Merge branch 'queuetest' of ssh://opensimulator.org/var/git/opensim into queuetest 2011-04-21 15:41:15 -07:00
Mic Bowman c5159ad8d0 Add some locking on the child list for the token bucket
hiearchy. A few other cosmetic changes.
2011-04-21 15:40:38 -07:00
Dan Lake 7f28dd4b31 Refactor UnackedPacketCollection so ProcessQueues will handle Adds, Acks, and Removes in that order. 2011-04-21 15:40:32 -07:00
Melanie 398bb2149a Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-04-21 23:04:01 +01:00
Melanie 13d6e05d5a Implement agent limits 2011-04-21 23:03:38 +01:00
BlueWall 5e99d93651 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-04-21 15:16:12 -04:00
BlueWall d9055c8dc3 Group collada meshies settings under [Mesh] in OpensimDefaults.ini 2011-04-21 15:15:24 -04:00
Justin Clark-Casey (justincc) 223c90c751 Remove duplicated freeswitch settings. 2011-04-21 19:31:37 +01:00
Justin Clark-Casey (justincc) 60685c3517 Adjust freeswitch logging to be somewhat less noisy. However, there is still quite a large amount of logging present for debug purposes. 2011-04-21 19:17:38 +01:00
Justin Clark-Casey (justincc) e36cab99fd minor: small amount of method doc and some commented out odds and ends 2011-04-21 18:45:05 +01:00
Justin Clark-Casey (justincc) 44999dce76 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-04-21 18:44:04 +01:00
Justin Clark-Casey (justincc) 63c1b7e475 Alter uuid gather so that it properly analyzes coalesced objects.
This should correct save all the assets required for the items within the coalesced objects in an IAR.  This should also correctly gather the items on hypergrid takes.
2011-04-21 18:12:29 +01:00
Mic Bowman 371576d1dd Merge branch 'master' into queuetest 2011-04-21 08:23:01 -07:00
Dan Lake 3640d0204f Added ability to remove unacked packet from UnackedPacketCollection without an acknowledgement from the network. This prevents RTT and throttles from being updated as they would when an ACK is actually received. Also fixed stats logging for unacked bytes and resent packets in this case. 2011-04-21 01:51:08 -07:00
Dan Lake b5ab33b5e1 bug fix. Now when an unacked update packet is handled through ResendPrimUpdates, it is removed from the UnackedPacketCollection. 2011-04-20 23:08:51 -07:00
Mic Bowman 7759bda833 Added an "immediate" queue to the priority queue. This is
per Melanie's very good suggestion. The immediate queue is
serviced completely before all others, making it a very good
place to put avatar updates & attachments.

Moved the priority queue out of the LLUDP directory and
into the framework. It is now a fairly general utility.
2011-04-20 21:58:49 -07:00
Mic Bowman 294b49ca3d Merge branch 'queuetest' of ssh://opensimulator.org/var/git/opensim into queuetest
Conflicts:
	OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
2011-04-20 16:28:33 -07:00
Mic Bowman 2b737c9cc2 Adds the first pass at an adaptive throttle to slow start new
clients. If the sent packets are ack'ed successfully the throttle
will open quickly up to the maximum specified by the client and/or
the sims client throttle.

This still needs a lot of adjustment to get the rates correct.
2011-04-20 16:23:33 -07:00
dahlia 212326eeb0 fix meshing failure on sculpt maps smaller than 64x64 2011-04-19 22:16:10 -07:00
Justin Clark-Casey (justincc) ccc26f7443 Get Viewer 2 voice working with OpenSim.
See http://opensimulator.org/mantis/view.php?id=5336
It turns out that viewer 2 was upset by the lack of a response to viv_watcher.php.  This would send it into a continuous login loop.
Viewer 1 was quite happy to ignore the lack of response.
This commit puts in the bare minimum 'OK' message in response to viv_watcher.php.  This allows viewer 2 voice to connect and appears to work.
However, at some point we need to fill out the watcher response, whatever that is.
2011-04-20 01:02:40 +01:00
Justin Clark-Casey (justincc) b786860bac synchronize Robust.HG.ini.example FreeSWITCH config with other config files 2011-04-19 22:38:43 +01:00
Justin Clark-Casey (justincc) 575257f3fe For consistency, uncomment ColladaMesh option in OpenSimDefaults.ini. Thanks for the spot, Ai Austin. 2011-04-19 21:58:55 +01:00
Justin Clark-Casey (justincc) 2fa210243b Clean up freeswitch config to what is currently required. Add explanation to config parameters. Clean up some log messages. 2011-04-19 21:54:26 +01:00
Mic Bowman 82de87ce99 Converted the property request queue to use the same retransmission
mechanism as the entity update queues.
2011-04-19 11:22:04 -07:00
Dan Lake 08d8a3e580 Requeue unacknowledged entity updates rather than resend then "as is".
Often, by the time the UDPServer realizes that an entity update packet
has not been acknowledged, there is a newer update for the same entity
already queued up or there is a higher priority update that should be
sent first. This patch eliminates 1:1 packet resends for unacked entity
update packets. Insteawd, unacked update packets are decomposed into the
original entity updates and those updates are placed back into the
priority queues based on their new priority but the original update
timestamp. This will generally place them at the head of the line to be
put back on the wire as a new outgoing packet but prevents the resend
queue from filling up with multiple stale updates for the same entity.
This new approach takes advantage of the UDP nature of the Linden protocol
in that the intent of a reliable update packet is that if it goes
unacknowledge, SOMETHING has to happen to get the update to the client.
We are simply making sure that we are resending current object state
rather than stale object state.

Additionally, this patch includes a generalized callback mechanism so
that any caller can specify their own method to call when a packet
expires without being acknowledged. We use this mechanism to requeue
update packets and otherwise use the UDPServer default method of just
putting expired packets in the resend queue.
2011-04-19 08:10:01 -07:00
Dan Lake 6e4d970dae Requeue unacknowledged entity updates rather than resend then "as is".
Often, by the time the UDPServer realizes that an entity update packet
has not been acknowledged, there is a newer update for the same entity
already queued up or there is a higher priority update that should be
sent first. This patch eliminates 1:1 packet resends for unacked entity
update packets. Insteawd, unacked update packets are decomposed into the
original entity updates and those updates are placed back into the
priority queues based on their new priority but the original update
timestamp. This will generally place them at the head of the line to be
put back on the wire as a new outgoing packet but prevents the resend
queue from filling up with multiple stale updates for the same entity.
This new approach takes advantage of the UDP nature of the Linden protocol
in that the intent of a reliable update packet is that if it goes
unacknowledge, SOMETHING has to happen to get the update to the client.
We are simply making sure that we are resending current object state
rather than stale object state.

Additionally, this patch includes a generalized callback mechanism so
that any caller can specify their own method to call when a packet
expires without being acknowledged. We use this mechanism to requeue
update packets and otherwise use the UDPServer default method of just
putting expired packets in the resend queue.
2011-04-18 16:48:49 -07:00
Justin Clark-Casey (justincc) 36c4e94ef7 Move mesh on/off swtich from [Startup] to [Mesh] in anticipation of future config parameters.
Default remains true.
OpenSimDefault.ini changed so if you haven't overriden this switch then you don't need to do anything.
2011-04-18 23:22:04 +01:00
Justin Clark-Casey (justincc) f5a041d012 bump default IAR version to 0.2 and 1.1 for the --profile version.
There are no changes in this bump, they just signal a point at which the control file comes first in the archive.
2011-04-18 23:00:41 +01:00
Justin Clark-Casey (justincc) 6109605038 bump oar version number to 0.6.
This commit contains no data changes - the version bump is to establish a version at which the control file must come first in the archive.
2011-04-18 22:42:36 +01:00
Justin Clark-Casey (justincc) 6600aa2baf Add regression test to check that OARs start with the control file. 2011-04-18 22:35:33 +01:00
Justin Clark-Casey (justincc) e00e518692 add test to ensure that an IAR starts with the control file 2011-04-18 22:24:42 +01:00
Justin Clark-Casey (justincc) 61619ddefc refactor: split out the code which actually copies a particular bundle to inventory 2011-04-18 21:59:01 +01:00
Justin Clark-Casey (justincc) 71114d4ad1 refactor: rename DeleteToInventory() to CopyToInventory()
DeleteToInventory() is misleading - it is the caller that decides whether to delete or not
2011-04-18 21:34:26 +01:00
Justin Clark-Casey (justincc) 5a404a9ab1 Fix bug where objects were being coalesced in the wrong positions.
This addresses http://opensimulator.org/mantis/view.php?id=5441
The bug was due to a pre-existing mistake in creating the inventory stored position
2011-04-18 21:07:11 +01:00
Justin Clark-Casey (justincc) 8533c63d89 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-04-18 20:36:26 +01:00
Justin Clark-Casey (justincc) 419fc9427e Provide a configuration setting to control whether multiple taken objects are coalesced to inventory
This is the CoalesceMultipleObjectsToInventory setting in [Inventory] in OpenSimDefaults.ini
Default is true.
2011-04-18 20:03:53 +01:00
Mic Bowman 452ae375f0 Merge branch 'master' into test-merge0418 2011-04-18 11:29:43 -07:00
Melanie 03e725ad87 Mantis #5442: Add admin_save_heightmap 2011-04-17 21:43:16 +01:00
Dan Lake 70084c5e3a More descriptive debug msg for ServiceOSDRequest failures. 2011-04-16 15:29:28 -07:00
Mic Bowman 3e0e1057ac Remove the call to remove tokens from the parent. Under heavy load
this appears to cause problems with the system timer resolution.
This caused a problem with tokens going into the root throttle as
bursts leading to some starvation.

Also changed EnqueueOutgoing to always queue a packet if there
are already packets in the queue. Ensures consistent ordering
of packet sends.
2011-04-15 16:44:53 -07:00
Diva Canto cd6dce1108 Fixes mantis #5431 -- coalesced objects in HG-enabled regions. Needs more testing to make sure HG inventory isn't broken by this (it shouldn't). 2011-04-15 16:42:40 -07:00
Justin Clark-Casey (justincc) ed74be6599 Make remote admin error messages more helpful on windows.
Also, make log messages conform more with convention.
2011-04-15 23:54:30 +01:00
Justin Clark-Casey (justincc) 1dba671f45 refactor: separate out code that adds permissions 2011-04-15 23:32:46 +01:00
BlueWall 065d3f42c7 Merge branch 'master' of /home/opensim/lib/develop/BlueWall 2011-04-15 18:28:46 -04:00
BlueWall fc365f2a31 Thanks Snoopy for a patch that allows setting of perms on items given to new avatars 2011-04-15 18:23:37 -04:00
Justin Clark-Casey (justincc) 9c7f14bf36 minor: remove a small amount of code duplication 2011-04-15 23:07:23 +01:00
Justin Clark-Casey (justincc) 98c5ed2c79 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-04-15 22:49:59 +01:00
Justin Clark-Casey (justincc) 52d9230392 refactor: split out some rez code into a separate CreateItemForObject() method 2011-04-15 22:47:47 +01:00
BlueWall 37d2b6243b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-04-14 21:16:30 -04:00
BlueWall 40bf417da7 Add ColladaMesh switch 2011-04-14 21:15:42 -04:00
Justin Clark-Casey (justincc) 66a62678e5 get rid of all traces of the now used mock service infrastructure 2011-04-15 01:37:27 +01:00
Justin Clark-Casey (justincc) 631654a38d remove old code for a mock grid service, which got removed some time back 2011-04-15 01:30:49 +01:00
Justin Clark-Casey (justincc) ba73df39a3 remove any reference to a mock authentication service since it doesn't exist and we don't use it 2011-04-15 01:26:07 +01:00
Justin Clark-Casey (justincc) 54e8855819 remove mock asset service for tests in favour of always using the real one 2011-04-15 01:23:26 +01:00
Justin Clark-Casey (justincc) 79bd430e08 Remove the mock inventory service for tests and just use the real one all the time with an in-memory data plugin 2011-04-15 01:10:26 +01:00
Justin Clark-Casey (justincc) ad70cddcfc extend TestLoadCoalesecedItem() to check loaded object ids and positions 2011-04-15 00:56:40 +01:00
Justin Clark-Casey (justincc) a0d80140f2 Make all the objects in a coalescence reappears after being loaded from an IAR. This still doesn't work proprerly since some required textures/contained item assets might be missing.
From pure code inspection, it looks like the uuid gatherer may get most asset uuids because the scene object serializer naively pulls non-root parts from all contained scene objects into one mega-object.  However, root part uuids may well still be missing, and there may be other odd artifacts from this bug.
It appears that storing the size of the coalescence and the offsets is redundant, since one can work out this information from the position data already in the scene object groups.
2011-04-15 00:42:06 +01:00
Justin Clark-Casey (justincc) 821e67fb95 implement stub TestLoadCoalesecedItem(). Doesn't do what it's meant to do yet. 2011-04-14 20:59:52 +01:00
Justin Clark-Casey (justincc) 55387542ea simplify InventoryArchiveTestCase setup 2011-04-14 20:35:00 +01:00
Justin Clark-Casey (justincc) 1569148b49 simplify TestSaveItemToIarV0_1() 2011-04-14 20:32:27 +01:00
Justin Clark-Casey (justincc) e439264824 simplify TestRezObject() 2011-04-14 20:23:48 +01:00
Justin Clark-Casey (justincc) c644ab6a2c Make scene object parts created by the test utils unit sized. 2011-04-14 20:21:44 +01:00
Justin Clark-Casey (justincc) 4b05e667cb Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-04-14 20:15:34 +01:00
Mic Bowman 22b307ea1c Merge branch 'master' into queuetest 2011-04-14 11:59:25 -07:00
Justin Clark-Casey (justincc) aaf9125869 simplify coalesced object tests by using existing scene object set up utils
this change makes it possible to set an absolute position on a group before it is put into a scene.
2011-04-14 17:33:55 +01:00
Mic Bowman 6ed6b46aad Comment out the warning if the prioritizer runs without a fully
initialized scene presence. Not sure why we are dumping updates
to a client that isn't there yet...
2011-04-13 21:01:51 -07:00
Mic Bowman 590d20903c Merge branch 'testmerge' into queuetest
Conflicts:
	OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
2011-04-13 15:41:17 -07:00
Mic Bowman bf91d1b077 remove packet monitoring debugging code 2011-04-13 15:37:25 -07:00
Mic Bowman b33aac737a Fixed the update of items in the priority queue to enable both
types of property updates to be specified. Not sure if one form
of property update should supercede another. But for now the old
OpenSim behavior is preserved by sending both.
2011-04-13 15:37:25 -07:00
Mic Bowman 5e7aba4f88 fixed a couple bugs with the property queues 2011-04-13 15:37:25 -07:00
Mic Bowman 3fe22126ca First pass at moving object property requests into a queue similar
to the entity update queue. The number of property packets can
become significant when selecting/deselecting large numbers of
objects.

This is experimental code.
2011-04-13 15:37:25 -07:00
Mic Bowman 5b89c66c97 New tokenbucket algorithm. This one provides fair sharing of the queues
when client and simulator throttles are set. This algorithm also uses
 pre-defined burst rate of 150% of the sustained rate for each of the
 throttles.

Removed the "state" queue. The state queue is not a Linden queue and
appeared to be used just to get kill packets sent.
2011-04-13 15:37:25 -07:00
Mic Bowman 4c62203b3b Merge branch 'queuetest' of ssh://opensimulator.org/var/git/opensim into queuetest 2011-04-13 15:31:12 -07:00
Justin Clark-Casey (justincc) c5465414b6 Use common coalesced serialization code for both tests and the InventoryAccessModule.
Continue to restore original absolute positions of stored scene objects, though it's possible that these aren't used again
2011-04-13 22:55:26 +01:00
Justin Clark-Casey (justincc) c81f5bfc5c Adjust the quanterions used in the rez coalsced object tests to get sensible bounding box and offset numbers.
Extend test to check position of objects in the rezzed coalescence.
2011-04-13 22:29:12 +01:00
BlueWall c0fcc430fe Merge branch 'master' of /home/git/repo/OpenSim into queuetest 2011-04-13 17:03:30 -04:00
Justin Clark-Casey (justincc) 68cc5b46fe refactor: move code to obtain the coalescence size and object offsets into CoalescedSceneObjects from the serializer. 2011-04-13 21:48:16 +01:00
Justin Clark-Casey (justincc) d8d28c3737 Fix bug where rezzing coalesced objects would give all objects the same name as the item.
This now only happens for the first object (which was the item selected last when the coalesce was originally taken)
This matches the expected behaviour of the environment as seen on the Linden Labs grid.
2011-04-13 21:31:45 +01:00
Justin Clark-Casey (justincc) 58efd761d1 Add coalesced scene objects class and serializer. This is currently only used by the TestRezCoalescedObject() regression test.
This structure matches the existing one for SceneObjects and will allow code to be reused by the uuid gatherer, other tests, etc.
Test is not yet fully implemented due to a bug in rezzing coalesced objects where they all get the same name as the item.
Only one object should get the same name as the item, which appears to be the one selected last when the the objects were coalesced in the first place.
This bug will be addressed shortly.
2011-04-13 21:17:43 +01:00
BlueWall dec9c2283b Add ColladaMesh switch 2011-04-13 16:10:18 -04:00
Justin Clark-Casey (justincc) 08fd1d9bbd factor out some test code into the SetUp() 2011-04-13 18:11:04 +01:00
Justin Clark-Casey (justincc) 6613daa82a Add a regression test for rezzing a single object into a scene from user inventory 2011-04-13 17:46:36 +01:00
BlueWall d3457eae7a Merge branch 'master' of /home/git/repo/OpenSim 2011-04-13 09:53:44 -04:00
dahlia 90b810c27e force mesh proxy for simple box prims with path cut 2011-04-12 22:47:30 -07:00
Diva Canto 7592a033df Moved 3 request handlers from OpenSim.Framework.Servers.HttpServer up to OpenSim.Framework -- just pasted them in WebUtil. This is so that code that uses the Service connectors don't need to include the HttpServer dll -- that was odd. 2011-04-12 20:24:28 -07:00
Diva Canto 16c911dcbb Implemented terrain save-tile command. Does the opposite of load-tile. For now, only saves to .png. 2011-04-12 19:46:27 -07:00
Diva Canto 5c870fce54 Bug fix in object serialization -- sculpt data was wrong. 2011-04-12 19:45:33 -07:00
Mic Bowman b84ad81740 remove packet monitoring debugging code 2011-04-12 15:58:57 -07:00
Mic Bowman 78c04d61ca Fixed the update of items in the priority queue to enable both
types of property updates to be specified. Not sure if one form
of property update should supercede another. But for now the old
OpenSim behavior is preserved by sending both.
2011-04-12 15:58:57 -07:00
Mic Bowman 1a0f107012 fixed a couple bugs with the property queues 2011-04-12 15:58:57 -07:00
Mic Bowman 69d014e1dc First pass at moving object property requests into a queue similar
to the entity update queue. The number of property packets can
become significant when selecting/deselecting large numbers of
objects.

This is experimental code.
2011-04-12 15:58:57 -07:00
Mic Bowman 2f43687589 New tokenbucket algorithm. This one provides fair sharing of the queues
when client and simulator throttles are set. This algorithm also uses
 pre-defined burst rate of 150% of the sustained rate for each of the
 throttles.

Removed the "state" queue. The state queue is not a Linden queue and
appeared to be used just to get kill packets sent.
2011-04-12 15:58:57 -07:00
Mic Bowman 317617cfda remove packet monitoring debugging code 2011-04-12 15:55:21 -07:00
Mic Bowman 80ba3de902 Fixed the update of items in the priority queue to enable both
types of property updates to be specified. Not sure if one form
of property update should supercede another. But for now the old
OpenSim behavior is preserved by sending both.
2011-04-12 15:40:57 -07:00
Justin Clark-Casey (justincc) 424995e138 Move example HttpProxy setting to OpenSim.ini.example and tidy 2011-04-12 23:22:21 +01:00
Justin Clark-Casey (justincc) bed463666c minor typo correction. thanks Ai Austin. 2011-04-12 23:16:43 +01:00
Mic Bowman 7fa085b3fa fixed a couple bugs with the property queues 2011-04-12 14:40:57 -07:00
Justin Clark-Casey (justincc) da4a9653a2 minor: remove some mono compiler warnings 2011-04-12 22:33:06 +01:00
Justin Clark-Casey (justincc) b0889ed92a refactor: simplify bRayEndIsIntersection boolean set from RayEndIsIntersection byte 2011-04-12 22:30:43 +01:00
Justin Clark-Casey (justincc) 8e0d2cc43b If an object is rezzed directly from a prim inventory then give it the rotation it was stored with. 2011-04-12 22:21:46 +01:00
Justin Clark-Casey (justincc) 3ba5eeb6c3 Allow a null rotation to be passed in to RezObject so that we can control whether to use the serialized rotation or not. Not used yet. 2011-04-12 22:15:40 +01:00
Mic Bowman 3afddb9033 Merge branch 'test-select' into queuetest 2011-04-12 12:39:02 -07:00
Mic Bowman 0e97629ee7 Merge branch 'master' into queuetest 2011-04-12 12:38:47 -07:00
Mic Bowman 095e602c4a First pass at moving object property requests into a queue similar
to the entity update queue. The number of property packets can
become significant when selecting/deselecting large numbers of
objects.

This is experimental code.
2011-04-12 12:36:36 -07:00
Justin Clark-Casey (justincc) 98d7de22dc Fix (add) ability to rez objects by dragging them out of another prim's inventory.
This should happen if the client supplies a task ID with the RezObject call.
The rez goes through the same code as llRezObject(), so the same perms are applied.
Rotation isn't yet preserved, this should be fixed shortly.
2011-04-12 18:31:41 +01:00
Sean McNamara 049bce4d00 Fixup the global defaults config parsing code. 2011-04-12 01:14:21 -04:00
Justin Clark-Casey (justincc) 621d5b58e1 minor: add a bit more method doc to IInventoryService.GetItem() 2011-04-11 23:56:04 +01:00
Justin Clark-Casey (justincc) 49d80f5711 Include code to return more information about the NullReferenceException seen in
http://opensimulator.org/mantis/view.php?id=5403 prior to doing something about it.
2011-04-11 23:07:56 +01:00
Justin Clark-Casey (justincc) 64dc7e9f14 minor: remove now inaccurate comment 2011-04-11 22:35:07 +01:00
Justin Clark-Casey (justincc) e8ecb2898c minor: remove some mono compiler warnings 2011-04-11 22:33:24 +01:00
Justin Clark-Casey (justincc) 3a98fb080a minor: adjust some spacing and indentation 2011-04-11 22:29:08 +01:00
E. Allen Soard 464fa45ec9 Implimented HTTP_VERIFY_CERT for llHttpRequest 2011-04-11 22:22:11 +01:00
Justin Clark-Casey (justincc) 333a2913cf slightly tweak OpenSim.ini.example text 2011-04-11 22:02:12 +01:00
Justin Clark-Casey (justincc) 0bd6bc8fba create "config show" as a region console command synonym for "config get".
This is to create greater consistency with all the other show commands.
2011-04-11 21:59:26 +01:00
Justin Clark-Casey (justincc) d6948b15c4 Make it more obvious when it happens that DLL plugin loading fails. Improve exception output on Windows. 2011-04-11 21:51:17 +01:00
Justin Clark-Casey (justincc) fda393b088 Add information comment to top of OpenSimDefaults.ini and make file consistent 2011-04-11 21:42:28 +01:00
Justin Clark-Casey (justincc) e9c2beadec Add more instructions to OpenSim.ini.example to try and make it more understandable for new users. 2011-04-11 20:43:11 +01:00
Sean McNamara 95a6ee0a37 Fix NREs harder. 2011-04-11 13:20:46 -04:00
Sean McNamara 4ad05fb01d Fix some NREs on certain paths. 2011-04-11 13:12:26 -04:00
Sean McNamara 4974a1ce69 AutoBackup: Support region-independent settings too. 2011-04-11 12:34:26 -04:00
Mic Bowman 6e9cdb9ce3 New tokenbucket algorithm. This one provides fair sharing of the queues
when client and simulator throttles are set. This algorithm also uses
 pre-defined burst rate of 150% of the sustained rate for each of the
 throttles.

Removed the "state" queue. The state queue is not a Linden queue and
appeared to be used just to get kill packets sent.
2011-04-11 09:06:28 -07:00
Mic Bowman 72a24cf023 Merge branch 'queuetest' of ssh://opensimulator.org/var/git/opensim into queuetest
Conflicts:
	OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
	OpenSim/Region/Framework/Scenes/Prioritizer.cs
2011-04-11 08:41:36 -07:00
Mic Bowman f778056c7a Removed some priority queue debugging code 2011-04-11 08:37:43 -07:00
Mic Bowman ebc249e3be Changed the "not in scene" check in the prioritizier to just
a warning. There appears to be a race condition on slow logins
that attempts to prioritize before the scene presence is fully
initialized.
2011-04-10 17:02:40 -07:00
Mic Bowman 19c6d1d569 Split the priority queue class into a seperate file. LLClientView
is big enough.
2011-04-10 16:57:02 -07:00
Mic Bowman 83dc2470f2 Fix a bug in the computation of the RTO. Basically... the RTO (the
time to wait to retransmit packets) always maxed out (no retransmissions
for 24 or 48 seconds.

Note that this is going to cause faster (and more) retransmissions. Fix
for dynamic throttling needs to go with this.
2011-04-10 16:57:02 -07:00
Mic Bowman 0bd06d8ba8 Fixed the prioritizer functions for the new priority queues 2011-04-10 16:57:02 -07:00
Mic Bowman 77cf9405de Implements adaptive queue management and fair queueing for
improved networking performance.

Reprioritization algorithms need to be ported still. One is
in place.
2011-04-10 16:57:02 -07:00
Sean McNamara 9c0f3c73b1 Merge git://opensimulator.org/git/opensim 2011-04-10 18:28:54 -04:00
Justin Clark-Casey (justincc) 707b6673c9 minor: remove mono compiler warnings 2011-04-09 00:25:00 +01:00
Justin Clark-Casey (justincc) 2aa3984796 Update ODE for mac from source code in opensim-libs SVN library. This version is r1755 + patches as detailed in the svn logs.
This brings it into line with the Windows and Linux libraries.
This is a universal dylib with x86_64, i386 and ppc parts.  However, even on a 64 bit Intel machine Mono can only P/INVOKE the i386 version right now.  ppc is untested.
The configuration used to compile was

CFLAGS="-g -O2 -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch x86_64 -arch ppc" CXXFLAGS="-g -O2 -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch x86_64 -arch ppc" LDFLAGS="-arch i386 -arch x86_64 -arch ppc" ./configure --enable-old-trimesh --disable-asserts --enable-shared --disable-dependency-tracking --disable-demos --without-x

--disable-demos --without-x is required to build ODE on Mac OS X
CFLAGS, CXXFLAGS and --disable-dependency-tracking are necessary to build the universal dylib (some compilation lines use CFLAGS instead of CXXFLAGS)
The other settings are tweaks for using ODE with OpenSim
2011-04-08 20:50:23 +01:00
Melanie abea0c74c2 Add support for the new display name related functions in LSL. This does not
implement the display names functionality as such, but it allows scripts
that are display name aware to function as if the display name were implemented
and set to the avatar name.
2011-04-08 04:19:17 +01:00
Justin Clark-Casey (justincc) d31175060f trivial whitespace removal to trigger a panda rebuild 2011-04-08 00:42:35 +01:00
Justin Clark-Casey (justincc) 9ba787be67 Remove old SQLite library 2011-04-08 00:33:33 +01:00
Justin Clark-Casey (justincc) 0ced677510 Revert master version number to 0.7.1 for now to make merging easier. 2011-04-07 23:22:19 +01:00
Justin Clark-Casey (justincc) 9d40c0dcc7 Remove the SQLite legacy adaptor. This is no longer needed now that the main adaptor works on Mac OS X.
The SQLite legacy adapator was also not at all well maintained, even worse than the mainline sqlite adapator.
2011-04-07 23:20:04 +01:00
Justin Clark-Casey (justincc) 1b1e6f78fd Bundle a built-from-source Mac OS X sqlite3 universal dylib with OpenSim and use this instead of the system one.
This means that Mac OS X users can now use the standard sqlite adaptor instead of the legacy one.
This is SQLite 3.7.5.  I configured the build with the line

CFLAGS="-Os -g -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch x86_64 -arch ppc7400 -DSQLITE_ENABLE_COLUMN_METADATA" LDFLAGS="-arch i386 -arch x86_64 -arch ppc7400" ./configure --disable-dependency-tracking

The SQLITE_ENABLE_COLUMN_METADATA flag exports the metadata symbols that modern Mono SQLite adaptors need.
The -Os removes debugging symbols (as per the sqlite3 source pkg README)
The other parts are to cross compile for x86_64, i386 and ppc.  On Mac OS X, Mono can actually only P/INVOKE 32-bit libraries even on 64 bit platforms so i386 is being used.  The dylib has not been tested on ppc.
2011-04-07 21:44:54 +01:00
Justin Clark-Casey (justincc) a6b1927cff bump main branch version number to 0.7.2. A separate 0.7.1-post-fixes branch now exists. 2011-04-06 22:05:07 +01:00
Justin Clark-Casey (justincc) 9bc2705f37 Fix bug where on duplication, the root part local id was continually used in populating the local id scene object index instead of each part's local id 2011-04-06 20:52:36 +01:00
Justin Clark-Casey (justincc) 8318915d7e Signal prim count taint if the AbsolutePosition of a scene object changes.
This updates prim counts correctly if an object is moved by something other than an avatar (e.g. scripts, region modules)
Create TestMoveOwnerObject() regression test for this case.
2011-04-06 20:48:00 +01:00
Justin Clark-Casey (justincc) 63533412f8 Improve previous ILandObject method doc.
For test code, take a part name prefix when creating objects, so that these can be more easily identified in the logs
2011-04-06 18:57:50 +01:00
Justin Clark-Casey (justincc) fa202a05e9 Add method doc to some land bitmap methods in ILandObject.
Also changes prim count tests to use the correct upper region bounds, though the method actually ignores the overage.
2011-04-06 17:19:31 +01:00
Justin Clark-Casey (justincc) 2497962360 Change some text to make the autoreturn mechanism more obvious, and align with the fact that it's one word rather than two. 2011-04-05 22:25:00 +01:00
Justin Clark-Casey (justincc) acacee98c6 properly refresh object owner list when refresh button is hit on land parcel object tab 2011-04-05 22:15:06 +01:00
Justin Clark-Casey (justincc) 0e465da187 remove now unused individual LandData prim counts.
However, the calls to the land management module to record prims need to remain, since they were also being used to return owner object lists, etc.
This is probably why prim counts were being done there in the first place.
2011-04-05 21:25:54 +01:00
Justin Clark-Casey (justincc) f030ba8992 replace magic numbers in llGetParcelPrimCount() with constants 2011-04-05 20:39:58 +01:00
Justin Clark-Casey (justincc) dc6ce24443 switch llGetParcelPrimCount() to use new prim counts module 2011-04-05 20:31:52 +01:00
Justin Clark-Casey (justincc) 3d400fc663 If an object is selected, then don't include it in owner/group/others prim counts.
This fixes the total prim count that the viewer displays when prims are selected - it appears to ignore the total that we pass it and adds up the counts separately.
2011-04-05 18:24:23 +01:00
Justin Clark-Casey (justincc) c1dec225ab Handle the client's parcel info requests asynchronously rather than synchronously.
Handling these synchronously kills the inbound packet loop if many requests are made for remote land and those requests are handled slowly or timeout (timeout is 10s)
This can happen if a user searches for "land for sale" and then clicks many of the parcels in the list (or just presses down arrow to move through every entry).
2011-04-05 17:47:11 +01:00
Teravus Ovares (Dan Olivares) 18e206d2ed * Bugfix - Compile NullEstateData implement public List<int> IEstateDataStore.GetEstatesByOwner(UUID) 2011-04-04 23:45:28 -04:00
Mic Bowman d5e0674213 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-04-04 20:04:01 -07:00
Mic Bowman b2fbadeae8 Updates NullStorage plugin.
Thanks MisterBlue...
2011-04-04 20:02:13 -07:00
Justin Clark-Casey (justincc) f58941e89f Make the "All Estates" option work from the client (this makes chosen changes to all the estates that the user owns).
This applies to adding/removing estate users, groups, managers and bans.
This is the application of the AllEstates_0.5.patch from http://opensimulator.org/mantis/view.php?id=5420
Thanks very much, Snoopy!
2011-04-05 01:30:13 +01:00
Mic Bowman 65af4bacc9 Merge branch 'queuetest' of ssh://opensimulator.org/var/git/opensim into queuetest
Conflicts:
	OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
	OpenSim/Region/Framework/Scenes/Prioritizer.cs
2011-04-04 14:25:21 -07:00
Mic Bowman 8b134f37f2 Fix a bug in the computation of the RTO. Basically... the RTO (the
time to wait to retransmit packets) always maxed out (no retransmissions
for 24 or 48 seconds.

Note that this is going to cause faster (and more) retransmissions. Fix
for dynamic throttling needs to go with this.
2011-04-04 14:18:26 -07:00
Mic Bowman 15c4bbea59 Fixed the prioritizer functions for the new priority queues 2011-04-04 13:19:45 -07:00
Mic Bowman 6885b7220c Implements adaptive queue management and fair queueing for
improved networking performance.

Reprioritization algorithms need to be ported still. One is
in place.
2011-04-04 11:41:07 -07:00
Melanie adb14ad20a Implement rezzing coalesced objects 2011-04-03 20:32:04 +01:00
Melanie a4b3439025 Implement rezzing coalesced objects 2011-04-03 20:26:18 +01:00
Melanie b385d4aa03 Implement taking of coalesced objects.
WARNING!!!!!
You can TAKE them, but you can't REZ them again. Only the first of the contained
objects will rez, the rest is inaccessible until rezzing them is implemented.
Also, rotations are not explicitly stored. This MAY work. Or not.
2011-04-03 20:24:44 +01:00
Melanie e8e940e33e Make CHANGED_OWNER work for deeding and god-mode in-world change 2011-04-03 14:16:41 +01:00
Justin Clark-Casey (justincc) 4f56c732bc Comment out some startup logging lines to make up for the one I added earlier on.
Most of these are where the region modules are telling us they are disabled.  Convention is only to log when enabled (even that is really noisy)
2011-04-02 02:29:42 +01:00
Justin Clark-Casey (justincc) 7bba0177fe If land is not group owned (group ID is always UUID.Zero) then don't check if a prim should be added to the group count 2011-04-02 01:53:47 +01:00
Justin Clark-Casey (justincc) 8e668abc6d add test for removing group owned objects 2011-04-02 01:46:06 +01:00
Justin Clark-Casey (justincc) 01b399055b add test for adding group object, factor out initial zero counts test 2011-04-02 01:37:46 +01:00
Justin Clark-Casey (justincc) c13502a5cf add remove others object prim count test 2011-04-02 01:15:17 +01:00
Justin Clark-Casey (justincc) 2c86f6ba7d refactor: rename m_dummyUserId to m_otherUserId 2011-04-02 01:13:10 +01:00
Justin Clark-Casey (justincc) 5b0936d4b5 If the land has no group ownership (it is UUID.Zero) then don't put prims in the group count when they are also not group owned.
Also adds simple test for others owned count when an object is added
2011-04-02 01:07:52 +01:00
Melanie 3a113f9902 A stab at making CHANGED_OWNER work 2011-04-01 22:04:29 +01:00
dahlia e974fde953 check threat configuration for LSL print() 2011-03-31 22:56:04 -07:00
dahlia 8c8a0a182e implement LSL "print()" API function 2011-03-31 21:14:53 -07:00
Justin Clark-Casey (justincc) 8f4bf43534 When asked to join region to existing estate, make first estate name the default instead of None 2011-04-01 00:55:05 +01:00
Justin Clark-Casey (justincc) e1ceb461c0 Make default answer for 'do you wish to join region to an existing estate' yes instead of no. 2011-04-01 00:51:10 +01:00
Justin Clark-Casey (justincc) 39c610c165 Log which address and port the UDP listener is configured for. This will match that given for InternalAddress in the config (e.g. 0.0.0.0)
Can't obtain actually bound address until the UDP socket is used for the first time.
2011-04-01 00:41:52 +01:00
Justin Clark-Casey (justincc) 4d0cffa06e If the prim count gets an object with invalid bounds, don't try to count it.
This appears to be the more probable explanation for some failures seen.  Either we're counting attachments which are temporarily out of bounds (shouldn't be due to the IsAttachment) check or we're counting scene objects which have out of bounds co-ordinates (seems more likely)
2011-03-31 23:56:26 +01:00
Justin Clark-Casey (justincc) 6ae76ede98 suspend check that IAR control file is loaded for now
I was mistaken - some previous opensim versions don't save this file first.  Will have to bump iar version number and only check iars after the bump
2011-03-31 23:09:06 +01:00
Justin Clark-Casey (justincc) 88bd38690a Remove unused RegionInfo.getInternalEndPointPort() in favour of RegionInfo.InternalEndPoint.Port 2011-03-31 23:03:42 +01:00
Justin Clark-Casey (justincc) efd0c003a3 Put in temporary logging message to find out if scene objects are requesting land objects for co-ordinates outside the region 2011-03-31 22:47:18 +01:00
Justin Clark-Casey (justincc) 7bba31e8d9 remove some mono compiler warnings 2011-03-31 22:20:12 +01:00
Justin Clark-Casey (justincc) 8022400bd4 Remove unused Datastore parameter from RegionInfo (legacy from early 2008) 2011-03-31 22:16:09 +01:00
Justin Clark-Casey (justincc) f7ed7fc05d When a new parcel is created, make sure the prim counts are updated.
This is done by tainting the counts where appropriate
2011-03-30 00:42:02 +01:00
Justin Clark-Casey (justincc) 8b16f7d976 (re)implement selected prim count.
This does not currently count objects that are sat upon (which the viewer ui implies should be included in this count)
2011-03-30 00:13:07 +01:00
Justin Clark-Casey (justincc) f754dedbef Merge branch 'primcounts' 2011-03-29 23:08:44 +01:00
Justin Clark-Casey (justincc) fe258753a0 disable prim count debug logging temporarily 2011-03-29 23:07:01 +01:00
Diva Canto 309eb712a3 Improvement over 2 commits ago: make the hyperlink check understand port 80. 2011-03-28 19:34:55 -07:00
Diva Canto d3771e5366 Added code to load a terrain tile of tiff/jpg format. Previously it only worked for one single region. 2011-03-28 16:48:12 -07:00
Diva Canto 2d209d3844 Fix mantis #5413. WARNING: new config variable in section [GridService] of the simulators called Gatekeeper -- intended to have the URL of the grid's Gatekeeper service (so that it can be checked against). See ini.examples. 2011-03-28 16:46:04 -07:00
Mic Bowman 61371c7c16 Implements adaptive queue management and fair queueing for
improved networking performance.

Reprioritization algorithms need to be ported still. One is
in place.
2011-03-28 10:00:53 -07:00
Marck 5a61c76455 The actual change to README.txt about running on Linux. 2011-03-28 13:35:31 +02:00
Marck dd72a69ea5 More touchup for SQLite.
Apply the same change to both the 32-bit and 64-bit DLL target paths. This makes the previous addition to the instructions in the README for running on Linux unnecessary.
2011-03-28 13:13:21 +02:00
BlueWall fe6900b305 Touchup for SQLite 2011-03-27 19:38:40 -04:00
Melanie f25749f025 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-03-27 21:22:31 +01:00
Justin Clark-Casey (justincc) 435d72f106 Add SignpostMarv to contributors 2011-03-26 02:46:00 +00:00
Justin Clark-Casey (justincc) 797128a6ad Rename some member fields to standard m_ OpenSim code convention 2011-03-26 02:44:46 +00:00
Justin Clark-Casey (justincc) 83f48c26d6 add header file 2011-03-26 02:43:41 +00:00
Justin Clark-Casey (justincc) de0730a54c Add OpenSim.Server.Base reference in prebuild.xml. Initialize svc_checks dictionary in WebkeyOrPasswordAuthenticationService, which was what was causing the load failure. 2011-03-26 02:42:50 +00:00
SignpostMarv Martin 361b3e7ab8 Removing hard-coded plugin loading in favour of direct class instantiation 2011-03-26 02:39:30 +00:00
SignpostMarv Martin 3f4be42a87 Altering log feedback 2011-03-26 02:28:11 +00:00
SignpostMarv Martin e93531e124 Fixing bug that occurs when using web login- the result was not checked 2011-03-26 02:28:11 +00:00
SignpostMarv Martin 3bc859a834 Making combined auth service re-use the existing auth services instead of duplicating code
Signed-off-by: SignpostMarv Martin <me@signpostmarv.name>
2011-03-26 02:28:11 +00:00
SignpostMarv Martin 0e808950fb InfoFormat > DebugFormat
Signed-off-by: SignpostMarv Martin <me@signpostmarv.name>
2011-03-26 02:28:11 +00:00
SignpostMarv Martin 6153c45973 LLLoginHandlers now supports both password & web login
Signed-off-by: SignpostMarv Martin <me@signpostmarv.name>
2011-03-26 02:28:11 +00:00
SignpostMarv Martin af3956348f Adding a combined auth service, allowing users to login with either web login or password
Signed-off-by: SignpostMarv Martin <me@signpostmarv.name>
2011-03-26 02:28:11 +00:00
SignpostMarv Martin 482686daab WebkeyAuthenticationService is now no longer a stub!
Signed-off-by: SignpostMarv Martin <me@signpostmarv.name>
2011-03-26 02:28:11 +00:00
Justin Clark-Casey (justincc) f2d2470c25 When an object is duplicated, add it to the full/local id SOG indexes as well as Entities 2011-03-26 02:24:32 +00:00
Justin Clark-Casey (justincc) b11e3d33f1 add save of LLClientView I forgot from last commit 2011-03-26 02:20:16 +00:00
Justin Clark-Casey (justincc) 541cd3e8c8 move total parcel prim calculations into IPrimCounts instead of doing this in LLClientView
need to move selected prim counts from LandData/LMM still
2011-03-26 02:19:28 +00:00
Justin Clark-Casey (justincc) bfd9cc44b4 When an object is duplicated, add the dupe to the uuid/local id indexes as well as the basic entities list.
Added a prim counts test to reinforce this - shift-copy was no incrementing prim count.  This will sometime become a basic scene test.
New code needs to be refactored so we just call SceneGraph.AddSceneObject().  This will happen in the near future.
With this, basic owner prim counts on a single parcel appear to be working fine (with the same previous existing taint calls as used by the land management module).
More work to do.
2011-03-26 02:05:53 +00:00
Justin Clark-Casey (justincc) 3d0e072d50 Merge branch 'master' into primcounts 2011-03-26 00:57:52 +00:00
Justin Clark-Casey (justincc) 26d16567e1 Make SceneGraph.ForEachSOG() execute once for each SOG, not once for each prim (e.g. a SOG with 3 prims would have the action executed three times).
To do this, a new SceneObjectGroupsByFullID index in SceneGraph which just index's prims by their root part UUID, in order to avoid the inefficiency of filtering existing lists.
Existing callers to SceneGraph.ForEachSOG() did not fail due to the multiple per SOG action executions - they were probably just much less efficient.
Code suggests that no callers expected ForEachSOG() to execute actions on sog multiple times
2011-03-26 00:53:19 +00:00
Justin Clark-Casey (justincc) f30bf429c2 refactor: rename SOG collections in SceneGraph to make it clearer that they are indexing each part's UUID, not just the root part. 2011-03-26 00:42:48 +00:00
Justin Clark-Casey (justincc) cc8897fceb Add test for PCM taint. This currently fails due to unexpected behaviour of SceneGraph.ForEachSOG(). This will be corrected soon.
Also adds lots of temproarily debug logging
2011-03-26 00:34:49 +00:00
Justin Clark-Casey (justincc) d8e1c380e6 minor: make it clearer in the log where we're loading region config files and not the regions themselves 2011-03-25 23:36:58 +00:00
Justin Clark-Casey (justincc) 3a55d59b45 in region web loader, print out url that config is being loaded from (this wasn't being done anywhere). 2011-03-25 23:29:06 +00:00
Justin Clark-Casey (justincc) ea72745d43 Log the xml/ini regions config files that opensim loads from, and the regions that it loaded from them
This will show up with the lines [REGION LOADER FILE SYSTEM]: Loading config files from ./Regions, etc.
2011-03-25 23:18:47 +00:00
Justin Clark-Casey (justincc) 6ae04448f7 Start using IPrimCounts populated by PrimCountModule instead of LandData counts populated by LandManagementModule.
In order to pass ILandObject into IClientAPI.SendLandProperties(), had to push ILandObject and IPrimCounts into OpenSim.Framework from OpenSim.Region.Framework.Interfaces, in order to avoid ci
Counts are showing odd behaviour at the moment, this will be addressed shortly.
2011-03-25 23:05:51 +00:00
Justin Clark-Casey (justincc) 7f5019b0f2 Add ILandObject.IPrimCounts for the new prim count module.
Not functional yet, but tests now act against this object rather than interrogating the module directly
2011-03-25 21:47:54 +00:00
Justin Clark-Casey (justincc) eaa37d15f2 factor out common test setup code in PCM tests 2011-03-23 23:28:23 +00:00
Justin Clark-Casey (justincc) f001aab8aa extend TestAddOwnerObject() to add a second object 2011-03-23 23:19:15 +00:00
Justin Clark-Casey (justincc) ebbe3afaf1 Add PrimCountModuleTests.TestRemoveOwnerObject().
Also adds SceneSetupHelpers methods to easily create sogs with different part UUIDs
2011-03-23 23:14:55 +00:00
Justin Clark-Casey (justincc) d5c7ae5c6b refactor common sop setup parts into a single method 2011-03-23 22:40:23 +00:00
Justin Clark-Casey (justincc) de88227bc4 refactor: simplify part of AddSceneObject() test setup by moving sog construction into SceneSetupHelpers.CreateSceneObject() 2011-03-23 22:29:27 +00:00
Justin Clark-Casey (justincc) 88673c86a4 use a 3 part object for the pcm test rather than a 1 part, for improved test coverage 2011-03-23 22:17:47 +00:00
Justin Clark-Casey (justincc) f1f4985ab6 user a non UUID.Zero user in pcm test to avoid any special treatment of UUID.Zero 2011-03-23 22:14:04 +00:00
Justin Clark-Casey (justincc) 654aa7abeb Extend simple PCM add object test to check all counts 2011-03-23 22:12:20 +00:00
Justin Clark-Casey (justincc) 08c3cd6b36 Add method doc to the Get*() methods on PrimCountModule 2011-03-23 22:04:14 +00:00
Justin Clark-Casey (justincc) 67cafbd33a remove a rogue Console.WriteLine() from the last commit. 2011-03-23 21:54:02 +00:00
Justin Clark-Casey (justincc) d011896341 Add generic EventManager.OnObjectAddedToScene and get PrimCountModule to listen for that rather than EventManager.OnParcelPrimCountAdd
OnParcelPrimCountAdd had the wrong semantics for the PrimCountModule - it was invoked for every entity in the scene, not just new ones, which would screw up the untainted count.
Extend automated test for this scenario.
2011-03-23 21:53:14 +00:00
Marck 9c979dd0fc Fix a typo in the SQLite DLL config and amend the instructions for running on Linux.
Under Linux (and probably also under OSX), the operating system must be able to find the new SQLite DLL in the library search path.
2011-03-23 08:35:39 +01:00
Justin Clark-Casey (justincc) b34743e5fe Add an initial confidence-building TestAddObject() for prim counts. 2011-03-22 23:47:36 +00:00
BlueWall be878795aa Typo fix 2011-03-22 17:36:01 -04:00
BlueWall 97d46648cd More SQLite work. 2011-03-22 16:42:12 -04:00
BlueWall e3c327a305 Merge branch 'master' of /home/opensim/src/OpenSim/Core 2011-03-21 22:06:43 -04:00
Justin Clark-Casey (justincc) 7acade00b9 On initial setup, include estate and regions names in questions to make it clearer what they relate to. 2011-03-21 23:26:35 +00:00
Justin Clark-Casey (justincc) 3382de4d8b In initial setup, stop a user being able to create a new estate with the same name as an existing estate. 2011-03-21 23:16:57 +00:00
Justin Clark-Casey (justincc) 060a53b896 On initial opensim setup, don't ask the user whether they want to join an existing opensim estate when there aren't any. Proceed directly to estate setup instead. 2011-03-21 22:57:20 +00:00
Justin Clark-Casey (justincc) ee7cfc2854 refactor: use EstateDataService property directly instead of loading it into a local variable 2011-03-21 22:47:02 +00:00
Justin Clark-Casey (justincc) 2d1f0d224c minor: slightly adjust previous method doc. 2011-03-21 22:27:16 +00:00
Justin Clark-Casey (justincc) 793bfb5a66 add method doc to IEstateDataService and IEstateDataStore interfaces 2011-03-21 22:25:20 +00:00
Justin Clark-Casey (justincc) d3a20a1e92 On initial region registration, if the user chooses the option to make the region part of an existing estate, then list the existing region names. 2011-03-21 21:37:06 +00:00
Melanie fb890e543f Don't send a windlight profile to clients if windlight is not set for
that region. This should restore normal day and night cycles for
regions without WL settings.
2011-03-21 08:02:56 +00:00
BlueWall f4a30f3a23 Upgrade SQLite:
Fixes metadata issues. Tested on Linux and Windows - may fix
	issues seen on OSx as well.
2011-03-18 12:12:08 -04:00
BlueWall a3651eb5d0 Thanks Kevin Cozens for a patch that:
Fixes several spelling mistakes
2011-03-17 05:48:42 -04:00
Justin Clark-Casey (justincc) 04e3ae3733 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-03-16 00:15:48 +00:00
Justin Clark-Casey (justincc) aadd0e8d42 minor: bring comment into line with code reality 2011-03-16 00:14:58 +00:00
BlueWall d4ed38821f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-03-15 17:17:28 -04:00
BlueWall 28c335e25f Hello, World! 2011-03-15 17:16:50 -04:00
Justin Clark-Casey (justincc) fdcf910e00 Fix a bug in T015_LargeSceneObjects() where the large scene object was stored 31 times (1 time for each added part) instead of once at the end, even though only the largest 31 prim scene object was retrieved and tested.
This considerably speeds up the test, when on sqlite it now only takes 2 seconds rather than 30+
2011-03-14 23:35:03 +00:00
Justin Clark-Casey (justincc) 38c3be07b8 when retrieving a sog in database tests, don't bother adding the scene since this isn't used 2011-03-14 23:32:44 +00:00
Justin Clark-Casey (justincc) 8509678e48 Add method doc to T015_LargeSceneObjects() and slightly clean up formatting.
This test takes a considerable time on SQLite but should remain since it's testing storage and retrieval of a scene object with 31 parts.
2011-03-14 23:26:50 +00:00
Justin Clark-Casey (justincc) 48c62eb51b Add current method output to all persistence level tests so that we can track where we are in the test suite 2011-03-14 23:17:15 +00:00
Justin Clark-Casey (justincc) 9885f68f44 When setting media on a prim values, use generic object permissions instead of media permissions.
Media permissions are just meant to be checked when we want to know if a user should be shown the navigation bar or allowed to navigate.  It should not be checked when we're setting the media up.
This bug was preventing a user from ever setting any more values if they had unchecked the owner settings.
2011-03-14 22:47:14 +00:00
Justin Clark-Casey (justincc) 2868f3fc72 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-03-14 21:56:58 +00:00
Melanie cee5e3e264 Up the timeout on slow requests to 3000 to stop console spam. Make sure
request method and target are reported correctly and drop the txn id
as it's empty 99% of the time.
2011-03-14 14:51:13 +00:00
Justin Clark-Casey (justincc) f6f8d124d1 minor: remove mono compiler warning 2011-03-12 00:52:43 +00:00
Justin Clark-Casey (justincc) f6b638fec9 factor inventory file loading into its own method 2011-03-12 00:49:13 +00:00
Justin Clark-Casey (justincc) c4060e56ef factor out iar asset load code into its own method 2011-03-12 00:35:40 +00:00
Justin Clark-Casey (justincc) a3c7c04ead refactor: make boolean load indicators on load iars instance fields 2011-03-12 00:28:23 +00:00
Justin Clark-Casey (justincc) 367ed585e0 introduce iar load checks which make sure archive.xml comes first, then inventory nodes, then assets
this is necessary for correct loading.  "save iar" always saves in this order so there shouldn't be any problems - these checks are to give better feedback to other systems that may construct IARs.
2011-03-12 00:21:52 +00:00
Justin Clark-Casey (justincc) cb863851e0 Update/simplify test running instructions 2011-03-11 22:38:51 +00:00
Mic Bowman 836ab6b0e8 Change how map blocks are encoded to make map search
work with viewer 2.
2011-03-10 15:23:46 -08:00
Justin Clark-Casey (justincc) ad1dea5aff Add test for simple case where creator account with appropriate uuid exists on the target system for an iar load 2011-03-10 22:56:11 +00:00
Justin Clark-Casey (justincc) 8d69e68311 refactor: rename test user account fields 2011-03-10 22:52:41 +00:00
Justin Clark-Casey (justincc) 9ecb745ed7 factor out common scene setup code in InventoryArchiveTestCase 2011-03-10 22:48:19 +00:00
Justin Clark-Casey (justincc) 66d2d35425 extend TestLoadIarV0_1AbsentCreator() to check serialized object CreatorId as well 2011-03-10 22:40:24 +00:00
Justin Clark-Casey (justincc) ce4421497e re-enable item.CreatorId check in TestLoadIarV0_1AbsentCreator() 2011-03-10 22:38:52 +00:00
Justin Clark-Casey (justincc) b821f748ac For objects loaded from an IAR, make sure the CreatorID points towards the OSP resolved ID if newer CreationData is not present.
This should resolve issues where the creator for rezzed objects was being shown as "Unknown user" where previous behaviour was to show the OSP resolved account.
This is being done by parsing the serialized objects and updating the CreatorID if no CreationData exists.  This operation might be expensive for sculpties where the sculpt texture is inlined with the object data.  Will just have to see.
This relies on the IAR streaming inventory data before asset data (as is currently the case).  Will need to introduce more stringent checks for file order on loading (much like JAR zips must start with the manifest file).
This is for IAR loading only.  Tests updated to check this behaviour.
2011-03-10 21:56:15 +00:00
Justin Clark-Casey (justincc) db2ad62c9b in AssetHelpers.CreateAsset(), create objects using the 'original' xml format rather than 'xml2' 2011-03-10 19:52:19 +00:00
Justin Clark-Casey (justincc) a151afebe3 When setting up default iar for testing, use iar archiving code rather than constructing the tar manually 2011-03-10 19:40:19 +00:00
Justin Clark-Casey (justincc) 4dd60b7dce Change existing users load iar test so that it fulfills it's original intention (i.e. OSPA resolution, which is still active).
Will need to write a separate test for the simplest case where creator accounts with appropriate uuids exist on iar load.
2011-03-10 00:19:17 +00:00
Justin Clark-Casey (justincc) 549b0ea17c Split the inventory path testing parts of TestLoadIarV0_1ExistingUsers() into a new test TestLoadIarToInventoryPaths() 2011-03-10 00:06:32 +00:00
Justin Clark-Casey (justincc) fa1996155e Make the item created in the default test iar an object rather than a script 2011-03-09 23:58:26 +00:00
Justin Clark-Casey (justincc) 07f68c8318 minor: change the order of some default iar setup in test case 2011-03-09 23:54:52 +00:00
Justin Clark-Casey (justincc) 9456bb77fb Upgrade nunit.framework.dll to version 2.5.9. Fix up tests appropriately.
This version removes the NUnit.Framework.SyntaxHelpers namespace, so any modules with their own tests will need to delete this using statement.
2011-03-09 23:25:24 +00:00
Justin Clark-Casey (justincc) 20aeace8d7 Add log messages on teleport failure to better pin down the cause. 2011-03-09 22:03:12 +00:00
Justin Clark-Casey (justincc) 3e5b1a1de5 Update MySql.Data.dll to version 6.3.6.
This version fixes a bug so that MySqlCommand.CommandTimeout = 0 now correctly sets an infinite command timeout.  This might help with failures on long-running migrations.
The mysql.data.dll v2 is used from the mysql package (as opposed to v4).  The v4 version (probably standing for NET 4.0) does not work under mono 2.6.7, which is still commonly used.
2011-03-09 20:55:44 +00:00
Justin Clark-Casey (justincc) ae507bb060 Split out path tests from InventoryArchiveTests. Factor common code into test case parent 2011-03-09 01:53:27 +00:00
Justin Clark-Casey (justincc) 2fa8fc5052 remove inventory service preserving code from SceneSetupHelpers too 2011-03-09 01:37:31 +00:00
Justin Clark-Casey (justincc) f375a5e9cb Simplify SceneSetupHelpers class by removing all code which was originally preserving service instances between tests. This wasn't being used anyway and just leads to hard to diagnose test failures. 2011-03-09 01:31:47 +00:00
Justin Clark-Casey (justincc) 8a2360bf81 Simplify TestLoadIarV0_1AbsentUsers() to use common IAR test setup. Make static dictionaries on NullUserAccountData instance instead to stop user accounts being carried over between tests 2011-03-09 01:21:31 +00:00
Justin Clark-Casey (justincc) 743a6b0da5 Make -m shortcut option for --merge on load iar specific. Correct some log message origins. 2011-03-08 22:44:02 +00:00
Diva Canto 9923a2ff10 Pull up Assembly of the MySQL classes as a protected property, so that it can be overwritten in subclasses. That way extensions can decide in which assembly migration resources should be looked up. This is just a refactor -- no functional changes whatsoever. 2011-03-08 09:02:29 -08:00
Justin Clark-Casey (justincc) 9b345ebf73 factor out SetPartMediaFlags() function in MoapModule. 2011-03-05 02:42:47 +00:00
Justin Clark-Casey (justincc) 2e46027c14 Construct test load iar only once and reuse for each test, rather than recreating it every time 2011-03-05 02:34:44 +00:00
Justin Clark-Casey (justincc) 9e579a7891 Fold ClearMediaEntry() back into SetMediaEntry() 2011-03-05 02:21:53 +00:00
Justin Clark-Casey (justincc) 9f85ee29ac Change MoapModule.ClearMediaEntry to set TextureEntryFace.MediaFlags back to false
Implement test for ClearMediaEntry()
2011-03-05 02:18:03 +00:00
Mic Bowman 12d5a20094 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-03-04 17:18:49 -08:00
Mic Bowman 3c0d607f45 Changed order of checks for local regions when processing
AgentUpdate messages. Should improve throttles and reprioritization
when an avatar is moving.
2011-03-04 17:17:53 -08:00
Justin Clark-Casey (justincc) 8efb01b3df minor: remove some mono compiler warnings 2011-03-05 01:15:27 +00:00
Justin Clark-Casey (justincc) 72cb498fd0 minor: Make MoapModule namespace consistent with other modules 2011-03-05 01:13:59 +00:00
Justin Clark-Casey (justincc) 481ca910da add test for MoapModule.SetMediaUrl() 2011-03-05 01:07:05 +00:00
Justin Clark-Casey (justincc) 3c89527b22 Fix bug where llSetPrimMediaParams() reported success but never set the media texture.
We weren't setting the TextureEntryFace.MediaFlags = true when a media texture was set directly via a script.  This was being done when the viewer was setting them directly.
2011-03-05 00:06:51 +00:00
Diva Canto b82b0b1677 Normalizing comparison to lower case, just in case ppl set their config vars inconsistently. (maybe related to mantis #5386) 2011-03-01 09:20:50 -08:00
Sean McNamara 60989521a6 Merge git://opensimulator.org/git/opensim 2011-02-28 15:08:35 -05:00
Sean McNamara b3c42e952f Fix small bug with remove region; update settings docs.
Our impl of IRegionModuleBase.RemoveRegion didn't remove the scene from the states map.
2011-02-28 11:54:07 -05:00
Sean McNamara 018645f9f8 First pass at busy heuristics. Compile-tested only. 2011-02-28 11:45:50 -05:00
Sean McNamara a01c44e74d Be smarter about stopping timers. Cleanup formatting.
Use a boolean flag to tell timers that fire after IRegionModuleBase.Close() is called that they should not execute.
Also, I used MonoDevelop's auto-formatting feature to format the code uniformly. No guarantee about variable names though.
2011-02-28 11:04:54 -05:00
Melanie cea47491de Fix a few little things 2011-02-27 19:49:23 +00:00
Sean McNamara 34b6904939 First working commit of AutoBackupModule.
It seems to do something! Heuristics are still TODO, but this is alpha 1.
2011-02-26 22:09:19 -05:00
Sean McNamara d3511ca592 Start the timer. (Could it be that simple?) 2011-02-25 09:03:11 -05:00
Sean McNamara cb049aa15f s/True/true 2011-02-25 08:58:42 -05:00
Sean McNamara bb1f03abc6 Make timer auto-respawn. 2011-02-25 08:57:48 -05:00
Sean McNamara 7fa8ed0c47 Config works, but timer isn't firing. Hmm. 2011-02-25 08:48:02 -05:00
Sean McNamara 2da9bb3ca2 Try to fix config one more time.
Note that the way we specify settings has changed significantly here.
2011-02-25 08:31:10 -05:00
Justin Clark-Casey (justincc) 2b04cab1ee change some log messages from info to debug 2011-02-25 02:15:06 +00:00
Justin Clark-Casey (justincc) 0f545abfc1 Make the file expiration defaults the same whether the whole [FLOTSAM ASSET CACHE] section is missing or just the particular config values 2011-02-25 01:31:38 +00:00
Justin Clark-Casey (justincc) 939c47ac52 instead of using different default memory expiration depending on whether there is a [FLOTSAM ASSET CACHE] section present at all, use the same default all the time
this simplifies the code
2011-02-25 01:25:38 +00:00
Justin Clark-Casey (justincc) beff0ac32f log actual cache directory for FlotsamAssetCache instead of always logging the default 2011-02-25 01:18:43 +00:00
Justin Clark-Casey (justincc) 197cc3883f Fix bug where having no maximum memory cache timeout would cause the flotsam asset cache to try using Double.MaxValue, which would cause the underlying OpenMetaverse.ExpiringCache to choke.
There is probably an underlying bug to fix in ExpiringCache.
2011-02-25 01:16:47 +00:00
Justin Clark-Casey (justincc) 2f5394e70d Fix bug where avatars in other regions would not always show up on the mini-map 2011-02-24 22:33:54 +00:00
Justin Clark-Casey (justincc) db7c758b7f On a Grid Handler exception, explicitly log the exception message and stack trace so that we get somewhat better diagnostics on windows 2011-02-24 00:55:50 +00:00
Mic Bowman 1bb0bae78a Forces the owner of a rezzed object to be the "rezzer" of the
object rather than the owner of the inventory item. In theory,
this shouldn't happen unless you are using grid-wide library
for inventory.
2011-02-22 13:30:38 -08:00
Mic Bowman 5a16fa882c Parameterizes the view distance used to compute and manage
child agents in neighbor regions. This means you can extend
the view on a simulator beyond the default 3x3 regions.

This uses a region default draw distance and should be
replaced at some point by the avatar specified draw distance.
That will require more careful, dynamic recomputation of child
agents every time the draw distance changes.

WARNING: this is experimental and has known instabilities. specifically
all regions "within site" should be running the same default draw distance
or agents will not be closed correctly.
2011-02-22 13:23:54 -08:00
Marck af22b7cb1a GetRegion(s)ByName with SQLite behaves like it does with other databases.
The in-memory storage of region data that is used by default with SQLite now handles wildcards in region names in the same way as SQL queries do with other databases.
2011-02-22 13:00:45 +01:00
Sean McNamara c2658c2f14 More relevant console messages, and maybe fix config problem 2011-02-19 23:14:43 -05:00
Sean McNamara 7eac0af559 Fix an actual bug in the timer interval calculation (minutes -> msec) 2011-02-19 23:07:54 -05:00
Sean McNamara e5c08a553c More debug messages 2011-02-19 22:55:32 -05:00
Sean McNamara 3c9bf5c476 Fix config source stuff harder (debug console prints only; no fix yet) 2011-02-19 22:47:05 -05:00
Sean McNamara 06a4810d21 Fix config source by taking it from Initialize 2011-02-19 22:29:45 -05:00
Sean McNamara 99e8260282 Add [Modules] option for unconditionally disabling entire module globally (for easy configuration) 2011-02-19 22:08:19 -05:00
Sean McNamara dfa63ff031 Let GetNextFile do all the string-building work for SEQUENTIAL. 2011-02-19 20:15:38 -05:00
Sean McNamara 85654f82a5 First cut of AutoBackupModule; only compile-tested so far 2011-02-19 12:25:04 -05:00
Justin Clark-Casey (justincc) 9e47018cfb Remove test T020_TestMakeRootAgent() which hasn't been active for ages anyway
This test was non-viable.  Keeping inactive T021_TestCrossToNewRegion() around for now since it's still useful for reference purposes in constructing a future working test.
2011-02-19 00:14:13 +00:00
Justin Clark-Casey (justincc) b3a1d8c7f7 Remove unused SceneSetupHelpers.DeleteObjectAsync().
Calling async code in automated tests is never a good idea - things become very fragile very quickly
2011-02-19 00:11:08 +00:00
Justin Clark-Casey (justincc) 9d668b09ca remove unused code to share services between scenes in SceneSetupHelpers - this is done differently elsewhere 2011-02-19 00:07:16 +00:00
Justin Clark-Casey (justincc) 60fe3d48ee Put some CapabilitiesModule null checks in Scene
Stop tests setting up a capabilities module by default
2011-02-18 23:50:54 +00:00
Justin Clark-Casey (justincc) 8249d77991 If GridService.GetNeighbours() could not find the region then log a warning rather than causing a null reference on the normal log line
This also extends the TestChildAgentEstablished() test to actually activate the EntityTransferModule, though the test is not yet viable
2011-02-18 23:25:59 +00:00
Justin Clark-Casey (justincc) 5c92f62941 minor: remove mono compiler warning 2011-02-18 23:10:46 +00:00
Justin Clark-Casey (justincc) dd9efc1838 extend TestChildAgentEstablished() test slightly to put in EntityTransferModule. Not yet enabled. 2011-02-18 23:05:56 +00:00
Justin Clark-Casey (justincc) eb699df5f6 On SceneSetupHelpers, go back to calling ScenePresence.CompleteMovement() for the last stage of AddRootAgent() instead of SP.MakeRootAgent()
Going this extra step doesn't appear to cause any test failures.
This is arguably better for test purposes, though at some stage another method may arise which does just call AddRootAgent().
2011-02-18 22:49:19 +00:00
Justin Clark-Casey (justincc) 023f953f39 remove another unused test teardown method 2011-02-18 22:25:45 +00:00
Justin Clark-Casey (justincc) c155f57dbe remove unused test teardown method 2011-02-18 22:22:51 +00:00
Justin Clark-Casey (justincc) c763edf56d separate attachment tests out into their own class 2011-02-18 22:20:08 +00:00
Justin Clark-Casey (justincc) 60d47836ce minor: remove mono compiler warning 2011-02-18 22:00:52 +00:00
Justin Clark-Casey (justincc) 88da253c94 Add very basic test which invokes the scene update loop once and checks the frame number.
This makes Scene.Update() match its original description of performing a single update, which also matches the semantics of SOG and ScenePresence.
2011-02-18 21:54:44 +00:00
Justin Clark-Casey (justincc) e774679f62 minor: add method doc to a few ScenePresence methods 2011-02-18 21:19:16 +00:00
Justin Clark-Casey (justincc) 4725221435 Stop the avatar sometimes pausing for more than a second on the border when region crossing.
This restores a RemoveFromPhysicalScene() call in ScenePresence.CheckForBorderCrossing() when the agent has been placed in transit.
If we don't remove the agent from the physical scene, then the method continues to be called via ScenePresence.Update()
until the handover of the client between regions is completed.  Since this handover can take more than 1000ms (due to the 1000ms
event queue polling response from the server), this results in the avatar pausing on the border for the entire handover period.
2011-02-18 20:54:00 +00:00
Marck 4f9c3c73ad Add support for new naming syntax of linked regions to osTeleportAgent and osTeleportOwner. 2011-02-17 13:47:13 +01:00
Marck 47a5d8d742 Make osTeleportOwner work in foreign regions by relaxing the restrictions on teleporting an agent. 2011-02-17 13:47:12 +01:00
Diva Canto dd4a503a22 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-02-16 09:57:43 -08:00
Diva Canto c6f2d66eae Fix bug introduced by Query Access. The response does not come in a packaged _Result field, it comes as simple OSDMap with 2 fields in it.
Also in this commit: comment out irrelevant debug message on AuthService.
2011-02-16 09:57:12 -08:00
Marck 25265c964f Changed console command "alert" and added new command "alert-user".
This addresses Mantis #4709.
Command "alert" always sends a message to everybody; the variant "alert general" has been removed. Sending messages to one user is done with the dedicated command "alert-user".
2011-02-16 18:36:57 +01:00
Marck 5c15c5e0ff Changed default directory for storing map tile images from remote regions. 2011-02-16 18:36:40 +01:00
Diva Canto fc84225038 XFF capitalization strikes again -- this time in the XMLRPC method. mantis #5386 2011-02-16 08:18:49 -08:00
Melanie 918c12c965 Change the QUERYACCESS method to eliminate spurious access denied messages 2011-02-16 08:06:11 +00:00
Diva Canto 5d6d0aa142 Catch HttpServer exception: mantis #5381 2011-02-15 08:38:37 -08:00
BlueWall c9d2194ecb Merge branch 'master' of /home/opensim/src/OpenSim/Core 2011-02-14 12:54:51 -05:00
BlueWall c75e916ccf Set filter to send proper rotations for root part
This allows the root prim, alone or in a set, to send it's
	rotation. This fixes unsitting the avatar on sit-offsest
	type teleports where the sit target is in the root prim of
	a linkset.
2011-02-13 07:42:53 -08:00
Marck 19d3792278 Fix and simplify QBasedComparer.
Make parsing of qvalues independent from a system's language setting and ensure that the comparison adheres to a descending order.
2011-02-13 11:11:49 +01:00
BlueWall 6601771f81 Set filter to send proper rotations for root part
This allows the root prim, alone or in a set, to send it's
	rotation. This fixes unsitting the avatar on sit-offsest
	type teleports where the sit target is in the root prim of
	a linkset.
2011-02-13 00:30:43 -05:00
BlueWall 0d495ced4c Revert "Fix unsitting of avatar on linked sets"
This reverts commit b492f1ce99.
2011-02-13 00:29:06 -05:00
Diva Canto c169a62f55 Typo 2011-02-12 18:05:25 -08:00
BlueWall b492f1ce99 Fix unsitting of avatar on linked sets 2011-02-12 20:50:24 -05:00
BlueWall c0e1742d47 Merge branch 'master' of /home/opensim/src/OpenSim/Core 2011-02-12 20:42:11 -05:00
Diva Canto 059e9eaf98 Fixed a couple of tests in the HttpServer. Not sure if this is enough. Mantis #5373 and #5384 2011-02-12 14:38:46 -08:00
Diva Canto a8ced66e87 Improved error message on TP failure 2011-02-12 07:28:21 -08:00
Justin Clark-Casey (justincc) 9801bf03f8 minor: add comment explaining that GetRegionsByName needs to stay in TeleportAgent for its side effects. 2011-02-12 01:14:12 +00:00
Justin Clark-Casey (justincc) 03d82a5a85 Fix bug where "My estate" name was always used even if the user entered a different name on initial setup.
Turns out we had stopped saving estate settings immediately after the name change.  The scene constructor then reloade the settings and oblitereted the different name.
This code could be more efficient since there's no reason for scene to reload the settings when they are already known to be valid.
Thanks to Thoneve for the spot on this.
2011-02-12 01:08:56 +00:00
Justin Clark-Casey (justincc) 7e21c1eadf Hack in a crude temporary "estate show" command
This will show the estate for each region, along with that estate's id and the estate owner.
This is temporary because the command output might change.
This commit also converts the estate module from the old to the new region module format
2011-02-12 00:46:01 +00:00
Justin Clark-Casey (justincc) 26727ee044 refactor: split out estate management commands into separate class 2011-02-11 23:32:38 +00:00
Justin Clark-Casey (justincc) 754c244f46 In SQLiteSimulationData.RemoveLandObject(), don't manually remove the row from the data adaptor's Rows list in addition to calling Delete.
This matches the behaviour for other deletions and stops this operation failing on Windows .NET (though mono is fine with the duplication).
Probably a holdover from copying code from the older legacy adaptor.
Resolves http://opensimulator.org/mantis/view.php?id=5361
2011-02-11 23:06:14 +00:00
Justin Clark-Casey (justincc) 98af0db8c0 minor: Add some more information to the mesh_sculpted_prim [PHYSICS] setting 2011-02-11 22:16:53 +00:00
Justin Clark-Casey (justincc) 8fd58aa00c add estate name to show regions console command 2011-02-11 22:10:02 +00:00
Diva Canto 45382e6f82 Reinstated a couple of null checks related to the previous revert. 2011-02-10 06:26:26 -08:00
Diva Canto 89bb5c0941 Revert "Hunting down mantis #5365"
This reverts commit ebeef02fef.
2011-02-10 06:09:04 -08:00
Diva Canto 21715396fa Put the Ack of UseCircuitCode back to where it used to be. Some ppl are reporting login issues. 2011-02-09 17:45:19 -08:00
BlueWall 0f736e5601 Merge branch 'master' of /home/opensim/src/OpenSim/Core 2011-02-09 14:45:40 -05:00
Diva Canto f33e51e2ff Comment instrumentation out. Not needed anymore. Left in comments, in case it is needed again. Mantis #5365 2011-02-09 09:50:26 -08:00
Diva Canto 1cd951e5ae Fix the negative number problem in TokenBucket. mantis #5365 2011-02-09 09:39:53 -08:00
Diva Canto 830fee145d Revert "Brute-force debug -- mantis #5365"
This reverts commit 585473aade.
2011-02-09 08:35:36 -08:00
Diva Canto 1bba9c6300 Revert "Don't build strings unless we're in emergency debugging."
This reverts commit ba202ea9b0.
2011-02-09 08:35:21 -08:00
Diva Canto 477a869fb2 More detection of negatives. 2011-02-09 08:08:57 -08:00
Diva Canto 473fac4dc7 Detect negative dripAmounts in TokenBuckets. These negatives result from overflown integer operations. Also added Total to the scene throttles in show throttles. 2011-02-09 08:06:20 -08:00
Diva Canto ba202ea9b0 Don't build strings unless we're in emergency debugging. 2011-02-08 21:09:10 -08:00
Diva Canto 585473aade Brute-force debug -- mantis #5365 2011-02-08 20:12:33 -08:00
Diva Canto 117462cba1 Avoid potential race conditions on UseCircuitCode. I artificially made the race condition happen, and got very similar results to those described in mantis #5365 -- no prims/avie sent back. 2011-02-08 17:53:01 -08:00
Diva Canto f431bd20ec Minor addition to the previous commit 2011-02-08 14:49:50 -08:00
Diva Canto 82846afe4b Minor improvement to previous commit. 2011-02-08 12:37:37 -08:00
Diva Canto ac7bc78555 Added emergency monitoring of UDP Outgoing packets thread. Just type "emergency-monitoring on/off" 2011-02-08 12:06:14 -08:00
Diva Canto 34bd41d186 Comment previous debug 2011-02-08 11:16:38 -08:00
Diva Canto 305c755cfb XFF header again -- debug. 2011-02-08 07:50:01 -08:00
Diva Canto d627122cdc Mantis #5368 -- exception on WorldMap 2011-02-07 19:44:55 -08:00
Diva Canto d934add021 Thanks Tokeiito for noticing this bug. mantis #5366 2011-02-07 14:49:18 -08:00
Diva Canto ebeef02fef Hunting down mantis #5365
Revert "refactor: remove redundant null checks"

This reverts commit 6e58996b4d.
2011-02-07 07:45:03 -08:00
Diva Canto 98ea78fc77 New command: show pending-objects 2011-02-06 19:39:29 -08:00
Diva Canto 2c7e87c45b Better output for show neighbours 2011-02-06 07:51:20 -08:00
Diva Canto 3411d4867d Honor check of m_Enabled in WorldViewModule. 2011-02-05 19:40:55 -08:00
Diva Canto cc81d924ca Fixed Caps handlers leak 2011-02-05 19:34:02 -08:00
Diva Canto 30fa5ad1e2 One more diagnosis command:
show caps
2011-02-05 19:21:12 -08:00
Diva Canto b20ab1063f Added a couple of console commands to help diagnose issues:
show circuits: shows the lists of agent circuit data
show http-handlers: shows the currently registered http handlers
2011-02-05 17:57:30 -08:00
Diva Canto 3a2a48a8ca Add sane packing of ServiceURLs -- OSDMap. The old way (OSDArray) is still supported for backwards compatibility, but will be removed in the future. 2011-02-05 08:20:13 -08:00
Diva Canto 67555994ad Amend to yesterday's deletions: forgot to delete the RemoteInventory module in th addin.xml file. 2011-02-05 07:55:54 -08:00
Melanie f78831ec98 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-02-05 04:25:14 +00:00
Melanie 4e0b0f0f4c Fix a typo in the QUERYACCESS method name 2011-02-05 04:24:43 +00:00
Diva Canto 632babf8fb Added an additional debug message, and removed a bunch of files that weren't being used anymore -- the old RemotsInventory connectors stuff. 2011-02-04 19:19:38 -08:00
Diva Canto f5a3eb9fd5 Added a config var to HGInventoryAccessModule called OutboundPermission that controls whether the sim lets asset POSTs happen to foreign grids or not. It's True by default. If ppl want to allow foreign visitors but don't want to allow any assets out of their grid, they should set this to False. This is the beginning of policies for these things... 2011-02-04 17:05:45 -08:00
Justin Clark-Casey (justincc) cdd64bb8f5 For now, reinstate the call to World.GridService.GetRegionsByName() commented out in 933f47e
Even though we don't use the results, just getting the regions may have side effects in making hypergrid links available for the later World.RequestTeleportLocation()
2011-02-05 00:15:25 +00:00
Justin Clark-Casey (justincc) 1ffd70cef7 minor: remove some mono compiler warnings 2011-02-04 23:20:10 +00:00
Justin Clark-Casey (justincc) 5b7a5a5b8b Add position to IM sent from llInstantMessage(), to better fulfill client expectations 2011-02-04 23:14:21 +00:00
Justin Clark-Casey (justincc) a51005aacd Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-02-04 23:08:27 +00:00
Justin Clark-Casey (justincc) 722f0ba18c Put something in the ImprovedInstantMessage.BinaryBucket for llInstantMessage() to stop this crashing viewer 2.4.0 (1.23.5 was fine with this).
We're putting in a string of format "<region name><x pos floor int><y pos floor int><z pos floor int> which appears to be the expected value.
This resolves http://opensimulator.org/mantis/view.php?id=5356
2011-02-04 23:07:47 +00:00
Mic Bowman bb69a40fbb Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-02-04 14:22:17 -08:00
Mic Bowman 7a6e1fa4cf Convert SimianMaptile refresh time from ms to seconds. Too many 0's
in the config file.
2011-02-04 14:21:18 -08:00
Justin Clark-Casey (justincc) bc2e254b55 minor: fix indentation, spacing on commit 3585130
this previous commit tries to look up the texture by name first before just using the uuid.
this allows correct resolution of inventory textures which have uuids as names.
2011-02-04 21:55:22 +00:00
unknown 3585130ac8 SetTexture_fix 2011-02-04 21:52:06 +00:00
Justin Clark-Casey (justincc) 456cdee5ce minor: correct a log spelling mistake that was pointed out to me 2011-02-04 21:42:45 +00:00
Justin Clark-Casey (justincc) 2ddec29c61 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-02-04 21:15:41 +00:00
Diva Canto 144f367863 Bug fixed on map search for HG. Affected queries that had a region name at the end. 2011-02-04 12:57:22 -08:00
Kevin Cozens 034327b51f Send object date to viewer in microseconds (Fixes mantis bug #3990) 2011-02-04 20:55:41 +00:00
Justin Clark-Casey (justincc) 1613d89383 minor: Correct misspelling of neighbour in log messages.
Thanks Fly-Man-
2011-02-04 20:51:51 +00:00
Justin Clark-Casey (justincc) ba8826d2b8 Fix "set log level" to once again display current log level if it's not given a parameter
This addresses http://opensimulator.org/mantis/view.php?id=5345
2011-02-04 17:11:35 +00:00
Justin Clark-Casey (justincc) c1665cfe9c Make UUID 3a367d1c-bef1-6d43-7595-e88c1e3aadb3 reference a full alpha texture.
SL's viewer and some downstream projects assume that this UUID points to a full alpha texture, as per
http://opensimulator.org/mantis/bug_view_advanced_page.php?bug_id=4751 and
http://forums.kokuaviewer.org/viewtopic.php?f=8&t=1323

If the request isn't satified, some viewers will continuously make the request.
2011-02-03 22:34:10 +00:00
Mic Bowman cf24069227 Change UpdateAgent (for changes in agent position) to be sent
once to each simulator rather than once to each region. This
should help with some of the delays caused by multiple outstanding
requests to a single service point.
2011-02-03 12:43:46 -08:00
Diva Canto 8fdc810a23 Addresses mantis #5360: CreatorData was being written as long as it wasn't null. This made iars backwards incompatible when some items had non-null foreign creators. This patch adds an explicit option (-c) to preserve foreign creator information. 2011-02-03 04:07:36 -08:00
Justin Clark-Casey (justincc) 4f7cf491e6 Comment out texture CAPS 'texture not found' message for now 2011-02-02 20:02:10 +00:00
Justin Clark-Casey (justincc) 2413e9eb3f Record number of resent packets in LindenUDP stack and display in stats report 2011-02-02 20:00:50 +00:00
Justin Clark-Casey (justincc) 2344150b6e Stop double counting dequeued packets for packets sent number
This is already being incremented in LLUDPServer.SendPacketFinal for every packet
2011-02-02 19:39:33 +00:00
Justin Clark-Casey (justincc) 0898be5750 Change SimianGroupsServicesConnectorModule.GetAgentGroupMembership() so that it returns null if the user isn't a member of the group.
This matches the behaviour of the same method for Flotsam Groups.  This is the behaviour assumed by existing code.
Method doc also added to IGroupsServicesConnector to the make the contract clear.
2011-01-31 22:54:36 +00:00
Melanie 8f008f394d Flash out the prim count module 2011-01-29 04:27:20 +00:00
Melanie e7d5ff9bd2 Create the structure of classes and interfaces to replace the cruft that
is in the land management module today
2011-01-29 02:24:27 +00:00
Melanie 0936455725 Adding the prim count module skeleton 2011-01-28 23:44:17 +00:00
Melanie 38bfdb0c9d Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-01-28 23:22:16 +00:00
Melanie 5942385d0e Add the prim count interfaces 2011-01-28 23:21:41 +00:00
Justin Clark-Casey (justincc) 933f47e89d Comment out unused call to GridService in TeleportAgent() 2011-01-28 22:59:07 +00:00
Justin Clark-Casey (justincc) a4acf485d7 minor: don't bother reparsing the sources for includes if ReadConfig() was unsuccessful 2011-01-28 22:50:49 +00:00
Justin Clark-Casey (justincc) 1fcb919798 If a non-globbed included file from config cannot be found then warn the user 2011-01-28 22:46:29 +00:00
Justin Clark-Casey (justincc) 810f4b9835 Add groups cache timeout setting for Flotsam Groups back to OpenSimDefaults.ini 2011-01-28 22:07:35 +00:00
Justin Clark-Casey (justincc) ab1ec3c3cc minor: remove a few mono compiler warnings 2011-01-28 21:51:25 +00:00
Kevin Cozens a0380af18f Display supported file extensions/formats in "terrain load help" (Mantis #5349) 2011-01-28 21:24:05 +00:00
Kevin Cozens 9798b044fe Added loading and saving of terrain files using Terragen format (Mantis #1564)
Terrain files can now be loaded and saved using the Terragen (.ter) format.
Selection of the terrain file loader to use is now based on the extension
of the filename being loaded and the data is loaded using a memory stream
instead of writing it to a file and then loading it from the file.
2011-01-28 21:19:53 +00:00
Melanie ab48caad08 Make the new style stuff compatible with the older revision 2011-01-28 05:25:53 +00:00
Melanie 188d86998d Fix up QueryAccess to also check parcels 2011-01-28 04:09:04 +00:00
Melanie d90b0c53ec Fix bumping into sim borders and check estate bans for walking crossings 2011-01-28 02:38:14 +00:00
Melanie 80bf95b7b4 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-01-28 02:34:45 +00:00
Melanie 5a0cb7d37e Thank you, Goetz, for a patch to fix prim count display in cut regions. 2011-01-28 02:34:07 +00:00
Justin Clark-Casey (justincc) f9ea5e69c5 Refactor: Break out LoadObjects() and LoadParcels() from a longer method 2011-01-27 21:07:21 +00:00
Justin Clark-Casey (justincc) 19e4473a97 Put confirmation on "land clear" command to avoid nasty accidents 2011-01-27 20:57:59 +00:00
Justin Clark-Casey (justincc) be3685b1a2 When an oar is loaded, do not create a default parcel before loading the parcels from the OAR.
The region spanning parcel shouldn't exist in this situation.  If it does, when the land data is loaded it is repersisted with a local ID which comes after the ones loaded via the oar, which obliterates the oar loaded one.

Resaving the data we just loaded from the database is somewhat odd in itself (though this makes sense from the way that OAR loading was already using the same event).
2011-01-27 20:36:50 +00:00
Justin Clark-Casey (justincc) 42c0dbf49a Show local IDs in "land show" output.
Also properly insert region name in "land clear" command
2011-01-27 20:11:30 +00:00
Justin Clark-Casey (justincc) ab9a0f2f1d Add "land clear" command
This clears all parcels from the currently selected region and replaces them with the single region spanning default parcel owned by the estate owner
2011-01-27 19:37:20 +00:00
Justin Clark-Casey (justincc) 5a26dc2743 Fix OAR parcel loading so that old parcels are replaced by the new instead of merged.
The --merge switch will still merge the old and new land parcelling.
2011-01-27 18:48:48 +00:00
Justin Clark-Casey (justincc) e33cb3db93 remove unused CreateBaseLand() 2011-01-27 16:50:41 +00:00
BlueWall d89d9d1b13 Merge branch 'master' of /home/opensim/src/OpenSim/Core 2011-01-27 08:53:57 -05:00
Melanie b0f641fa15 Make it work 2011-01-27 06:41:07 +00:00
Melanie 17801bd78b Add a TeleportFlags member to SP so we can tell how we got there. 2011-01-27 05:33:46 +00:00
Melanie adb341e32f Also set Godlike flag. Might be useful 2011-01-27 05:33:01 +00:00
Melanie 61b67b2ead Add TeleportFlags.ViaRegionID to the flags sent on login when the region
was entered by hand to determine whether or not to honor the landing
point
2011-01-27 05:32:54 +00:00
Mic Bowman 2bab8e5538 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-01-26 13:35:21 -08:00
Mic Bowman 240c0eaf1d Remove the RestorePresences functions (which don't seem to be doing
anything) and clean up the code in AddNewClient (so Appearance only
gets assigned once, not three times).
2011-01-26 13:33:34 -08:00
Justin Clark-Casey (justincc) 8eb2789ae1 Add some comments on ILandObject.StartPoint and EndPoint 2011-01-26 21:19:22 +00:00
Justin Clark-Casey (justincc) a0469daf75 Implement command "land show". This shows all the parcels on the currently selected region/s
This is useful for diagnostics.  The command is "land show" rather than "show land" because it's implemented as a module specific subcommand.
2011-01-26 21:12:41 +00:00
Mic Bowman c4727645b8 Removed a few more spurious appearance saves. When an avatar
enters a region the attachments module tries to update the
appearance with attachments that are already part of the appearance.
Just added a check to only save if the attachments weren't there
before.
2011-01-25 14:23:58 -08:00
Melanie b91c99b596 Fix script data not being reset as it should be 2011-01-24 03:07:01 +00:00
Diva Canto cc39d0bf4e Fixes mantis #5343 2011-01-23 14:47:58 -08:00
Justin Clark-Casey (justincc) a32381cb9b stop extremely old region serialization commands from appearing in the console
as far as I know these are unused and unsupported.  Please re-enable if this is not the case.  This does not effect save-xml[2]/load-xml[2]
2011-01-22 00:27:34 +00:00
Justin Clark-Casey (justincc) cb14e1d272 Update the "config get <section> <key>" command to "config get [<section>] [<key>]"
The config get command shows a current config value on the console.
Now, if <key> is omitted then all the values for the given section are printed.
If <section> is ommitted then all sections and all keys are printed.
Current config can also be dumped to a file using "config save <path>".  This can be handy for resolving or eliminating config issues
2011-01-21 23:59:55 +00:00
Justin Clark-Casey (justincc) 41105948bd remove some mono compiler warnings 2011-01-21 23:19:52 +00:00
Justin Clark-Casey (justincc) e44ceaaea3 make "show info" and "show version" show the same version text 2011-01-21 23:07:19 +00:00
Justin Clark-Casey (justincc) 43f948d691 add current console log level to "show info" 2011-01-21 23:05:53 +00:00
Justin Clark-Casey (justincc) bf5ec8cb88 remove some mono compiler warnings and unnecessary dictionary instantiations 2011-01-21 22:51:52 +00:00
Justin Clark-Casey (justincc) 5f3f7c3405 minor: remove unnecessary newline from "show throttles" information 2011-01-21 22:48:49 +00:00
Justin Clark-Casey (justincc) 6ef7ea454c Remove old 2 year unused linden stack region module shell 2011-01-21 22:48:04 +00:00
Justin Clark-Casey (justincc) 9971fdbcd5 properly format "show throttles" table 2011-01-21 22:31:46 +00:00
Justin Clark-Casey (justincc) 38debbc59f crudely refactor table generation code for "show queues" and "show throttles" 2011-01-21 00:56:37 +00:00
Justin Clark-Casey (justincc) c383dbd06d implement "show throttles" command for showing current agent throttles and the server settings.
This is in a very crude state, currently.
The LindenUDPModule was renamed LindenUDPInfoModule and moved to OptionalModules
OptionalModules was given a direct reference to OpenSim.Region.ClientStack.LindenUDP so that it can inspect specific LindenUDP settings without having to generalize those to all client views (some of which may have no concept of the settings involved).
This might be ess messy if OpenSim.Region.ClientStack.LindenUDP were a region module instead, like MXP, IRC and NPC
2011-01-21 00:38:16 +00:00
Justin Clark-Casey (justincc) 58eb6b5fa3 minor: help text adjustment for "show queues" 2011-01-20 23:22:45 +00:00
Justin Clark-Casey (justincc) df740d8e5c remove reference to CoreModules from ClientStack.LindenUDP
client stack uses modules in the same way that scene does - through their interfaces
2011-01-20 23:21:25 +00:00
Justin Clark-Casey (justincc) 1baf63dbae Move "show queues" command out of OpenSim.cs and into a separate module. 2011-01-20 22:57:12 +00:00
Justin Clark-Casey (justincc) f50780f4c2 remove unimplemented "show assets" command 2011-01-20 21:56:48 +00:00
Justin Clark-Casey (justincc) b0aebc6f3d minor: make "show info" help slightly clearer 2011-01-20 21:41:48 +00:00
Justin Clark-Casey (justincc) d3dca7d25a For now, comment out logging messages about IM sending, since these cause high spam for large group messaging 2011-01-19 01:50:02 +00:00
Justin Clark-Casey (justincc) 28fda1cab6 with mic's permission, reduce appearance, baked texture logging verbosity for now 2011-01-19 01:41:32 +00:00
Justin Clark-Casey (justincc) a42faca5b9 With mic's permission, adjust long call time info messages to 500ms from 200ms 2011-01-19 01:13:10 +00:00
Justin Clark-Casey (justincc) 97c0430093 Downgrade and comment out some other caps messages for now 2011-01-19 01:10:09 +00:00
Justin Clark-Casey (justincc) 7f000ea88e Correct "show queues" to show queued packet numbers for each client instead of bytes.
Byte amounts aren't actually available - this was a misunderstanding of TokenBucket.Content.  But raw packet numbers are.
2011-01-19 00:33:25 +00:00
Melanie 9f7b37b37c Fix build break 2011-01-18 01:48:37 +00:00
Melanie 06e225bc0b Also fix MySQLXInventoryData 2011-01-18 01:31:14 +00:00
Melanie ac16a49ca0 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-01-18 01:27:11 +00:00
Diva Canto f73c90c633 Put the 'new' back to avoid a warning. Yes, we want to hide it. 2011-01-17 17:52:03 -08:00
Diva Canto a07375a7ae Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-01-17 17:41:06 -08:00
Diva Canto c98d1cffe2 Removed the call to sceneViewer.Reset upon MakeRoot and ChildAgentUpdate, because Reset hangs for a long time waiting for the lock. That is a problem in itself -- that long holding of the lock by some thread -- but let's just avoid it altogether. 2011-01-17 17:40:48 -08:00
Melanie 75644e0f6e Prevent activation and deactivation of gestures from clobbering the slam
bits
2011-01-18 01:26:42 +00:00
Melanie 31144a62b3 Change gesture activation to not quash any other flags 2011-01-18 01:26:37 +00:00
dahlia 624bf23abb force objectId to UUID.Zero for non-overridden animations in AvatarAnimation packet 2011-01-17 16:39:53 -08:00
Justin Clark-Casey (justincc) 3083c517a0 minor: resolve some mono compiler warnings 2011-01-18 00:29:10 +00:00
Justin Clark-Casey (justincc) c544f0d0c5 Prune some of the excess logging for client logins.
Didn't touch the appearance related stuff.
2011-01-18 00:25:24 +00:00
Justin Clark-Casey (justincc) 523628dca3 minor: remove mono compiler warnings 2011-01-18 00:14:58 +00:00
Justin Clark-Casey (justincc) 8233ef25ba Reduce amount of debug lopgging put out by some simiangrid connectors. Please re-enable if needed. 2011-01-18 00:10:34 +00:00
Justin Clark-Casey (justincc) 6e58996b4d refactor: remove redundant null checks 2011-01-17 23:57:50 +00:00
Justin Clark-Casey (justincc) 81552099d6 Fix UnackedBytes client stack statistic as seen in "show queues"
Bytes were being wrongly added again on a resend
2011-01-17 23:45:25 +00:00
Diva Canto 37837850d3 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-01-17 13:12:46 -08:00
dahlia aecaadd3bd objectId in AvatarAnimation packet should be UUID.Zero for non-overridden animations 2011-01-17 13:10:09 -08:00
Diva Canto 4bcee1dfb4 Revert "DEBUG DEBUG DEBUG"
This reverts commit 59c2cd04ba.
2011-01-17 13:07:02 -08:00
Diva Canto 59c2cd04ba DEBUG DEBUG DEBUG 2011-01-17 12:35:19 -08:00
Diva Canto 5e35651efc Protect World Map module, RequestMapItemsAsync, from badly formed URLs. 2011-01-17 11:45:13 -08:00
Diva Canto 479d72ac97 Account for some component along the way lower-casing the HTTP header keys. (XFF header issue) 2011-01-17 11:37:39 -08:00
Diva Canto 0aeb8981b2 Brute force debug for XFF issue 2011-01-17 11:19:20 -08:00
Diva Canto 66f99ae267 More debug messages to help track the XFF header problem. 2011-01-17 11:03:46 -08:00
Melanie 30320077a2 Fix slam bits being lost when editing perms in prim inventory 2011-01-14 03:20:47 +00:00
BlueWall 69c8cc787f Make FireAndForgetWrapper a singleton class
Made FireAndForgetWrapper a singleton class to allow us to drop
	dependancy on the BclExtras35 library. BclExtras is broken in
	Mono 2.8.2 and we used the library in only one function.
2011-01-13 19:52:34 +00:00
BlueWall b341bc0908 Make FireAndForgetWrapper a singleton class
Made FireAndForgetWrapper a singleton class to allow us to drop
	dependancy on the BclExtras35 library. BclExtras is broken in
	Mono 2.8.2 and we used the library in only one function.
2011-01-13 11:39:50 -05:00
Melanie 705f4e1e4b Dont' trust the viewer! Fix a permission slam error caused by trusting
the viewer too much.
2011-01-12 21:46:49 +00:00
Melanie 914e4b319e Fix direct item give permissions 2011-01-12 21:39:13 +00:00
Melanie f75a3ee762 Use ToString() rather than a cast (more robust) 2011-01-12 21:25:51 +00:00
Melanie 7cfe17b5b3 Partial permissions fix for boxed items. 2011-01-12 21:25:38 +00:00
Melanie dd154f7403 Fix god mode perms adjustment 2011-01-12 21:21:34 +00:00
Diva Canto e80bcc0049 Improved debug messages to track what is going on with the XFF header 2011-01-09 16:52:41 -08:00
Diva Canto 0fabe0e5a5 Added more debug messages under the -verbose option. 2011-01-08 16:33:33 -08:00
Diva Canto 35a2961ccd Added a -v|verbose option to save iar. 2011-01-08 16:17:00 -08:00
Diva Canto 9d9a170571 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-01-08 15:50:25 -08:00
Diva Canto eab0951a59 Fixes the issue of hung archives. Problem was with SceneObjectSerializer.
Also fixes a buglet in scene load xml command, where it was given the wrong argument index for filename.
2011-01-08 15:49:51 -08:00
Mic Bowman ec22560045 Merge branch 'cmickeyb' 2011-01-08 13:33:52 -08:00
Mic Bowman df7fb207a8 Moved the map tile processing used by the Simian Grid
Frontend into a separate region module. Configuration
settings added to the defaults ini file. Others may find
this useful for pushing map tiles to a separate server.
2011-01-08 13:33:07 -08:00
Diva Canto a1c5de0f94 Try to fix a IAR problem reported by nebadon, where save iar seems stuck forever. 2011-01-07 12:32:47 -08:00
Diva Canto 02e661f8dd Minor additional debug message. 2011-01-07 11:39:22 -08:00
Diva Canto 8c0e156b4d Make HG map search consistent with new syntax for link-region, i.e. http://foo.org. Old syntax (foo.org) is still supported, but has surprising results when ppl search again, because internally the HG link names start with http. 2011-01-07 11:38:54 -08:00
Diva Canto c18bcf3d8d A bit more frugal on the caller side of closing agents, now that the receiving end is async. No need for so much concurrency. 2011-01-07 10:25:49 -08:00
Diva Canto 52f88f5739 Spawn a threadlet upon receiving requests to close agents. The operation may take too long, and we don't need to keep the caller waiting. 2011-01-07 10:04:39 -08:00
Diva Canto 32a3f330ed Canonicalize URL endings for the UserAgentServiceConnector. 2011-01-06 17:42:16 -08:00
Diva Canto fda56618e1 Deal with possibly un-initialized scripts in object transfers. Mantis #5310 2011-01-06 16:17:43 -08:00
Diva Canto 81587466e7 Map search: changed the flag sent to the client. It was 2 (???), now it's 0. This makes HG map tiles work on map search -- a longstanding annoyance. My map search tests were all ok, but since I don't understand these flag values, this may break something related to map search. 2011-01-06 12:53:54 -08:00
Diva Canto 21dedb573b HG map tile fetch: handle cached images appropriately. 2011-01-06 12:48:28 -08:00
Diva Canto 5b43f9cac4 HG bug fix. Must wait for client's UDP contact before getting scene presence. 2011-01-06 12:47:13 -08:00
Mic Bowman d3ebf64369 Merge branch 'master' into cmickeyb 2011-01-05 15:01:53 -08:00
Mic Bowman 0b44e99730 comment out a couple simian debug messages 2011-01-05 14:51:11 -08:00
Mic Bowman 984a9b4085 Added more performance checks to the HTTP server. Each request
coming through the WebUtil fns has a request id in the header
that can match the request to the actual work done by the service
2011-01-05 14:32:00 -08:00
Diva Canto 17ebe8fb77 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-01-05 07:14:45 -08:00
Diva Canto 0c165bc421 Commented a verbose Debug message in LLUDPServer that got uncommented at some point. 2011-01-05 07:14:09 -08:00
Justin Clark-Casey (justincc) 4ac58093bf Make the default for the very verbose XMLRPC groups debug setting false rather than true! 2011-01-04 23:23:42 +00:00
Diva Canto fbde9b1136 Note to self: try to make only 3 things at the same time. 2011-01-04 11:33:15 -08:00
Diva Canto db55859125 Guard against null Animator. 2011-01-04 11:30:08 -08:00
Mic Bowman 6a5d52b4c8 removed the early return on agentupdates, this was debugging code 2011-01-04 09:12:32 -08:00
Mic Bowman e0da281e3d Cleaned up debugging messages in the WebRequest handlers 2011-01-03 17:16:22 -08:00
Mic Bowman d3987024d7 Merge branch 'master' into cmickeyb 2011-01-03 17:05:24 -08:00
Melanie 5286198650 Add permissions hooks for object transfers 2011-01-03 19:42:58 +00:00
Melanie 07cc032081 Allow cross-scope friendships to work, and also allow other cross scope name
resolution
2011-01-03 19:42:46 +00:00
Melanie e1664b8d38 Fix child agent scoping 2011-01-03 19:42:26 +00:00
Melanie c48ddbfef1 Fix scoping for prim region crossings 2011-01-03 19:41:02 +00:00
Melanie 9971766256 Implement Scope ID lookup on GetLandData. Stacked regions were not handled
properly
2011-01-03 19:40:55 +00:00
Mic Bowman df5e4a1e5b Standardize the way WebRequests are made in the SimulationServiceConnector. Added
debugging calls for tracking performance of web requests.
2010-12-29 20:47:51 -08:00
Melanie 1f4d0ad460 Fix up a prior fix (refix the fixed fix :) 2010-12-30 02:31:05 +00:00
Melanie a32f80b9e3 Implement SendPlacesReply 2010-12-30 01:36:09 +00:00
Diva Canto d42e0c39fc Bug fix in neighbors: serverURI now always has a trailing '/'... neighbors were not getting notified. 2010-12-29 07:36:39 -08:00
Myan Thor 915c0b17b0 fixes a problem with ending slashes in GatekeeperService to verify session-addresses 2010-12-29 06:03:43 -08:00
Mic Bowman 94ed69b1da Update SimianGridServicesConnector to work more like
a connector so we can take advantage of the logic in
RemoteGridServicesConnector.
2010-12-27 17:18:49 -08:00
Diva Canto 6386dfd362 No need for these methods to be virtual now. 2010-12-27 16:26:29 -08:00
Diva Canto f801d50a8a WARNING: simulator config var change! This affects only system-facing configs. Nothing to do if you follow the rules of not messing with Grid.ini and GridHypergrid.ini.
Change the remote Grid region module so that it takes the network connector as a config variable. This allows the region plugin to be reused for both Robust and Simian network connectors.
2010-12-27 15:25:08 -08:00
Mic Bowman b16173e3e8 Drop the static from default wearables. It isn't
static.
2010-12-27 12:43:54 -08:00
Diva Canto 06077f775f Fixes mantis #5279 2010-12-25 08:28:42 -08:00
Diva Canto b23b29a53e This fixes mantis #5198 and related. Physics is not my expertise, so I'm not 100% sure of what all the consequences of this change are. Pushing up, so others can take a look. 2010-12-24 16:23:00 -08:00
Diva Canto 3eaaaa0d99 One more pass at object inventory. This time, fix SceneObjectPartInventory so that it makes sure that the file is added to Xfer's before it signals the client to come and get it. This allows the simplification of the logic of Xfer's. 2010-12-24 08:50:00 -08:00
Diva Canto 135b012bbd Hopefully this fixes all prim inventory issues. No more abort, no more keeping track of time. Simply handle the issues, which are: (1) rapid double requests from the viewer for the same file; (2) sometimes the file generation takes too long and the Xfer request arrives at the XferModule before the file name is added.
This still has debug messages commented out, in case this needs more debugging. Pushing it so others can test.
2010-12-23 19:31:37 -08:00
Teravus Ovares (Dan Olivares) d829580e5e Merge branch 'master' of ssh://MyConnection/var/git/opensim 2010-12-23 13:17:55 -05:00
Teravus Ovares (Dan Olivares) c108968020 * Cleanup from a commit a while ago. 2010-12-23 13:17:33 -05:00
Diva Canto bc67bc0d94 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-12-23 10:05:45 -08:00
Diva Canto 54418c5e69 Removed unused code -- this was the previous version of UDP texture sending, which now lives entirely in LindenUDP space. 2010-12-23 10:05:08 -08:00
Melanie 26e601a776 Put back a commented section of code. With some viewers, object inventory
transfers just don't start without it. Observed my Nebadon and yours truly.
2010-12-23 11:50:53 +00:00
Teravus Ovares (Dan Olivares) 46db73b62b * Re-Adding Scene TimeDilation to Object Update Packets.
* Added Calculating Time Dilation in the OdePlubin
* When multiple object updates are stuffed into one packet, average the time dilation between them as a compromise.
* Time Dilation on the update is calculated when the EntityUpdate object is created.  The pre-calc-ed TD is stored in the Entity update and used when it goes out on the wire.  Previously, it was 1.0 all the time. The time dilation is tied to when the update is created, not when the update is sent.
2010-12-23 03:30:09 -05:00
Diva Canto 862da9a55f Added a counter to NewFiles in Xfers to account for simultaneous object inventory requests, which apparently are happening and may cause race conditions if the file name is removed after the first transfer. 2010-12-22 17:55:58 -08:00
Melanie f29675bf87 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-12-22 17:35:12 +00:00
Diva Canto 2d8f448322 Fixed wrong argument cardinality in debug message. 2010-12-22 10:42:29 -08:00
Melanie 990e73d7cb Fix a broken format on an error message. Also replace yet another e.Message
with e.ToString(). e.Message is USELESS, it doesn't tell us what happened
where, we should use e.ToSTring() everywhere
2010-12-22 17:33:06 +00:00
Teravus Ovares (Dan Olivares) 25ecd62b1f * Adds AbortXfer to the ClientAPI mix
* Adds an item that checks to see if the top request has been there for longer then 30 seconds without an update and sends an AbortXfer if it encounters one.   This allows the client to cancel the Xfer on it's side so you can re-select the prim and get the inventory when it fails the first time.
* Some interesting locking...    Using NewFiles to lock the rest of them.   We'll see how that goes.
* The goal of this is to ensure that Xfers are restartable when they fail.  The client will not do that on it's own.
2010-12-21 19:15:44 -05:00
Melanie 1c3e77b728 What is the point of using different types to express the same damn thing? 2010-12-21 22:58:52 +00:00
Melanie 19181c019a Another good catch. Update file name serial. 2010-12-21 22:56:48 +00:00
Melanie ec8d1d0131 Added a missed return. Thanks diva! 2010-12-21 22:49:38 +00:00
Melanie a31b96e1ba Fix up merge artifacts 2010-12-21 20:54:28 +00:00
Melanie 043dace118 Make prim inventories a bit more sane 2010-12-21 20:49:31 +00:00
Mic Bowman a6a136bd90 Shooting in the dark for solutions to the appearance problem 2010-12-20 14:24:52 -08:00
Diva Canto c082254b9d Put the coarse location updates back to 50 frames, otherwise the dots on the mini-map come and go noticeably. Also increased the Velocity a bit; I had decreased it to 0.885; now it's 0.9. 2010-12-19 19:29:07 -08:00
Marck 711283d3ca More changes to the long help text for console command link-region. 2010-12-20 02:50:19 +01:00
Marck 3b4af8a0dc Fix osTeleportAgent and osTeleportOwner for the case that GridService is used with a storage provider other than NullRegionData. 2010-12-20 02:09:35 +01:00
Marck 2a40c8511a Make long help text for new link-region command syntax more explicit. 2010-12-19 22:59:32 +01:00
Diva Canto cf72fece6d Replaced the HttpServer_OpenSim.dll with one compiled for .NET 3.5 (the last one was 4.0, and that doesn't work). Also added the corresponding .xml and .pdb, if that makes any difference. 2010-12-18 18:23:51 -08:00
Diva Canto d576d7c0a6 Replaced HttpServer_OpenSim.dll with a version that locks certain ops in HttpForm -- mantis #5128. 2010-12-18 17:36:37 -08:00
Justin Clark-Casey (justincc) 223264047e uncomment "load iar" help lines which added the --merge option 2010-12-18 00:59:37 +00:00
Justin Clark-Casey (justincc) bf9555eaee minor: add [-p|--profile=<url>] to usage line that pops up if save iar console command isn't valid 2010-12-18 00:57:09 +00:00
Justin Clark-Casey (justincc) ef43f98686 Raise maximum iar version that master can load to 1.x, so that it can load its own iars (oops) 2010-12-18 00:45:56 +00:00
Melanie b32dcc6913 Fix notecards that end with an embedded object causing an exception 2010-12-17 22:50:00 +00:00
Justin Clark-Casey (justincc) 5782f5662b remove now unused subversion serialization backup config 2010-12-17 23:06:55 +00:00
Justin Clark-Casey (justincc) 490d05d212 remove broken and unmaintained subversion serialization module and it's associated libraries and licenses 2010-12-17 23:04:07 +00:00
Justin Clark-Casey (justincc) 3d32f05cde remove mono compiler warning: if (sop.Color != null) always returns true as sop.Color is a value type. 2010-12-17 22:40:11 +00:00
Justin Clark-Casey (justincc) 3b1c91c24b remove mono compiler warnings 2010-12-17 22:35:08 +00:00
Justin Clark-Casey (justincc) 0913d43c50 minor: 'debug packet' console command level <= 50 then don't log ImprovedTerseObjectUpdate messages 2010-12-17 22:29:43 +00:00
Justin Clark-Casey (justincc) 19f70b93a0 tidy up the [Groups] section in OpenSim.ini.example 2010-12-17 21:19:57 +00:00
Justin Clark-Casey (justincc) 0745d65344 Put in locks on m_killRecord to replace changed locks on m_entityUpdates.SyncRoot
These locks are necessary to avoid a delete/update race condition for scene objects.
However, since we're now locking on m_killRecord this shouldn't cause delays to m_entityUpdates reprioritization
2010-12-15 23:11:42 +00:00
Diva Canto ed26376ec5 Yet more things out of the main Update thread loop and into threadlets. This time, SendPrimsUpdate. Plus a few more tweaks on triggering actions from the Update loop. #LoginLag. 2010-12-14 20:15:26 -08:00
Diva Canto 74c68474e0 Another attempt at moving heavy computation away from the Update loop. #LoginLag 2010-12-14 18:44:26 -08:00
Diva Canto e3262ef5ac Commented out the UpdateLand call from the Update thread loop, because this may be causing the #LoginLag. Attachments taint the prim count. Twice. Each. 2010-12-14 17:50:37 -08:00
justincc eb07dfc900 Fix windows compile break 2010-12-15 01:06:20 +00:00
justincc b643661938 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-12-15 00:35:36 +00:00
justincc d0576f39e0 replace ode.dll with one built without asserts turned on 2010-12-15 00:35:00 +00:00
Justin Clark-Casey (justincc) 6b135ee371 fix mistake in last change of local.include 2010-12-15 00:14:43 +00:00
Diva Canto 9d0339e8f9 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-12-14 16:04:46 -08:00
Diva Canto a4309578e2 Another stab at #LoginLag. Looking forward to hear the feedback! This makes updates for self movement as absolute top priority, going in to the unthrottled category. Self only, not other avies. 2010-12-14 16:04:28 -08:00
Justin Clark-Casey (justincc) 5f8c660489 add new optionalmodules test dll to panda test run (and nant test command) 2010-12-14 23:58:39 +00:00
Justin Clark-Casey (justincc) 3643be1c97 Rename SceneObjectUserTests to SceneObjectDeRezTests to better reflect its contents 2010-12-14 23:46:02 +00:00
Justin Clark-Casey (justincc) 92727ad596 minor: disable debug logging for previous test 2010-12-14 23:41:36 +00:00
Justin Clark-Casey (justincc) 8a5f9b91de Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-12-14 23:39:21 +00:00
Justin Clark-Casey (justincc) 81bccd6d13 Start implementing a test for 'share with group' object functionality. Not yet complete.
While implementing this, a bug was fixed in scene setup helpers where module RegionLoaded() was called immediately after AddRegion() instead of waiting for all AddRegions() to complete.
Also, XmlRpcGroupsModule non-message functionality will now work without a message transfer module (as indicated in the comments but with a contradictory implementation)
2010-12-14 23:36:34 +00:00
Justin Clark-Casey (justincc) 42c9c30e4c Add mock group services connector and use this in tests 2010-12-14 22:57:36 +00:00
Justin Clark-Casey (justincc) c620e4c822 add infrastructure for groups module tests 2010-12-14 22:25:01 +00:00
Diva Canto ff8ff773e7 Relax a highly constraining lock on m_entityUpdates that may be preventing reprioritizations from actually happening. #LoginLag 2010-12-14 12:58:32 -08:00
Diva Canto 10ae5454cb Made the map thread request the map items asynchronously, as the name suggested -- but with a cap of 20 async requests max at any given time. 2010-12-14 12:16:51 -08:00
Diva Canto 4357288a94 More on mantis #5270 2010-12-14 11:24:23 -08:00
Diva Canto 55e04e6c68 Fixes mantis #5270 -- Map tiles for hyperlinks not showing in world map for grided sims. 2010-12-14 08:11:49 -08:00
Melanie e47cc10674 Null checking ParentGroup is not needed. It can't be null. 2010-12-14 12:07:35 +00:00
Diva Canto 4bdba0a487 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-12-13 21:36:08 -08:00
Diva Canto b41164b620 This seems to get rid of the stuck PREJUMP animation, as reported by Justin in -dev. Also in this commit, a slight adjustment to the Velocity of SP -- this makes the avie walking feel less jerky for me. Will wait reports from others. 2010-12-13 21:35:40 -08:00
Justin Clark-Casey (justincc) e08da02a0f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-12-14 00:12:17 +00:00
Justin Clark-Casey (justincc) e62b3dba8a reinstate IAttachmentsModule.UpdateAttachmentPosition() since this is being used by a 3rd party region module and contains non-obvious attachment specific code
There are no functional changes.  UpdateAttachmentPosition() is adapted to the new approach of only saving attachment state on logout
2010-12-14 00:11:41 +00:00
Melanie 2a9f095071 Fix a small bug in ban list handling 2010-12-13 22:14:34 +00:00
Melanie 9bd7f3b03a Revamp the viewer -> banlist packet processing so fix a number of bugs.
Remove the too coarse CanEditParcel method in favor of a CanEditParcelProperties
method that takes a GroupPowers argument to specify what action is to be
taken. Also, make the method to set parcel data much more granular. Permissions
in a deeded setting should now work.
2010-12-13 20:35:56 +00:00
Melanie d6803e6448 Change some lookups in he Land Management module to make group permissions
work better. Add a generic group permissions hoot to the scene permissions
system.
2010-12-13 20:28:14 +00:00
Marck a4588befb7 Changed logging level for message about failure to retrieve a map image from a linked region. 2010-12-13 22:00:34 +01:00
Marck 9a24c0b41c Show map tile for hyperlinks. Perform Check4096 before adding a hyperlink.
Configuration option AssetService in section [GridService] must be set to enable this functionality.

Map tiles do currently not show for hyperlinks set in simulators that are connected to grids, see Mantis #5270.
2010-12-13 21:20:48 +01:00
Diva Canto 6b8d01d8c4 It turns out that the 1/2 sec burst for prims download is not a bug, but a feature of the client. The client sets the throttles in such a way that makes the server behave like that. The same happens in the Linden Grid.
Revert "This may have been the biggest, baddest bug in OpenSim ever... confusion between bytes per second and bytes per millisecond."

This reverts commit 870bbcfc6c.
2010-12-13 11:45:17 -08:00
Diva Canto fe6c655f70 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-12-13 09:43:54 -08:00
Diva Canto 870bbcfc6c This may have been the biggest, baddest bug in OpenSim ever... confusion between bytes per second and bytes per millisecond. 2010-12-13 09:42:27 -08:00
Marck 7f0350b988 Trigger event with flag CHANGED_LINK when agent sits on objects that have not a sit target defined. This fixes Mantis #4692. 2010-12-12 20:12:34 +01:00
Diva Canto 8ea4933742 Fixed wrong configuration variable names. 2010-12-11 18:17:07 -08:00
Diva Canto 4d16ecf889 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-12-11 17:07:08 -08:00
Diva Canto 797ca8d0e7 Fixes the nudge movements! 2010-12-11 17:06:17 -08:00
Marck 69538d14d4 More OSSL function name normalization, this time for osParcelSetDetails. 2010-12-11 11:41:45 +01:00
Diva Canto c42876df67 Revert "Another stab at mantis #5256"
This reverts commit ccb4f958c0.
2010-12-10 23:32:50 -08:00
Diva Canto 18b10fab60 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-12-10 23:16:47 -08:00
Diva Canto ccb4f958c0 Another stab at mantis #5256 2010-12-10 23:16:26 -08:00
Justin Clark-Casey (justincc) b46de6e025 Remove the restriction that you have to be logged in when loading/saving iars
This is pointless as we're supplying the password on the command line
2010-12-11 03:09:00 +00:00
Justin Clark-Casey (justincc) 387f743993 If we're saving an IAR with --profile information, then label this a version 1.0 IAR since it isn't compatible with older OpenSim releases. 2010-12-11 02:18:16 +00:00
Justin Clark-Casey (justincc) 373ef594ba Drop current OAR version back to 0.5 since these are currently now compatible with older OpenSim versions again.
Removed ability to choose 0.4 to avoid having to write code that polices this properly.  Please shout on the ml if you really need this.
2010-12-11 01:57:32 +00:00
Marck b512ecd1dc Normalization of OSSL function names.
Added the following replacement functions for compliance to the OSSL standards stated on the wiki:
osGetTerrainHeight
osSetTerrainHeight
osGetSunParam
osSetSunParam
osSetPenColor

The functions that do not comply to the standard give a warning when used but work normally otherwise.

The graphics primitive drawing command "PenColor" has also been added as well as dynamic texture parameter "bgcolor" as an alternative to "bgcolour".

The following two functions have been renamed because they are not enabled yet aynway:
osWindParamSet => osSetWindParam
osWindParamGet => osGetWindParam
2010-12-10 22:20:35 +01:00
Diva Canto d8fd917076 Revert "A stab at mantis #5256. Separate ScenePresence updates from SceneObject updates, and place them in different queues."
This reverts commit f84905e294.
2010-12-10 12:40:12 -08:00
Diva Canto 58b251506c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-12-10 11:33:09 -08:00
Diva Canto f84905e294 A stab at mantis #5256. Separate ScenePresence updates from SceneObject updates, and place them in different queues. 2010-12-10 11:32:46 -08:00
Marck 6f37290f4c Adjust hypergrid console commands to latest changes. 2010-12-10 17:48:45 +01:00
Justin Clark-Casey (justincc) 3ef9a4da9a update libode for 64 bit linux to r1755 (post 0.11.1) from ode 0.10.1
the same thing was actually done for ode.dll a couple of commits ago but I got the commit msg wrong (should have been r1755, not r1754).  Damn these fat fingers.
2010-12-10 03:51:33 +00:00
Justin Clark-Casey (justincc) a918c8df97 fix the minimap sitting avatar location bug
a sitting avatar should have it's offset position added to the scene object, not its absolute position
2010-12-10 03:46:16 +00:00
Justin Clark-Casey (justincc) 3053f5ba7d minor: remove some compiler warnings 2010-12-10 03:08:31 +00:00
Diva Canto cefdee8aaf Normalized ALL URLs with trailing /'s hopefully. Fixed show hyperlinks command. mantis #5259 2010-12-09 16:52:37 -08:00
Diva Canto 3675bb2981 Make configs consistent, as per mantos #5258 2010-12-09 09:30:17 -08:00
Diva Canto baa8ddfd26 Minor bug fixes. Hunting down mantis #5259 2010-12-09 08:28:21 -08:00
Diva Canto ab980fc927 Fixed wrong comment 2010-12-08 19:47:05 -08:00
Diva Canto 90bcfefe09 Fixed previous compile error -- I haven't pushed the CreatorID in AssetBase yet... 2010-12-08 19:37:35 -08:00
justincc f0957bb6ca Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-12-09 03:18:14 +00:00
justincc e9e544ddc8 Update ode.dll to r1755 2010-12-09 03:17:41 +00:00
justincc 0f240a9f7c Update ode.dll to r1754 2010-12-09 03:16:37 +00:00
Justin Clark-Casey (justincc) 3de0749aa7 Update libode.so to r1755.
This revision dates from 02 Sep 2010 and has received some testing.  This code will be updated in the opensim-libs repository
Updates for libode-x86_64, ode.dll and libode.dylib will follow
2010-12-09 03:10:48 +00:00
Melanie d7346dd5ff Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-12-09 01:55:45 +00:00
Diva Canto 1070cffcf9 Added ability for GetTexture to serve multiple formats. The format may come as an extra query parameter in the URL format=<format> (this was tested and working) or it may come in the Accept header (code added, but not tested). The result of the conversion is placed in the asset cache, under the name <uuid>-<format>. 2010-12-08 18:53:15 -08:00
Melanie 4df1d25d23 Plumb a code path for the entity transfer module to ask a destination scene
whether or not an agent is allowed there as a root agent.
2010-12-09 01:55:32 +00:00
Diva Canto 796216e44f Added an exception handler on CreateObject handler, just in case there's an exception being thrown that is silently being ignored by the http server. (Trying to catch Melanie's problem with attachments on TPs) 2010-12-07 20:05:53 -08:00
Diva Canto 7cfb3d7e96 Removed extraneous left-/ on /object/ subpath. Bug introduced during region URLs clean up. 2010-12-07 17:17:06 -08:00
Justin Clark-Casey (justincc) 1fa9399ab8 change doc. trivial commit to get panda to rebuild 2010-12-08 00:41:33 +00:00
Melanie c0d3ab59e6 Remove old Freeswitch configurations 2010-12-07 15:30:10 +00:00
Diva Canto 72748746d5 Fixed some inconsistency with trailing /. Made debug messages consistent. Changed the stored region names of HG regions. Increased the size of regionName in DB. 2010-12-05 19:43:24 -08:00
Jonathan Freedman 45cd2e3ef9 Merge branch 'master-core' into mantis5110 2010-12-05 11:49:15 -08:00
opensim mirror account 6639aaeed4 Merge branch 'master' of /var/git/opensim/ 2010-12-03 22:00:08 -08:00
opensim mirror account cdd0df9aae Merge branch 'master' of /var/git/opensim/ 2010-12-03 21:30:05 -08:00
Melanie 4ca108f85e Simplify updating of agent inventory assets. Make newly created asset IDs
random rather than using IDs known by the client ahead of time.
2010-12-04 04:50:24 +00:00
Melanie 89fec4ff5b Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-12-04 04:25:08 +00:00
Melanie ea17b262a3 Convert the agent asset transactions module to a new style module.
Refactor to remove the property "MyScene" and the pointless circular
refs to the managing classes. Converted the module to a non-shared module.
Reformatted source for 80 columns. Removed the special role the module
had in the old loader.
2010-12-04 04:24:55 +00:00
opensim mirror account 755180612a Merge branch 'master' of /var/git/opensim/ 2010-12-03 18:50:03 -08:00
Justin Clark-Casey (justincc) 7b6b4501b7 minor: add class doc line to older region module example code pointing towards newer 2010-12-04 02:49:41 +00:00
Justin Clark-Casey (justincc) f268cd7c53 comment out the extension attribute 2010-12-04 02:47:29 +00:00
Justin Clark-Casey (justincc) 57b5263ecf add bare bones shared example module 2010-12-04 02:46:59 +00:00
opensim mirror account 2756e8fd67 Merge branch 'master' of /var/git/opensim/ 2010-12-03 18:40:03 -08:00
Justin Clark-Casey (justincc) 510b55c7f0 refactor some common code in RegionModulesControllerPlugin
also some minor doc changes in BareBonesNonSharedModule
2010-12-04 02:38:26 +00:00
opensim mirror account cc471d9ca6 Merge branch 'master' of /var/git/opensim/ 2010-12-03 17:40:03 -08:00
Justin Clark-Casey (justincc) c010491d34 correct the id of the example module 2010-12-04 01:38:32 +00:00
Justin Clark-Casey (justincc) a06032d96e Add the most bare bones non-shared region module example. Not active unless the correct line is uncommented. 2010-12-04 01:36:35 +00:00
opensim mirror account 935929c2b8 Merge branch 'master' of /var/git/opensim/ 2010-12-03 17:10:03 -08:00
Justin Clark-Casey (justincc) 0ab774d484 add warning decals and information to RegionModule.cs in probably non-functional OpenSim.Region.Examples.SimpleModule project 2010-12-04 01:06:29 +00:00
Justin Clark-Casey (justincc) 9668fb4e31 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-12-04 00:57:18 +00:00
Justin Clark-Casey (justincc) 2486d96d06 minor: correction to logging category 2010-12-04 00:56:53 +00:00
opensim mirror account 6770e43ef0 Merge branch 'master' of /var/git/opensim/ 2010-12-03 16:50:02 -08:00
opensim mirror account cc573e97d5 Merge branch 'master' of /var/git/opensim/ 2010-12-03 16:00:27 -08:00
Justin Clark-Casey (justincc) b69c5d6633 minor: change OpenSimBase log messages associated with newer module loader to make the association clear 2010-12-03 23:50:09 +00:00
Mic Bowman df860516bf Various bug fixes for appearance handling: more aggressive reset of textures and vparams when appearance is not cached and when wearables change. Send appearance to the viewer with initial data.
Cleaned up (and added) debugging.
2010-12-03 23:45:00 +00:00
opensim mirror account ffaaa5c750 Merge branch 'master' of /var/git/opensim/ 2010-12-02 16:20:08 -08:00
Justin Clark-Casey (justincc) 7e72afcb3e Only force prim persistence before delete if the prim is the result of an unpersisted delink
This considerably improves delete performance for objects with large linksets
2010-12-03 00:12:59 +00:00
opensim mirror account 3da12c2d3f Merge branch 'master' of /var/git/opensim/ 2010-12-01 18:10:02 -08:00
Justin Clark-Casey (justincc) 5246d98b8d Stop LLUDPServer sending updates after object deletes by always queueing deletes
If an LL 1.23.5 client (and possibly earlier and later) receives an object update after a kill object packet, it leaves the deleted prim in the scene until client relog
This is possible in LLUDPServer if an object update packet is queued but a kill packet sent immediately.
Beyond invasive tracking of kill sending, most expedient solution is to always queue kills, so that they always arrive after updates.
In tests, this doesn't appear to affect performance.
There is probably still an issue present where an update packet might not be acked and then resent after the kill packet.
2010-12-02 02:01:01 +00:00
Justin Clark-Casey (justincc) 26569a7cd0 minor: add some method doc 2010-12-02 02:01:01 +00:00
opensim mirror account d60ace97bf Merge branch 'master' of /var/git/opensim/ 2010-12-01 16:20:03 -08:00
Diva Canto f1a7847532 Deleted obsolete config files from old OpenSim.Grid. 2010-12-01 16:19:27 -08:00
opensim mirror account 6f3fbca5a3 Merge branch 'master' of /var/git/opensim/ 2010-12-01 16:10:15 -08:00
Diva Canto 7d24dbca3c Added some comments. Better than listening to the boring speaker... 2010-12-01 16:01:22 -08:00
opensim mirror account 4b4337d024 Merge branch 'master' of /var/git/opensim/ 2010-11-29 10:10:08 -08:00
Diva Canto f3835fe15c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-11-29 09:58:20 -08:00
Diva Canto 49b59fffee Fix unit test. 2010-11-29 09:57:41 -08:00
Diva Canto f86c438653 Preservation of creator information now also working in IARs. Cleaned up usage help. Moved Osp around, deleted unnecessary OspInventoryWrapperPlugin, added manipulation of SOP's xml representation in a generic ExternalRepresentationUtils function. 2010-11-29 08:43:33 -08:00
opensim mirror account 51a2cab05b Merge branch 'master' of /var/git/opensim/ 2010-11-28 18:20:02 -08:00
Melanie 04ce7de5ed Fix the build break 2010-11-29 01:15:30 +00:00
opensim mirror account d85a53f040 Merge branch 'master' of /var/git/opensim/ 2010-11-28 16:40:08 -08:00
Melanie 5aeb83125a Remove the most spammy XML dumps from the FS voice module 2010-11-28 23:30:55 +00:00
Diva Canto ca8d015733 Changed the parser for InventoryItem deserialization. Moved some utility functions around. 2010-11-27 11:40:54 -08:00
opensim mirror account be216e1e39 Merge branch 'master' of /var/git/opensim/ 2010-11-27 02:10:05 -08:00
Marck d71d4f96e3 Amend GetLinkPrimitiveParams with implementations for PRIM_TEXGEN, PRIM_BUMP_SHINY, PRIM_FULLBRIGHT, and PRIM_GLOW 2010-11-27 10:59:14 +01:00
opensim mirror account 35a1c749f3 Merge branch 'master' of /var/git/opensim/ 2010-11-27 00:20:07 -08:00
Marck 947d730b56 Make gatekeeper's address check case-insensitive. 2010-11-27 09:18:39 +01:00
Diva Canto 3292a22558 Creator information preserved upon HG transfers. 2010-11-26 22:06:34 -08:00
opensim mirror account 35f74ac4ee Merge branch 'master' of /var/git/opensim/ 2010-11-26 18:30:05 -08:00
opensim mirror account 2f3fcd4b72 Merge branch 'master' of /var/git/opensim/ 2010-11-26 18:10:02 -08:00
Micheil Merlin 6ed63487d9 llUnsit position fix 4063 (updated 11-20-2010) 2010-11-27 02:05:44 +00:00
opensim mirror account 3bfdc7c8de Merge branch 'master' of /var/git/opensim/ 2010-11-26 17:40:03 -08:00
opensim mirror account 0f52f90f9c Merge branch 'master' of /var/git/opensim/ 2010-11-26 17:30:05 -08:00
Micheil Merlin a8a8fb6e13 llVecNorm nant test 2010-11-27 01:29:55 +00:00
Melanie 63e2c3b2d6 Reformat an overzealous comment. Remove end of line marks and reference to the
Mantis solved, as that isn't needed to understand the code. Reformat the
comment for 80 col screens.
2010-11-27 01:28:02 +00:00
Justin Clark-Casey (justincc) e0866faacc Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-11-27 01:27:46 +00:00
Mic Bowman 541a7660e0 Refactor appearance and avatar data sending code. Paritioning the routines into "one-to-many" and "many-to-one" makes it possible to call the right function on presence creation (both child and root) and when a child agent is promoted to root. This brings the total number of appearance sends down to one or two on login.
Cleaned up the avatar update calls in the groups code. Cleaned up
some commented and debugging code, and a few formating fixes.
2010-11-27 01:14:36 +00:00
opensim mirror account b844fef58a Merge branch 'master' of /var/git/opensim/ 2010-11-26 17:00:05 -08:00
Justin Clark-Casey (justincc) 0e311a2104 If we fail to gather asset uuids for a particular asset, log the failing asset id and type 2010-11-27 00:54:09 +00:00
opensim mirror account f10aa2c887 Merge branch 'master' of /var/git/opensim/ 2010-11-26 14:10:05 -08:00
Marck 7c02d5cec5 Another attempt at fixing failing test for creator info. 2010-11-26 23:04:31 +01:00
opensim mirror account e30f61445f Merge branch 'master' of /var/git/opensim/ 2010-11-26 13:50:08 -08:00
Marck 2827deffe8 Trigger changed event with CHANGED_TELEPORT when teleporting to another region. 2010-11-26 22:46:48 +01:00
opensim mirror account 6915edbf94 Merge branch 'master' of /var/git/opensim/ 2010-11-26 03:30:10 -08:00
Marck 0bc5ffbe96 Fix handling of landmarks for systems with culture settings other than en_US. This fixes Mantis #5177. 2010-11-26 11:50:51 +01:00
Diva Canto 1cbd2842d5 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-11-25 16:27:19 -08:00
Diva Canto ae4b02e115 WARNING: LOTS OF CONFIGURATION CHANGES AFFECTING PRIMARILY HG CONFIGS. Added capability to preserve creator information on HG asset transfers. Added a new HGAssetService that is intended to be the one outside the firewall. It processes and filters the assets that go out of the grid. Also fixed the normal AssetService to do special things for the main instance (console commands, etc). Moved HGInventoryService to OpenSim.Services.HypergridService. Changed the way the login service gets the ServiceURL configs. 2010-11-25 11:14:16 -08:00
opensim mirror account 06d8f67448 Merge branch 'master' of /var/git/opensim/ 2010-11-24 21:10:03 -08:00
opensim mirror account e9d59389e8 Merge branch 'master' of /var/git/opensim/ 2010-11-24 20:20:03 -08:00
Melanie 2d2098f5da Export the module interface for restart 2010-11-25 04:06:25 +00:00
opensim mirror account d00405d3b8 Merge branch 'master' of /var/git/opensim/ 2010-11-24 19:30:05 -08:00
Melanie 57c4def254 Change all restarting to use the restart module. Remove hardcoded behavior 2010-11-25 03:16:52 +00:00
opensim mirror account 8fadfc4734 Merge branch 'master' of /var/git/opensim/ 2010-11-24 18:30:32 -08:00
Melanie fb97fe8307 Finish the RestartModule and fix some bugs. Add new console commands:
region restart bluebox <msg> <time> ...
region restart notice <msg> <time> ...
region restart abort [<message>]
2010-11-25 02:30:06 +00:00
Melanie 6734c9f83a Implement the restart module 2010-11-25 01:22:05 +00:00
Melanie e14f449cc2 Adding the skeleton for the restart module 2010-11-24 22:14:53 +00:00
opensim mirror account 181daf3a9d Merge branch 'master' of /var/git/opensim/ 2010-11-24 02:10:12 -08:00
dahlia 9f29908f66 catch an exception when a mesh asset header cant be decoded 2010-11-24 02:05:41 -08:00
Jonathan Freedman bc51dfc45e Merge branch 'master-core' into mantis5110 2010-11-23 22:27:54 -08:00
opensim mirror account a1daeb277e Merge branch 'master' of /var/git/opensim/ 2010-11-23 07:50:04 -08:00
Diva Canto a4bf6c5343 Attempt at fixing failing test. 2010-11-23 07:44:42 -08:00
opensim mirror account cb2b1257e9 Merge branch 'master' of /var/git/opensim/ 2010-11-23 07:20:16 -08:00
opensim mirror account 32cbf0c542 Merge branch 'master' of /var/git/opensim/ 2010-11-23 06:40:21 -08:00
Diva Canto 61a49ec4a8 Initialize InventoryItemBase.creatorData properly. Could throw. 2010-11-23 06:36:57 -08:00
Melanie 2527aeb40c Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-11-23 14:03:52 +00:00
Melanie 45b08a9ce3 Fix more potential nullrefs 2010-11-23 14:02:20 +00:00
Melanie 7796b90ebb Fix some crashes caused by the addition of the CreatorData column 2010-11-23 14:02:06 +00:00
opensim mirror account 87e565d28d Merge branch 'master' of /var/git/opensim/ 2010-11-23 03:00:09 -08:00
Marck c68f03a6ff Fix: Allow use of parameters without specifying a file path with command "save oar" 2010-11-23 11:45:12 +01:00
Marck ba2bf78dcf Fix joining land parcels not being stored correctly in SQLite. Thank you to goetz for the initial patch in Mantis #5230. 2010-11-23 11:45:12 +01:00
opensim mirror account 64918589ec Merge branch 'master' of /var/git/opensim/ 2010-11-22 20:30:06 -08:00
Justin Clark-Casey (justincc) 8d79a39d5b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-11-23 04:27:06 +00:00
Justin Clark-Casey (justincc) 63170fdea7 Only perform the take object permissions check if an object is being attached directly from the scene, not from existing inventory 2010-11-23 04:26:07 +00:00
Justin Clark-Casey (justincc) bbc291dfdf adapt tests to use DeRezObjects() since DeRezObject() has recently disappeared 2010-11-22 23:07:30 +00:00
Justin Clark-Casey (justincc) 34b13a4765 add basic tests to check that under default permissions module owner can delete objects and that non-owners (who are also not administrators, etc.) cannot 2010-11-22 22:54:13 +00:00
opensim mirror account 9362d11077 Merge branch 'master' of /var/git/opensim/ 2010-11-22 10:40:03 -08:00
Marck e1c72cedb3 Let CHANGED_SCALE also trigger when editing prims and linksets with the viewer's edit tools.
This event used to trigger only when the scale was changed with a script.
2010-11-22 19:38:44 +01:00
Marck d63965cf94 Let CHANGED_SHAPE trigger. This fixes Mantis #1844. 2010-11-22 19:38:44 +01:00
opensim mirror account 7e862dfe5e Merge branch 'master' of /var/git/opensim/ 2010-11-22 07:30:05 -08:00
opensim mirror account f9f386f73b Merge branch 'master' of /var/git/opensim/ 2010-11-22 07:20:08 -08:00
Melanie d2aebbe066 Fox case on a method 2010-11-22 14:27:45 +00:00
Melanie 4e0a289a8d Change FS Voice module to a shared module to avoid gratuitious server handler
registrations. Add the missing bits to drive the local connector's HTTP
requests. This makes standalones work.
2010-11-22 14:13:27 +00:00
opensim mirror account d272a5bd25 Merge branch 'master' of /var/git/opensim/ 2010-11-22 02:20:10 -08:00
Marck 8a2c365e5b Thank you, thomax, for a patch making changed events CHANGED_REGION_RESTART and CHANGED_REGION work.
Fixes Mantix #5214.
2010-11-22 10:39:46 +01:00
Jonathan Freedman b7f5e82843 Merge branch 'master-core' into mantis5110 2010-11-21 20:01:48 -08:00
Jonathan Freedman 562147475c Merge https://github.com/opensim/opensim into mantis5110
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2010-11-21 19:51:23 -08:00
opensim mirror account f01e1094a3 Merge branch 'master' of /var/git/opensim/ 2010-11-21 17:50:03 -08:00
opensim mirror account c913f92f0f Merge branch 'master' of /var/git/opensim/ 2010-11-21 17:30:05 -08:00
Diva Canto 0fec29c849 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-11-21 17:19:45 -08:00
Diva Canto c617d658dd Added creator info across the board -- TaskInventoryItems and InventoryItems themselves. Tested. Seems to be working, main tests pass. Nothing done for IARs or HG transfers yet -- this only works for OARs for the time being.
New migration in inventory table in order to make CreatorID varchar(255).
2010-11-21 17:19:24 -08:00
opensim mirror account a1549a1d85 Merge branch 'master' of /var/git/opensim/ 2010-11-21 16:50:03 -08:00
Melanie 8466ada8e0 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-11-22 00:46:37 +00:00
Melanie ddf08276f1 Fox the buglets in Freeswitch. Grid mode works now and there is no reason why standalone should not. 2010-11-22 00:46:23 +00:00
opensim mirror account e2e828d1d5 Merge branch 'master' of /var/git/opensim/ 2010-11-21 16:30:05 -08:00
opensim mirror account a145a294cf Merge branch 'master' of /var/git/opensim/ 2010-11-21 15:50:03 -08:00
Melanie c85e6bc36d Add the remote connector for freeswitch config retrieval 2010-11-21 23:42:52 +00:00
opensim mirror account dd67175edf Merge branch 'master' of /var/git/opensim/ 2010-11-21 15:40:03 -08:00
opensim mirror account 3d113e9f1d Merge branch 'master' of /var/git/opensim/ 2010-11-21 15:30:05 -08:00
Melanie 2105842513 Finish the standalone mode freeswitch work and add config examples 2010-11-21 23:24:39 +00:00
opensim mirror account b4025eb48e Merge branch 'master' of /var/git/opensim/ 2010-11-21 15:20:02 -08:00
Melanie a7174cecdd Remove username and password from the publicly accessible FS config 2010-11-21 22:45:04 +00:00
opensim mirror account 68e8e35640 Merge branch 'master' of /var/git/opensim/ 2010-11-21 14:40:08 -08:00
Melanie 6fa24f4671 Convert the Freeswitch module to new style 2010-11-21 22:40:03 +00:00
opensim mirror account d0c764bf2e Merge branch 'master' of /var/git/opensim/ 2010-11-21 14:30:10 -08:00
Melanie e6c52f38c5 Strip the dialplan and directory methods from the region module 2010-11-21 22:25:50 +00:00
Melanie 2b0ef9ad1d Implement a method to allow regions to query the gridwide Freeswitch
configuration from ROBUST
2010-11-21 22:17:25 +00:00
Melanie b43a01179e Correct an error in Robust.ini.example 2010-11-21 21:35:31 +00:00
Diva Canto af8c8197ab Updated SQLiteLegacy/SQLiteSimulationData with the same. Is this crap still used?!? 2010-11-21 13:29:20 -08:00
Melanie ed5f91c638 Move Dialplan and Directory from the region module to the ROBUST server 2010-11-21 21:29:17 +00:00
Melanie c0ccfeebe7 Start implementing Freeswitch in ROBUST 2010-11-21 21:29:11 +00:00
Diva Canto 51343caeb5 Updated SQLite/SQLiteSimulationData to use SOP.CreatorInformation instead of SOP.CreatorID. Untested, but should work. 2010-11-21 13:27:03 -08:00
Diva Canto 6a9ae9e7cb Global creator information working on MySQL DB and on load/save OARs. Creator name properly shown on the viewer as first.last @authority.
New option added to save oar -profile=url. Migration on RegionStore making CreatorID be 255 chars.
Moved Handling of user UUID -> name requests to a new module UserManagement/UserManagementModule.
2010-11-21 13:16:52 -08:00
opensim mirror account d04cbd8f85 Merge branch 'master' of /var/git/opensim/ 2010-11-19 19:10:12 -08:00
Marck f1151f20dc Fix global region coordinates that are delivered by llRequestSimulatorData.
Also did some source code clean-up by replacing literals with constants.
2010-11-20 03:03:11 +00:00
Justin Clark-Casey (justincc) a88bcbb118 Knock V0_2 decals off archive tests since they're misleading 2010-11-20 03:01:47 +00:00
Justin Clark-Casey (justincc) d7bca3d8e8 Fix unit tests and save problems
(note; contrary to previous commits, saving 0.4 OARs is actually broken since serialized objects in inventories are not yet converted properly).
Firstly, if you can save a version 1.0 OAR then you can load it too.
Secondly, closing the save stream even on success before assets/objects are saved is a bad idea
2010-11-20 02:59:21 +00:00
opensim mirror account c4dd724cba Merge branch 'master' of /var/git/opensim/ 2010-11-19 18:50:05 -08:00
Justin Clark-Casey (justincc) 1087d6042b correct build break. for some reason, xbuild didn't rebuild test dlls 2010-11-20 02:43:38 +00:00
opensim mirror account 4ec0933c99 Merge branch 'master' of /var/git/opensim/ 2010-11-19 18:40:08 -08:00
Justin Clark-Casey (justincc) f49e32bfaa Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-11-20 02:34:27 +00:00
Justin Clark-Casey (justincc) 2c7be7130e Bump oar version to 1.0 from 0.5
If oar contents are being changed such that older versions of opensim can't load them, then the major version must be increased
This also locks version parameters to either 1.0 or 0.4, so that arbitrary 'versions' cannot be saved
Also closes save stream properly in the event of an error
Version 1.0 OARs are currently incompatible with OpenSim 0.7.0.2 and earlier.  However, you can still save compatible version 0.4 OARs by specifing --version=0 on the save oar command line
e.g. save oar --version=0 oars/test.oar
2010-11-20 02:32:12 +00:00
opensim mirror account 2750e22782 Merge branch 'master' of /var/git/opensim/ 2010-11-18 12:10:08 -08:00
Master ScienceSim 8f1a79420b Fixed appearance send for avatars with only default textures. This should fix some of the appearance problems on osgrid. Also added a transaction lock on SetAppearance. This won't prevent concurrent access to Appearance but it will at least make sure each update completes.
Signed-off-by: Melanie <melanie@t-data.com>
2010-11-18 19:04:50 +00:00
opensim mirror account b5160aade0 Merge branch 'master' of /var/git/opensim/ 2010-11-17 16:00:05 -08:00
Justin Clark-Casey (justincc) 859234f963 small refactor: reuse existing commandLine string rather than calling cmdline.ToString() again 2010-11-17 23:50:23 +00:00
opensim mirror account a1bc7f4ba1 Merge branch 'master' of /var/git/opensim/ 2010-11-17 15:40:03 -08:00
Justin Clark-Casey (justincc) c072a9cfb3 save all lines to history, not just those which turn out to be valid comands. does not store passwords
also, blank lines are not stored to history
this makes it easier to go back and correct a command which was simply mistyped rather than having to type it out again
2010-11-17 23:34:39 +00:00
opensim mirror account bfe1f3fdf8 Merge branch 'master' of /var/git/opensim/ 2010-11-17 15:10:07 -08:00
Justin Clark-Casey (justincc) af0deff7e9 Make "show queues [full]" behave like "show users [full]"
Now, "show queues" only shows root agents.  "show queues full" will show child agents as well
2010-11-17 22:55:20 +00:00
Justin Clark-Casey (justincc) c4f3175e17 add "Unacked bytes" column to "show queues"
This should show the number of bytes sent to the client that it has not yet acknowledged.
2010-11-17 22:55:19 +00:00
Justin Clark-Casey (justincc) 2a17c39dfe Fix "show queues" console command
For each agent, this command shows how many packets have been sent/received and how many bytes remain in each of the send queues (resend, land, texture, etc.)
Sometimes useful for diagnostics
2010-11-17 22:55:19 +00:00
Justin Clark-Casey (justincc) e6eeaaea67 minor: add some method comments 2010-11-17 22:55:06 +00:00
opensim mirror account 01c16fc8c8 Merge branch 'master' of /var/git/opensim/ 2010-11-17 11:20:09 -08:00
Melanie 0d72d77629 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-11-17 18:20:41 +00:00
Melanie 43c270b536 Fix gesture and viewer preview sounds not playing 2010-11-17 18:20:24 +00:00
opensim mirror account 36495f6992 Merge branch 'master' of /var/git/opensim/ 2010-11-16 18:00:07 -08:00
Justin Clark-Casey (justincc) 393c9c9046 Add osUnixTimeToTimestamp()
This allows an input unix time to be converted to an llGetTimeStamp() format.
Thanks Thomax.
2010-11-17 01:45:47 +00:00
Justin Clark-Casey (justincc) b38a1594c1 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-11-17 01:28:46 +00:00
opensim mirror account 82786774e4 Merge branch 'master' of /var/git/opensim/ 2010-11-16 15:20:05 -08:00
Melanie 390c3a3b6f Prevent leftover attachments from clogging up the pipes 2010-11-16 22:18:35 +00:00
opensim mirror account 21b7cc5d61 Merge branch 'master' of /var/git/opensim/ 2010-11-16 14:00:07 -08:00
Melanie 7bb005b0d1 Change the way attachments are persisted. Editing a worn attachment will now
save properly, as will the results of a resizer script working. Attachment
positions are no longer saved on each move, but instead are saved once on
logout. Attachment script states are saved as part of the attachment now
when detaching.
2010-11-16 21:01:56 +00:00
Justin Clark-Casey (justincc) c5d78c723b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-11-16 19:18:43 +00:00
opensim mirror account 63171839a3 Merge branch 'master' of /var/git/opensim/ 2010-11-16 08:20:04 -08:00
Marck 56bd42b438 Fix osTeleportAgent for hypergrid destinations.
Signed-off-by: Melanie <melanie@t-data.com>
2010-11-16 15:23:45 +00:00
opensim mirror account e633b214cb Merge branch 'master' of /var/git/opensim/ 2010-11-16 06:40:10 -08:00
Marck 50202bab7c Add osTeleportOwner.
This provides the same functionality as osTeleportAgent but without the griefing potential. Region owners need not be concerned about the use of this function because it only allows to do what is already possible with the world map.
The intended use is with HUDs. For example, a list of (hypergrid) destinations could be made available for quick access.

Signed-off-by: Melanie <melanie@t-data.com>
2010-11-16 13:43:27 +00:00
opensim mirror account fa1f9bb3c1 Merge branch 'master' of /var/git/opensim/ 2010-11-16 03:20:05 -08:00
Melanie e7e3c74fb7 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-11-16 10:22:15 +00:00
Melanie 5329e3b9b7 Can't detach an object from within the script thread because it will throw. Use FireAndForget for that. 2010-11-16 01:36:26 +00:00
Melanie 98ba079e95 Diva needs a spanking! Serializing OldItemID breaks script state persistence in agent inventory. 2010-11-16 01:35:16 +00:00
opensim mirror account c44ab55694 Merge branch 'master' of /var/git/opensim/ 2010-11-12 16:40:03 -08:00
Marck 98f29a47c0 Do not include hyperlinks in a random region search during a login.
Before a random region is chosen, available fallback regions are used for the login.
2010-11-13 00:40:03 +00:00
Marck 2368aab534 Fix: Write asset data into Asset.db when using SQLite 2010-11-13 00:31:02 +00:00
opensim mirror account f0fac8ca3a Merge branch 'master' of /var/git/opensim/ 2010-11-12 15:30:10 -08:00
Justin Clark-Casey (justincc) 1e7334d985 provide avatar name in log if an exception ends up at the top of an async packet processing stack 2010-11-12 23:20:07 +00:00
opensim mirror account c79b81d2ca Merge branch 'master' of /var/git/opensim/ 2010-11-12 10:30:10 -08:00
BlueWall 9c8680cd69 Fix prebubild.exe for Nant add missing "/" fixes Nant builds 2010-11-12 17:35:06 +00:00
opensim mirror account 4b21e4d7c5 Merge branch 'master' of /var/git/opensim/ 2010-11-11 18:20:08 -08:00
BlueWall 672ee2a888 Prebuild fix
Make prebuild fix for monodevelop. Needed path to reference
	legacy Mono.Data.SQLite in ./bin/Mono.Data.SQLite.dll.
2010-11-12 01:17:33 +00:00
BlueWall 00b0f521fa Add PARCEL_DETAILS_ID to LSL 2010-11-12 01:16:14 +00:00
opensim mirror account b02ca416e5 Merge branch 'master' of /var/git/opensim/ 2010-11-10 09:20:09 -08:00
Melanie bfc128529c Prevent teleporting to a region when the egent is banned in all parcels 2010-11-10 16:20:19 +00:00
opensim mirror account a92d0faf50 Merge branch 'master' of /var/git/opensim/ 2010-11-09 18:20:05 -08:00
Melanie ff3e466000 Remove a debug spam 2010-11-10 01:17:40 +00:00
opensim mirror account d93aff0276 Merge branch 'master' of /var/git/opensim/ 2010-11-09 16:50:03 -08:00
Melanie 846198bb9e Although the Allow Voice setting is per estate rather than per region,
apparently it is required in the region handshake to let the client
enable parcel voice controls. So, send it.
2010-11-09 23:55:43 +00:00
opensim mirror account a969036562 Merge branch 'master' of /var/git/opensim/ 2010-11-09 15:10:08 -08:00
Melanie 22144eb8f7 Fix parcel bans to work only on the avatars they're supposed to work on instead of pushing all avatars, even the ones that are allowed. 2010-11-09 22:15:59 +00:00
opensim mirror account 4a20a544d6 Merge branch 'master' of /var/git/opensim/ 2010-11-08 04:50:04 -08:00
Jeff Ames ae9c4a4d11 Formatting cleanup. 2010-11-08 07:48:35 -05:00
opensim mirror account 2e4c0c66ff Merge branch 'master' of /var/git/opensim/ 2010-11-07 20:00:06 -08:00
opensim mirror account 4ff3be90e0 Merge branch 'master' of /var/git/opensim/ 2010-11-07 19:50:07 -08:00
Melanie 798abd1508 Reinstate a lost fix 2010-11-08 03:06:58 +00:00
Melanie 6056ae8d88 Fix merge artefacts 2010-11-08 02:58:33 +00:00
Melanie 18b27408d6 Prevent plants from being treated like dropped attachments and removed
from the sim.
2010-11-08 02:39:06 +00:00
Melanie 4f6dd8bda3 Call the cleanup after saving attachment states, so that the attachments
don't get killed before they can be saved
2010-11-08 02:38:15 +00:00
Melanie 2f58d56137 Call the Cleanup when an agent logs out, when an agent leaves and just
before an agent logs in directly. Intentionally not calling this from MakeRoot
as that would mess up attachment transfer in teleport
2010-11-08 02:37:28 +00:00
Melanie Thielker d8fffd0fb5 Call attachment cleanup when an agent crosses out 2010-11-08 02:37:00 +00:00
Melanie Thielker 2317b6767b Add a method to delete left over / dropped attachments 2010-11-08 02:36:51 +00:00
Melanie 6585243113 Detach attachments displaced by other attachments 2010-11-08 02:35:47 +00:00
Jonathan Freedman 4f40374464 Merge git://github.com/opensim/opensim into mantis5110 2010-11-05 19:10:02 -07:00
opensim mirror account 3711f956a6 Merge branch 'master' of /var/git/opensim/ 2010-11-05 07:40:06 -07:00
opensim mirror account e89dcdada9 Merge branch 'master' of /var/git/opensim/ 2010-11-05 07:30:10 -07:00
Melanie 644eb9fd7f Fix playing sound from HUDs 2010-11-05 13:45:28 +00:00
Melanie e078c57bf0 Fix attached sounds from HUDs erroneously being delivered to other avatars 2010-11-05 13:39:04 +00:00
Melanie 1c8d19d714 Delete existing presences for a user ID when they log in again.
WARNING!!! This changes a default. The old default is to allow multiple
presences, the new default disables this. As the feature currently has no users,
this should not present any difficulty and will alleviate the presence
issues somewhat.
2010-11-05 13:31:45 +00:00
opensim mirror account e6972bfe6c Merge branch 'master' of /var/git/opensim/ 2010-11-02 20:30:05 -07:00
opensim mirror account 379fc60c06 Merge branch 'master' of /var/git/opensim/ 2010-11-02 20:00:06 -07:00
Melanie 6c3b7617b0 Add lsClearWindlightScene() to the lightshare module to remove WL settings
from a region and allow normal day cycles to be reestablished
2010-11-03 02:31:43 +00:00
opensim mirror account c830f85fed Merge branch 'master' of /var/git/opensim/ 2010-11-02 19:10:04 -07:00
Melanie 4ab9d37a8e When LightShare is enabled, the standard day cycle is bypassed and replaced by
midday defaults when no specific LightShare profile is set.
This prevents LightShare info being send out when the region has no LightShare
profile, allowing normal day/night cycles to happen.
2010-11-03 02:04:17 +00:00
opensim mirror account 50a3bf6e14 Merge branch 'master' of /var/git/opensim/ 2010-11-02 18:40:03 -07:00
Melanie c25f84e31c Change the default of the new bind_ip_address RemoteAdmin option to 0.0.0.0
so it reflects the prior default. We are not in the habot of changing default
behavior without good reason and making localhost the default would break
most current use cases.
2010-11-03 01:13:01 +00:00
Melanie e76980bc49 Fix config items. Less used / expert items go in OpenSimDefaults.ini
The default shown is always the hardcoded default
2010-11-03 01:12:52 +00:00
mores 1f77f05f02 Admin Server can now bind to a private ip address
Signed-off-by: Melanie <melanie@t-data.com>
2010-11-03 01:12:48 +00:00
opensim mirror account 87d56ec6ad Merge branch 'master' of /var/git/opensim/ 2010-11-02 18:00:07 -07:00
Melanie 57eabe9d46 Actually calculate the height before setting it, this isn't done automatically
on incoming transfers in all cases.
2010-11-03 00:47:22 +00:00
opensim mirror account 732fdbff2a Merge branch 'master' of /var/git/opensim/ 2010-11-02 17:40:04 -07:00
Melanie 7d551e27ca Trying to prevent a wrong physical actor size 2010-11-03 00:01:47 +00:00
Melanie d555c373d8 Fix avatar height management 2010-11-02 23:39:45 +00:00
opensim mirror account dabc51299c Merge branch 'master' of /var/git/opensim/ 2010-11-02 15:40:05 -07:00
opensim mirror account 2dc6c007c2 Merge branch 'master' of /var/git/opensim/ 2010-11-02 15:30:08 -07:00
Melanie 43ac44b028 Fix default club feet 2010-11-02 21:41:27 +00:00
Melanie 5eeabb8b4b Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-11-02 21:29:02 +00:00
Melanie 78a0ed3ff9 Fix sitting and standing up 2010-11-02 21:28:24 +00:00
opensim mirror account 57632db62e Merge branch 'master' of /var/git/opensim/ 2010-11-02 14:20:03 -07:00
Marck 4fdab71c8d Add support for cross-domain AJAX requests to REST console.
Enables RemoteConsole to add the appropriate HTTP header when responding to requests that use Cross-Origin Resource Sharing (CORS with simple requests). The allowed origin is set with configuration option "ConsoleAllowedOrigin" in section [Network]. For a suggestion to make this configuration option more flexible, see the TODO comment in the source code.

The WifiConsole uses this functionality with grid mode.
2010-11-02 14:12:25 -07:00
Marck 4d1f0c5348 Support for CORS with simple requests in BaseHttpServer 2010-11-02 14:11:49 -07:00
opensim mirror account cf6ae44c0a Merge branch 'master' of /var/git/opensim/ 2010-11-02 14:00:08 -07:00
Melanie e327e990f5 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-11-02 19:55:27 +00:00
Melanie 63ffdcf53a Try to not make avatars switch outfits 2010-11-02 19:55:05 +00:00
opensim mirror account c77e2c8830 Merge branch 'master' of /var/git/opensim/ 2010-11-02 12:10:07 -07:00
Diva Canto 9f5ab3b965 Old deserialization can't deal with commas in flag fields. Making use of -version option on save oar command. Bumped archives version to 0.5; version < 0.5 generates flag fields without commas. Everything else is identical. 2010-11-02 12:05:24 -07:00
opensim mirror account f7b05a5760 Merge branch 'master' of /var/git/opensim/ 2010-11-02 02:40:06 -07:00
dahlia ed7959ddfb Thanks Snoopy for a patch that addresses Mantis #0005165: osSetDynamicTextureURL crashed region server
Signed-off-by: dahlia <dahliaTrimble@gmail.removeme.com>
2010-11-02 02:35:56 -07:00
opensim mirror account 07817abc28 Merge branch 'master' of /var/git/opensim/ 2010-11-01 08:20:06 -07:00
Marck 2bce1716af Fix HypergridLinker.Check4096()
Make the optimization with IEnumerable.Except() in Check4096 actually work by providing an appropriate equality definition for GridRegion objects.
2010-11-01 08:01:31 -07:00
Jonathan Freedman 12d61d1ef5 Merge branch 'master' into mantis5110 2010-10-31 20:50:39 -04:00
opensim mirror account c8d96f2f6a Merge branch 'master' of /var/git/opensim/ 2010-10-31 12:20:07 -07:00
Diva Canto f15f0ab59b Removed a couple of very verbose debug messages. 2010-10-31 12:11:30 -07:00
Jonathan Freedman 0a56cfbfd5 * better semantics for link-region command
* actually parse name for new link-region command
2010-10-30 22:51:52 -04:00
Jonathan Freedman 95a0ea78f9 Merge branch 'master' into mantis5110 2010-10-30 18:28:07 -04:00
opensim mirror account e6a050f79e Merge branch 'master' of /var/git/opensim/ 2010-10-30 12:40:03 -07:00
Diva Canto 48f6d47744 Fixed: ToAvatarAppearance wasn't retrieving the AvatarHeight. 2010-10-30 12:30:03 -07:00
opensim mirror account 0ae4774ce5 Merge branch 'master' of /var/git/opensim/ 2010-10-30 12:10:13 -07:00
Melanie 623cee1ffc Move physics actor creation to after SetHeight to try and prevent
bowlegginess. Didn't work but is better this way anyway.
2010-10-30 19:17:52 +01:00
Jonathan Freedman 96a29c43b0 Merge branch 'master' into mantis5110 2010-10-30 14:11:02 -04:00
Jonathan Freedman e371d3208c Merge branch 'master' into mantis5110
Conflicts:
	OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
	OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
2010-10-30 14:10:13 -04:00
Melanie e98d8d500f Fix logins and avatar appearance. Contains a Migration. May contain nuts.
This will cause visual params to be persisted along with worn items. With
this, alpha and tattoo laters will be saved. Multiple layers MAY work, but
not tested because I don't use Viewer 2.
2010-10-30 19:06:47 +01:00
opensim mirror account 574bc590a2 Merge branch 'master' of /var/git/opensim/ 2010-10-29 23:30:05 -07:00
Teravus Ovares (Dan Olivares) 09bf9d5fca * AbsolutePosition.Get{} returns incorrect result for child prim so switch to using prim.GetWorldPosition() in the warp renderer. 2010-10-30 02:26:48 -04:00
opensim mirror account 6d52c42de2 Merge branch 'master' of /var/git/opensim/ 2010-10-29 23:10:04 -07:00
Teravus Ovares (Dan Olivares) 37e6de5ace Merge branch 'master' of ssh://MyConnection/var/git/opensim 2010-10-30 02:07:27 -04:00
Teravus Ovares (Dan Olivares) 4a24bf74d9 * Thank you lkalif for fixing the {array[array[]]} json OSD serialization issue.
* This is libOMV SVN revision 3463.
2010-10-30 02:06:43 -04:00
Jonathan Freedman 9e7d3e0f25 Merge branch 'master' into mantis5110 2010-10-29 23:59:16 -04:00
Jonathan Freedman c8d65c359f Merge branch 'master' into mantis5110
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2010-10-29 23:58:14 -04:00
Jonathan Freedman 594f23ff22 Merge branch 'master' into mantis5110
Conflicts:
	OpenSim/Services/GridService/HypergridLinker.cs
2010-10-29 23:46:53 -04:00
opensim mirror account e6f7d312dd Merge branch 'master' of /var/git/opensim/ 2010-10-29 20:30:07 -07:00
Jonathan Freedman d219317074 Merge branch 'master' into mantis5110
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2010-10-29 23:12:51 -04:00
opensim mirror account e6a7b66b08 Merge branch 'master' of /var/git/opensim/ 2010-10-29 19:50:06 -07:00
Melanie d0895a4a3a On first login, Ruth is back now. Strangely, inventory items are created for
tattoo and alpha layers. Any change of appearance in the sim makes the green
gnome reappear on next login. Progress of sorts.
2010-10-30 03:28:59 +01:00
opensim mirror account dcd5cf6bde Merge branch 'master' of /var/git/opensim/ 2010-10-29 19:20:06 -07:00
opensim mirror account 9beefc4ea9 Merge branch 'master' of /var/git/opensim/ 2010-10-29 19:10:04 -07:00
Justin Clark-Casey (justincc) f9227977f8 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-10-30 03:07:45 +01:00
Justin Clark-Casey (justincc) 45220a6954 minor: remove some old commented out code 2010-10-30 03:01:40 +01:00
Marck 63bdfb1e28 Clarify comment for configuration option Check4096 and show the default value. 2010-10-30 03:01:27 +01:00
Melanie adef6b04cb Logins work now, but avatars are green ugly gnomes. 2010-10-30 02:52:59 +01:00
Melanie ba6f651b06 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-30 02:26:18 +01:00
Melanie ff7da2082d This commit fixes all the appearance related null refs. Still can't log in,
client displays a blank error box.
2010-10-30 02:25:25 +01:00
opensim mirror account f8471de004 Merge branch 'master' of /var/git/opensim/ 2010-10-29 17:50:04 -07:00
opensim mirror account 7df180c18e Merge branch 'master' of /var/git/opensim/ 2010-10-29 17:40:03 -07:00
Justin Clark-Casey (justincc) 343c894658 Set async_packet_handling = true by default
Setting this to true avoids a 500ms or so client freeze when the LLUDP server thread is taken up with processing a UseCircuitCode packet synchronously.
Extensive testing on Wright Plaza appeared to show no bad effects and this seems to reduce login lag considerably.
Of course, a lot of login lag is still coming from other sources.
2010-10-30 01:35:12 +01:00
Justin Clark-Casey (justincc) ade71c9ed7 Change level of some logging messages, turning some info into arguably more appropriate debug to reduce console spam when log level is info 2010-10-30 01:32:56 +01:00
Melanie 46362cd1c0 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-30 00:56:58 +01:00
Melanie 7503c4ad61 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-30 00:56:42 +01:00
Melanie 818ed2032a READ CAREFULLY!!! This is a BROKEN commit. It is UNTESTED and INCOMPLETE.
It contains a major interface version bump and will NOT work with earlier grid
services. This is preliminary work that will lead to layers support.
Rest appearance services are commented out completely, they will have to be
adapted by someone who actually uses them. Remote admin is working, but has
no layers support. There is no layers support in the database. Login likely
won't work. You have been warned.
2010-10-30 00:41:36 +01:00
opensim mirror account ae12bcc43c Merge branch 'master' of /var/git/opensim/ 2010-10-29 16:00:05 -07:00
Justin Clark-Casey (justincc) 09705514ff tweak a few more scene presence logging messages for consistency 2010-10-29 23:52:25 +01:00
opensim mirror account f6b88d6208 Merge branch 'master' of /var/git/opensim/ 2010-10-29 15:50:06 -07:00
Justin Clark-Casey (justincc) e66ec432af Rationalize the logging messages from the merged appearance branch, commenting out most of them as per Mic 2010-10-29 23:45:10 +01:00
opensim mirror account 45c6ce65f5 Merge branch 'master' of /var/git/opensim/ 2010-10-29 15:20:04 -07:00
Justin Clark-Casey (justincc) abcde41c0d Merge branch 'justincc-dev' 2010-10-29 23:15:35 +01:00
Justin Clark-Casey (justincc) 25e19ba7e9 add timing report to CompleteScenePresence for diagnostic purposes 2010-10-29 23:03:11 +01:00
opensim mirror account 4a56ea8d88 Merge branch 'master' of /var/git/opensim/ 2010-10-29 14:10:10 -07:00
opensim mirror account 8d002c4553 Merge branch 'master' of /var/git/opensim/ 2010-10-29 14:00:07 -07:00
Justin Clark-Casey (justincc) bcd784b316 for now, comment out some older or redundant log debug lines to make diagnostics easier 2010-10-29 21:49:26 +01:00
opensim mirror account 8acf8eb481 Merge branch 'master' of /var/git/opensim/ 2010-10-29 13:40:07 -07:00
Justin Clark-Casey (justincc) f19816aeb9 Add number of ms it takes to complete UseCircuitCode packet handling to log for diagnostics 2010-10-29 21:38:26 +01:00
opensim mirror account 8d8a795b28 Merge branch 'master' of /var/git/opensim/ 2010-10-29 13:20:04 -07:00
Melanie 4f39329d6f Rename the new default texture to be consistent with the others 2010-10-29 21:10:19 +01:00
Melanie 32e5bee3a7 Add a default alpha layer 2010-10-29 21:09:31 +01:00
Melanie 934e536738 Merge commit 'cmickeyb/dev-appearance' 2010-10-29 21:06:46 +01:00
Master ScienceSim 49fa7e91b9 Clean up some cruft from the last commit. Re-add the initial update
send in the scene presence constructor... need to figure this out
later.
2010-10-29 13:45:59 -07:00
Master ScienceSim f5c9a56c8b Bunch of fixes that reduce the number of times appearance
and avatar data are sent. And the number of times they
are stored.
2010-10-29 13:43:35 -07:00
Melanie 5f4badf9e2 Add my work on top of cmickeyb's 2010-10-29 20:44:29 +01:00
Melanie 05d2302c62 Merge branch 'dev-appearance' 2010-10-29 20:24:14 +01:00
Melanie e6fe83cd93 Revert "Preliminary work on appearance layers. No user functionality yet."
This work conflicts with cmickeyb's more extensive, related work

This reverts commit 9c829c0410.
2010-10-29 20:17:59 +01:00
opensim mirror account 448b83b105 Merge branch 'master' of /var/git/opensim/ 2010-10-29 11:50:10 -07:00
Melanie 9c829c0410 Preliminary work on appearance layers. No user functionality yet. 2010-10-29 18:58:22 +01:00
opensim mirror account 8b867ba23e Merge branch 'master' of /var/git/opensim/ 2010-10-28 17:40:06 -07:00
Marck 7b0d643999 HypergridLinker optimizations and enable use of owner_uuid/EstateOwner with linked regions.
* Added check for already occupied region coordinates.
* Optimized Check4096.
2010-10-28 17:21:17 -07:00
Master ScienceSim 68666efd25 Configuration of persistent baked textures and save/send delays. 2010-10-28 12:00:04 -07:00
Master ScienceSim f2c1d0e34f Merge branch 'opensim-master' into dev-appearance 2010-10-28 09:09:42 -07:00
Master ScienceSim 0f28fa400d Added background thread to handle delayed send and save of appearance
to accommodate batching of the many updates that happen on login
and teleport.

Fixed handling of the serial property in appearance.
2010-10-28 09:00:39 -07:00
opensim mirror account 71d9fac757 Merge branch 'master' of /var/git/opensim/ 2010-10-27 21:40:03 -07:00
Jeff Ames 727838f914 Formatting cleanup. 2010-10-28 00:37:32 -04:00
opensim mirror account 0269ec6af0 Merge branch 'master' of /var/git/opensim/ 2010-10-27 13:40:10 -07:00
Melanie 1fcac7203d Prevent nullrefs in scene object deletion. Mantis #5156 2010-10-27 20:47:27 +01:00
opensim mirror account 6f297a50cb Merge branch 'master' of /var/git/opensim/ 2010-10-26 21:30:05 -07:00
dahlia a4e95c0717 Merge branch 'master' of ssh://MyConnection01/var/git/opensim 2010-10-26 21:20:18 -07:00
dahlia 5968d343bb Overload Scene.NewUserConnection() to facilitate NPCs and other region specific applications 2010-10-26 21:19:33 -07:00
opensim mirror account d6771ed4d5 Merge branch 'master' of /var/git/opensim/ 2010-10-26 21:10:12 -07:00
Jeff Ames a331fd4e24 Formatting cleanup. 2010-10-27 00:01:03 -04:00
Master ScienceSim 9cfd3e1d5a Small cleanup and add more debugging information 2010-10-26 12:54:28 -07:00
Master ScienceSim 9132e251aa Made the check for texture assets asynchronous. This is one part of
a bigger clean up that needs to happen around locks on appearance.
2010-10-26 12:53:15 -07:00
Jonathan Freedman 5da2743c37 Merge branch 'master' into mantis5110 2010-10-25 22:27:35 -04:00
Master ScienceSim 6e58c3d563 Half of the compatibility is working. Login into a new region with
old data works. Teleport out of a new region with old data works.
Teleport into a new region with old data does not trigger the
necessary rebake.
2010-10-25 14:11:47 -07:00
Mic Bowman 657cceb884 Intermediate commit for backward compatability; does not compile yet 2010-10-25 09:42:28 -07:00
opensim mirror account a2c0ee8da7 Merge branch 'master' of /var/git/opensim/ 2010-10-24 16:40:06 -07:00
Latif Khalifa c74c1620a1 * Updated libomv to r3461
Main reason for upgrade is to revert API change that was introduced in order to support headerless binary LLSD decoding needed for deserialization of the mesh assets, which turned out to be unnecessary as we can transparently decode both kinds.
2010-10-24 23:51:46 +01:00
Jonathan Freedman 07db35697b Merge branch 'master' into mantis5110 2010-10-24 15:01:01 -04:00
Jonathan Freedman ba9ef44506 Merge branch 'master' into mantis5110 2010-10-24 15:00:24 -04:00
Jonathan Freedman 6b9660eb96 Merge branch 'master' into mantis5110 2010-10-24 14:51:38 -04:00
opensim mirror account 17d3c76116 Merge branch 'master' of /var/git/opensim/ 2010-10-24 11:10:07 -07:00
Jonathan Freedman 3fe8fc3d51 * throw debug message when no HomeURI is set 2010-10-24 13:32:34 -04:00
Melanie 852c61aaa6 Add PRIM_NAME, PRIM_DESC and PRIM_ROT_LOCAL 2010-10-24 18:17:21 +01:00
opensim mirror account c83453a69b Merge branch 'master' of /var/git/opensim/ 2010-10-23 20:40:07 -07:00
Diva Canto 627d1a42fe Added inner exception handling in Shape deserialization processing, so that the whole Shape processing returns a valid Shape object. 2010-10-23 20:39:41 -07:00
Jonathan Freedman 5ddb8b535e * a bit of additional debugging: 2010-10-23 00:18:19 -04:00
opensim mirror account bf5cc32b5f Merge branch 'master' of /var/git/opensim/ 2010-10-22 16:00:06 -07:00
Justin Clark-Casey (justincc) 80f90229e5 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-10-22 23:56:58 +01:00
Justin Clark-Casey (justincc) fe8d3d5a2b Revert "Merge remote branch 'otakup0pe/mantis5110'"
This reverts commit 21187f459e, reversing
changes made to 8f34e46d74.
2010-10-22 23:52:07 +01:00
opensim mirror account 566b96a595 Merge branch 'master' of /var/git/opensim/ 2010-10-22 15:50:09 -07:00
opensim mirror account cc411bf5f3 Merge branch 'master' of /var/git/opensim/ 2010-10-22 15:40:08 -07:00
Justin Clark-Casey (justincc) 21187f459e Merge remote branch 'otakup0pe/mantis5110' 2010-10-22 23:35:07 +01:00
Justin Clark-Casey (justincc) 8f34e46d74 Revert "* refactor refactor refactor ServerURI 4 lyfe"
This reverts commit 55974df14b.
2010-10-22 23:35:01 +01:00
Justin Clark-Casey (justincc) 783b1b548f Revert "* additional serveruri cleanup"
This reverts commit 19119d7705.
2010-10-22 23:34:53 +01:00
Jonathan Freedman 38e76d71ac Merge branch 'hg16' into mantis5110 2010-10-22 18:34:50 -04:00
Justin Clark-Casey (justincc) a490b34b6e Revert "* more url / hg cleanup"
This reverts commit 58f75fa19d.
2010-10-22 23:34:44 +01:00
Justin Clark-Casey (justincc) cddcb53b17 Revert "* remove some spurious debug info"
This reverts commit 017b83d0a3.
2010-10-22 23:34:37 +01:00
Justin Clark-Casey (justincc) d58967be58 Fix llParcelMediaCommandList() so that it applies commands only to the parcel that the script is in, not all parcels.
Patch from http://opensimulator.org/mantis/view.php?id=2738
Thanks snoopy and fineman.
2010-10-22 18:33:59 -04:00
Justin Clark-Casey (justincc) 6d7ce63085 Allow OARs and IARs to save and load meshes.
Save and reload appears okay for the duck mesh at https://collada.org/owl/download.php?sess=0&parent=126&expand=1&order=name&curview=0&binary=1&id=698/
However, one attempt at trying to load a more complicated scene failed (errors on console, only triangles appearing in mesh viewer).
Not sure if this is really and OAR load problem.  Needs more investigation.
2010-10-22 18:33:55 -04:00
Justin Clark-Casey (justincc) a7a8fdc7da print IAR version number on console when saving 2010-10-22 18:33:52 -04:00
Justin Clark-Casey (justincc) bdd6857006 Implement guard against trying to load incompatible version IARs 2010-10-22 18:33:47 -04:00
Justin Clark-Casey (justincc) 607c07b4aa start parsing iar control file
This change requires a prebuild[.sh|.bat] since a System.Xml.Linq reference is added to prebuild.xml
2010-10-22 18:33:41 -04:00
Justin Clark-Casey (justincc) 772dbf59f3 slightly simplify oar control file loading code 2010-10-22 18:33:35 -04:00
Justin Clark-Casey (justincc) 460b9fffe5 write IAR control file first in the archive rather than last 2010-10-22 18:33:32 -04:00
Justin Clark-Casey (justincc) e06acae965 Allow region modules to know which agents actually receive chat 2010-10-22 18:33:19 -04:00
AdelleF 481a44104e This fixes a delay in llSetLinkPrimitiveParamsFast
Signed-off-by: dahlia <dahliaTrimble@gmail.removeme.com>
2010-10-22 18:33:10 -04:00
Melanie 004b395d12 Make SImStatsReporter pick ObjectCapacity striaght out of region info 2010-10-22 18:27:49 -04:00
Melanie 170c5d183b Remove a bit of dead code relating to ObjectCapacity 2010-10-22 18:27:40 -04:00
Melanie 753137e9ad Fix the OOB error (#5102). Sorry, my bad. 2010-10-22 18:27:28 -04:00
Melanie 6049e548a5 Skip empty strings in ParseString* functions 2010-10-22 18:27:12 -04:00
Melanie 700f4ddea4 Change some exception to use ToString(). e.Message is not sufficient to fix
errors. Please don't use e.Message, devs NEED to see the dumps!
2010-10-22 22:55:07 +01:00
opensim mirror account 2ad4bfcffc Merge branch 'master' of /var/git/opensim/ 2010-10-22 13:40:05 -07:00
Justin Clark-Casey (justincc) cfbaad3669 Fix llParcelMediaCommandList() so that it applies commands only to the parcel that the script is in, not all parcels.
Patch from http://opensimulator.org/mantis/view.php?id=2738
Thanks snoopy and fineman.
2010-10-22 21:28:10 +01:00
opensim mirror account 8dfa3960fa Merge branch 'master' of /var/git/opensim/ 2010-10-22 13:20:09 -07:00
Justin Clark-Casey (justincc) 1064e743be Allow OARs and IARs to save and load meshes.
Save and reload appears okay for the duck mesh at https://collada.org/owl/download.php?sess=0&parent=126&expand=1&order=name&curview=0&binary=1&id=698/
However, one attempt at trying to load a more complicated scene failed (errors on console, only triangles appearing in mesh viewer).
Not sure if this is really and OAR load problem.  Needs more investigation.
2010-10-22 21:12:22 +01:00
Justin Clark-Casey (justincc) e6019dd6ac print IAR version number on console when saving 2010-10-22 19:34:06 +01:00
Justin Clark-Casey (justincc) 7f2d844916 Implement guard against trying to load incompatible version IARs 2010-10-22 19:30:15 +01:00
Justin Clark-Casey (justincc) 199b61f1b2 start parsing iar control file
This change requires a prebuild[.sh|.bat] since a System.Xml.Linq reference is added to prebuild.xml
2010-10-22 19:24:42 +01:00
Justin Clark-Casey (justincc) a5bb7b8a30 slightly simplify oar control file loading code 2010-10-22 18:47:38 +01:00
Justin Clark-Casey (justincc) bb28726a8b write IAR control file first in the archive rather than last 2010-10-22 18:39:40 +01:00
Jonathan Freedman d4144bedb8 * change the data exchanged within hypergrid transactions 2010-10-21 23:22:15 -04:00
opensim mirror account 8ffea630f9 Merge branch 'master' of /var/git/opensim/ 2010-10-21 18:00:06 -07:00
Justin Clark-Casey (justincc) e7f184345e minor: add some text to the oar abort messages on assets timeout to make it clear that the oar will not be usable 2010-10-22 01:52:19 +01:00
opensim mirror account 6f6b5c0a5e Merge branch 'master' of /var/git/opensim/ 2010-10-21 17:30:08 -07:00
Justin Clark-Casey (justincc) 62a0910355 Allow region modules to know which agents actually receive chat 2010-10-22 01:01:56 +01:00
Master ScienceSim 267f18925d First attempt to get multiple attachments working to support viewer2.
The attachment code appears to work correctly for 1.23 viewers so, in
spite of some big changes in the internal representation, there don't
appear to be regressions. That being said, I still can't get a viewer2
avatar to show correctly.
2010-10-21 16:48:58 -07:00
opensim mirror account 33589ba31b Merge branch 'master' of /var/git/opensim/ 2010-10-21 13:00:05 -07:00
AdelleF 529fb58b7b This fixes a delay in llSetLinkPrimitiveParamsFast
Signed-off-by: dahlia <dahliaTrimble@gmail.removeme.com>
2010-10-21 12:56:36 -07:00
opensim mirror account 27aac37c02 Merge branch 'master' of /var/git/opensim/ 2010-10-21 12:10:04 -07:00
Diva Canto fe99f194ad Deleted a verbose and unneeded log message. 2010-10-21 12:00:30 -07:00
Melanie 08e14d653e Merge branch 'dev-appearance' of git://github.com/cmickeyb/opensim into dev-appearance 2010-10-21 17:09:42 +01:00
opensim mirror account e62bef2e90 Merge branch 'master' of /var/git/opensim/ 2010-10-21 08:30:12 -07:00
Melanie bb78f1c05a Make SImStatsReporter pick ObjectCapacity striaght out of region info 2010-10-21 15:36:32 +01:00
opensim mirror account 656b2f84a8 Merge branch 'master' of /var/git/opensim/ 2010-10-21 06:10:04 -07:00
Melanie 338e7481f9 Remove a bit of dead code relating to ObjectCapacity 2010-10-21 13:21:46 +01:00
opensim mirror account bab7f99865 Merge branch 'master' of /var/git/opensim/ 2010-10-21 02:20:04 -07:00
Melanie 01bc4fc9da Fix the OOB error (#5102). Sorry, my bad. 2010-10-21 09:30:09 +01:00
opensim mirror account 6df87e5b3f Merge branch 'master' of /var/git/opensim/ 2010-10-21 00:10:03 -07:00
Melanie 1f7577b735 Skip empty strings in ParseString* functions 2010-10-21 07:19:10 +01:00
opensim mirror account 7a8aba0bc0 Merge branch 'master' of /var/git/opensim/ 2010-10-20 20:50:06 -07:00
dahlia f8a47801ee Merge branch 'master' of ssh://MyConnection01/var/git/opensim 2010-10-20 20:43:08 -07:00
dahlia 9038218c2d fix combining of multiple physics submeshes 2010-10-20 20:39:05 -07:00
opensim mirror account dfa654154c Merge branch 'master' of /var/git/opensim/ 2010-10-20 19:40:09 -07:00
Jonathan Freedman 017b83d0a3 * remove some spurious debug info
* The last 4 commits are a patch from otakup0pe that's supposed to make URLs better somehow in an effort to make it easier to do hypergrid (I think)..    But as it seems that I'm the only one who was able to apply the patch.. and I looked it over and it doesn't look like it breaks anything via the diffs..     I'll sign off on it.

Signed-off-by: Teravus Ovares (Dan Olivares) <teravus@gmail.com>
2010-10-20 22:36:29 -04:00
Jonathan Freedman 58f75fa19d * more url / hg cleanup 2010-10-20 22:21:45 -04:00
Jonathan Freedman 19119d7705 * additional serveruri cleanup 2010-10-20 22:21:41 -04:00
Jonathan Freedman 55974df14b * refactor refactor refactor ServerURI 4 lyfe 2010-10-20 22:21:23 -04:00
Jonathan Freedman 335f2ddad2 Merge branch 'master' of git://opensimulator.org/git/opensim 2010-10-20 20:26:37 -04:00
Master ScienceSim b1c8d05888 Major refactoring of appearance handling.
AvatarService -- add two new methods, GetAppearance and SetAppearance
to get around the lossy encoding in AvatarData. Preseve the old
functions to avoid changing the behavior for ROBUST services.

AvatarAppearance -- major refactor, moved the various encoding
methods used by AgentCircuitData, ClientAgentUpdate and
ScenePresence into one location. Changed initialization.

AvatarAttachments -- added a class specifically to handle
attachments in preparation for additional functionality
that will be needed for viewer 2.

AvatarFactory -- removed a number of unused or methods duplicated
in other locations. Moved in all appearance event handling from
ScenePresence. Required a change to IClientAPI that propogated
throughout all the IClientAPI implementations.
2010-10-20 16:17:54 -07:00
Jonathan Freedman 94684a2251 * remove some spurious debug info 2010-10-20 02:36:59 -04:00
opensim mirror account b2478b41c8 Merge branch 'master' of /var/git/opensim/ 2010-10-19 22:30:05 -07:00
Diva Canto a7acb650d4 Deleted verbose debug messages that are bringing sims to an halt. Increased the user cache expiration period to 33 hours. 2010-10-19 22:26:07 -07:00
Teravus Ovares (Dan Olivares) 9f975ad5aa * One more goofy thing. I note that the sculpt texture id is broken out of the ExtraParams data in UploadObjectAsset. At this moment, if you're uploading a Sculpt, make sure to break out the Texture ID into the object data or it might not get applied appropriately. 2010-10-20 01:23:54 -04:00
opensim mirror account 436816276b Merge branch 'master' of /var/git/opensim/ 2010-10-19 21:50:06 -07:00
Jonathan Freedman 087cb951e2 Merge branch 'master' of git://opensimulator.org/git/opensim 2010-10-20 00:43:29 -04:00
Teravus Ovares (Dan Olivares) edce4e9c67 * This removes an ugly extraparams hack that I used and makes UploadObjectAsset into a generic linkset upload tool. 2010-10-20 00:40:05 -04:00
opensim mirror account d54b25baaa Merge branch 'master' of /var/git/opensim/ 2010-10-19 15:20:04 -07:00
Diva Canto 8731c2be11 It looks like Vector3s also got written down in lower case at some point in time. Added code to account for that.
17:45:59 - [SceneObjectSerializer]: exception while parsing SitTargetPosition: System.Xml.XmlException: Expecting X tag from namespace , got x and  instead  Line 1, position 2838.
2010-10-19 15:16:29 -07:00
opensim mirror account d95982137a Merge branch 'master' of /var/git/opensim/ 2010-10-19 15:10:03 -07:00
Diva Canto 8acac3d07f Another take related to the previous commit. 2010-10-19 15:07:15 -07:00
opensim mirror account 5110366baf Merge branch 'master' of /var/git/opensim/ 2010-10-19 14:40:08 -07:00
Diva Canto 3b2d9a9939 Added code to quaternion deserialization to try to cope with an exception seen in Wright Plaza related to SitTargetOrientation.
17:23:05 - [SceneObjectSerializer]: exception while parsing SitTargetOrientation: System.Xml.XmlException: Expecting X tag from namespace , got w and  instead  Line 1, position 30064.
2010-10-19 14:37:03 -07:00
opensim mirror account 134eaf67bf Merge branch 'master' of /var/git/opensim/ 2010-10-19 00:10:03 -07:00
Diva Canto 684449f783 Added TextureAnimation and ParticleSystem to serialization. 2010-10-19 00:04:02 -07:00
opensim mirror account 4eb05dabf4 Merge branch 'master' of /var/git/opensim/ 2010-10-18 23:00:07 -07:00
Teravus Ovares (Dan Olivares) b2c1a1c9bd * This concludes UploadObjectAsset for now until the permissions and physics shape are added to the message serialization.
* You should now be able to upload multiple mesh collada mesh objects.  They should appear in front of you (or on top of you!) when you upload them.
* Once again, thanks to John Hurliman and Latif Khalifa for insight and smxy for cheering me on :D
2010-10-19 01:53:56 -04:00
opensim mirror account 8d38c4593e Merge branch 'master' of /var/git/opensim/ 2010-10-18 20:50:03 -07:00
Teravus Ovares (Dan Olivares) 158e43d4fd * Almost complete implementation of UploadObjectAsset cap. all meshes get uploaded but they're improperly positioned/oriented at the moment. 2010-10-18 23:47:35 -04:00
Jonathan Freedman 12128f1917 Merge branch 'master' of git://opensimulator.org/git/opensim 2010-10-18 23:00:48 -04:00
opensim mirror account a2475a7b8c Merge branch 'master' of /var/git/opensim/ 2010-10-18 18:30:05 -07:00
Justin Clark-Casey (justincc) e561070d3f Add 'contributors' notice for zlib.net.dll to keep track of its origin and version. Dahlia, please correct the details if they're wrong. 2010-10-19 02:28:10 +01:00
Justin Clark-Casey (justincc) 37a6be7ca9 Stop the InventoryTransferModule logging every IM notification it receives, even if they are nothing to do with it. 2010-10-19 02:20:47 +01:00
opensim mirror account 929321de57 Merge branch 'master' of /var/git/opensim/ 2010-10-18 18:20:03 -07:00
Justin Clark-Casey (justincc) 5dd372edc4 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-10-19 02:12:36 +01:00
opensim mirror account f6eaa1e6af Merge branch 'master' of /var/git/opensim/ 2010-10-18 18:10:03 -07:00
Justin Clark-Casey (justincc) 99388ce610 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-10-19 02:08:50 +01:00
Justin Clark-Casey (justincc) 478b44f231 Pass in requesting agent ID when GetGroupMembers is called in the XMLRPC groups module
This allows the groups xmlrpc server to act appropriately if the requesting agent has permission to see all group members
Not sure why this wasn't being done before...
2010-10-19 02:04:23 +01:00
Justin Clark-Casey (justincc) b9bef50852 Display more information when xmlrpcgroupsserver comms fails
Improve debugging messages
2010-10-19 02:04:14 +01:00
opensim mirror account 963b129389 Merge branch 'master' of /var/git/opensim/ 2010-10-18 17:40:03 -07:00
Melanie 43a4b7b735 COmmented the wrong line instead, now I commented them all to be on the safe side 2010-10-19 01:23:25 +01:00
Melanie 5b29b975ee Comment a spammy debug message in the serializer 2010-10-19 00:51:04 +01:00
opensim mirror account 48127ba943 Merge branch 'master' of /var/git/opensim/ 2010-10-18 15:50:04 -07:00
Melanie 7de30cc57b Change substring matching to prefix matching in region search. This affects
both map and login, as they use the same method.
2010-10-18 22:59:00 +01:00
opensim mirror account da29a1a1a1 Merge branch 'master' of /var/git/opensim/ 2010-10-18 13:20:03 -07:00
Melanie 551015db63 Alphabetize results on region search by prefix matching 2010-10-18 20:29:00 +01:00
opensim mirror account bc6a9cf8ba Merge branch 'master' of /var/git/opensim/ 2010-10-18 12:00:10 -07:00
Melanie e48ac93803 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-18 19:08:55 +01:00
Melanie 2be93066da Bump migration version on LastSeen field so it is actually run 2010-10-18 19:08:26 +01:00
opensim mirror account c48b051c71 Merge branch 'master' of /var/git/opensim/ 2010-10-18 04:30:07 -07:00
dahlia e3bd10829f remove some cruft from last commit 2010-10-18 04:26:23 -07:00
opensim mirror account c524c0e375 Merge branch 'master' of /var/git/opensim/ 2010-10-18 04:20:05 -07:00
dahlia 7fa3335fd5 initial support for meshies physics. Must set ini option UseMeshiesPhysicsMesh = true to enable. See file OpenSimDefaults.ini for example. 2010-10-18 04:17:36 -07:00
Jonathan Freedman 4e4fb93fae Merge branch 'master' of git://opensimulator.org/git/opensim 2010-10-17 18:45:25 -04:00
opensim mirror account e37566b4fb Merge branch 'master' of /var/git/opensim/ 2010-10-17 10:50:07 -07:00
Diva Canto 6df4ca7de1 Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-10-17 10:42:04 -07:00
Diva Canto 7038f2b406 Deleted all [XmlIgnore] from SOP, since those are meaningless now. 2010-10-17 10:41:38 -07:00
Diva Canto 22eff055d4 .NET automagical serialization of SOPs replaced by manual serialization across the board. 2010-10-17 10:35:38 -07:00
opensim mirror account fa7d2f6538 Merge branch 'master' of /var/git/opensim/ 2010-10-17 02:40:07 -07:00
BlueWall 06b61b68c7 Adding osFunctions for light projection
Set the projection parameters in the host prim ...
	osSetProjectionParam(bool Enabled,
				key TextureMaskUUID,
				float FOV,
				float Focus,
				float Ambiance);

	Set the projection parameters in a target prim ...
	osSetProjectionParam(ikey target uuid,
				bool Enabled,
				key TextureMaskUUID,
				float FOV,
				float Focus,
				float Ambiance);

	Threat Level very high

Signed-off-by: Melanie <melanie@t-data.com>
2010-10-17 09:52:12 +01:00
opensim mirror account 89b236d17d Merge branch 'master' of /var/git/opensim/ 2010-10-16 18:50:03 -07:00
Teravus Ovares (Dan Olivares) 551d927ed5 typical non-effectual build trigger 2010-10-16 21:48:15 -04:00
opensim mirror account f90b2ef918 Merge branch 'master' of /var/git/opensim/ 2010-10-16 18:00:09 -07:00
BlueWall 9e421868e3 Add missing check for !_projectionEntry
Signed-off-by: Teravus Ovares (Dan Olivares) <teravus@gmail.com>
2010-10-16 20:59:18 -04:00
opensim mirror account 4c0bbc8661 Merge branch 'master' of /var/git/opensim/ 2010-10-15 23:30:04 -07:00
Justin Clark-Casey (justincc) 06d37d06e6 Drop max oar loading version back to 0 from 1 2010-10-16 07:25:55 +01:00
opensim mirror account 6998f9268b Merge branch 'master' of /var/git/opensim/ 2010-10-15 23:20:03 -07:00
Justin Clark-Casey (justincc) edc31adf95 Rip out version option since it turns out that the changed object serialization format can actually be loaded by older OpenSims after all
This bumps the OAR version to 0.4 instead, signalling some change but with backwards compatability... for now.
2010-10-16 07:09:13 +01:00
opensim mirror account 907c576c00 Merge branch 'master' of /var/git/opensim/ 2010-10-15 21:40:03 -07:00
Justin Clark-Casey (justincc) e41b23a1a4 change --old-guids switch on the save oar command line to --version=<x>
if x is 0, then an old version 0.3 archive is saved.  If it is anything else or missing, then a version 1.0 archive is saved
version 1.0 archives cannot be loaded on OpenSim 0.7.0.2 and earlier
also add various informational notices about what version we've saving/loading
2010-10-16 05:38:44 +01:00
opensim mirror account 4f6badca04 Merge branch 'master' of /var/git/opensim/ 2010-10-15 21:10:02 -07:00
Justin Clark-Casey (justincc) 3df8d8ff76 Have OpenSim throw a strop if it tries to load an OAR with a major version that is too high for it to handle 2010-10-16 04:59:51 +01:00
opensim mirror account e2c04e15b9 Merge branch 'master' of /var/git/opensim/ 2010-10-15 20:00:08 -07:00
Justin Clark-Casey (justincc) 1bd4219078 save oar control file first rather than in the middle so that it's the first thing we come accross on load
this exposes a weekness with using tar where we don't control the order in which files are loaded.  can't be helped for now
2010-10-16 03:52:11 +01:00
opensim mirror account 2a2bb5ebf1 Merge branch 'master' of /var/git/opensim/ 2010-10-15 18:40:03 -07:00
Justin Clark-Casey (justincc) fe4e6ff811 Fix test break - TestSerializeXml2() still requires old-guids option 2010-10-16 02:38:46 +01:00
opensim mirror account 06b17841e2 Merge branch 'master' of /var/git/opensim/ 2010-10-15 17:30:05 -07:00
Diva Canto 1499607215 Made OARs use the new serialization procedure. (TPs/crossings still on the old one) Added an options argument down the pipeline. For the time being it takes --old-guids as an option to produce <Guid> instead of <UUID>. 2010-10-15 17:27:19 -07:00
opensim mirror account 1341ad1c91 Merge branch 'master' of /var/git/opensim/ 2010-10-15 15:50:04 -07:00
Diva Canto e039a8c8c2 UPdated the MySql driver to 6.2.4. Also established a much larger MySqlCommand timeout on fetching prims. 2010-10-15 15:43:06 -07:00
opensim mirror account d99d7e2f63 Merge branch 'master' of /var/git/opensim/ 2010-10-15 06:50:07 -07:00
BlueWall dd1058e6b3 Adding projected light filters to prim propeties
Requires the LL Mesh Beta viewer
Signed-off-by: Teravus Ovares (Dan Olivares) <teravus@gmail.com>
2010-10-15 09:46:49 -04:00
opensim mirror account bec522cc09 Merge branch 'master' of /var/git/opensim/ 2010-10-14 23:00:04 -07:00
Latif Khalifa cd4d7a7c35 A couple of more ways attachment point is sent
Signed-off-by: Teravus Ovares (Dan Olivares) <teravus@gmail.com>
2010-10-15 01:56:08 -04:00
opensim mirror account 44b163bba7 Merge branch 'master' of /var/git/opensim/ 2010-10-14 22:50:03 -07:00
Teravus Ovares (Dan Olivares) de696a2fc6 Merge branch 'master' of ssh://MyConnection/var/git/opensim 2010-10-15 01:46:00 -04:00
Teravus Ovares (Dan Olivares) 0308982c58 one more silly line ending thing.... *If you have problems, fetch the tree and rebase.
Signed-off-by: Teravus Ovares (Dan Olivares) <teravus@gmail.com>
2010-10-15 01:45:25 -04:00
opensim mirror account 28a45a7914 Merge branch 'master' of /var/git/opensim/ 2010-10-14 20:40:09 -07:00
Teravus Ovares (Dan Olivares) 657ff01212 one more silly line ending thing....
*If you have problems, fetch the tree and rebase.
2010-10-14 23:32:33 -04:00
opensim mirror account 19fdfc1a97 Merge branch 'master' of /var/git/opensim/ 2010-10-14 20:30:04 -07:00
dahlia bcdd03c1cf more work in progress on mesh physics - still non-functional 2010-10-14 20:25:31 -07:00
opensim mirror account 49b4281ac6 Merge branch 'master' of /var/git/opensim/ 2010-10-14 18:30:05 -07:00
Latif Khalifa b4c54765d2 libomv update to support headerless llsd binary deserialization needed for mesh asset decoding
Signed-off-by: Teravus Ovares (Dan Olivares) <teravus@gmail.com>
2010-10-14 21:26:26 -04:00
opensim mirror account ad5e6da4df Merge branch 'master' of /var/git/opensim/ 2010-10-14 13:20:04 -07:00
dahlia 2d88394cd5 laying some groundwork for mesh physics 2010-10-14 13:10:03 -07:00
opensim mirror account cb2c1d794c Merge branch 'master' of /var/git/opensim/ 2010-10-14 09:30:05 -07:00
Teravus Ovares (Dan Olivares) 486eede9be Merge branch 'master' of ssh://MyConnection/var/git/opensim 2010-10-14 12:24:07 -04:00
Teravus Ovares (Dan Olivares) c148ef25a9 * Replacing Magic numbers with Enums 2010-10-14 12:23:41 -04:00
opensim mirror account 8f16d65896 Merge branch 'master' of /var/git/opensim/ 2010-10-14 09:20:04 -07:00
opensim mirror account 5dc8638d8b Merge branch 'master' of /var/git/opensim/ 2010-10-14 09:10:02 -07:00
Diva Canto 41ce392d9b Added manual xml2 serialization. Rewired only save xml2, not oars yet. Seems to be generating xml's that are successfully parsed. Needs more testing. 2010-10-14 09:05:46 -07:00
Latif Khalifa 405935492b Don't distroy attachments when using viewer 2.1+, strip multiple attachment data 2010-10-14 16:28:51 +01:00
Melanie ba247f729d Kill some magic numbers in the mesh upload module and change the mesh asset
type from 45 to 49 to match OMV trunk
2010-10-14 16:28:51 +01:00
opensim mirror account 64a41f67c5 Merge branch 'master' of /var/git/opensim/ 2010-10-14 07:20:09 -07:00
Teravus Ovares (Dan Olivares) 3cb716d291 Merge branch 'master' of ssh://MyConnection/var/git/opensim
Signed-off-by: Teravus Ovares (Dan Olivares) <teravus@gmail.com>
2010-10-14 10:12:57 -04:00
opensim mirror account a3eeca174e Merge branch 'master' of /var/git/opensim/ 2010-10-14 07:00:06 -07:00
Teravus Ovares (Dan Olivares) 05c4e27a30 * A few additional cleanup elements
* At this point, I want to make sure to thank the fabulous developers of the LibOpenMetaverse library for tirelessly keeping things updated and hammering away at the protocols and providing excellent tools to figure out where things go wrong.
* Special thanks to John Hurliman and Latif Khalifa for their valuable insight.
2010-10-14 09:57:42 -04:00
Latif Khalifa 69dbfe2a69 Updated to libomv-opensim r3449 2010-10-14 15:46:36 +02:00
opensim mirror account 88959e045b Merge branch 'master' of /var/git/opensim/ 2010-10-14 06:40:25 -07:00
Teravus Ovares (Dan Olivares) 6d99f0c627 * Whoops, That was supposed to use the HTTP VERB 'GET' not 'POST'
* At this point.   Visually, Mesh works OK.   Remember peeps, this is still highly experimental from the viewer side as well as the Simulator side.   There are known problems with the new beta viewers and attachment breaking so be careful until that's fixed.    Additionally there some new properties in the Mesh Viewer that determine physics settings that are non-functional.   More work will be done on that.
2010-10-14 09:34:37 -04:00
opensim mirror account 5af10a61e4 Merge branch 'master' of /var/git/opensim/ 2010-10-14 06:30:13 -07:00
Teravus Ovares (Dan Olivares) 7e363b79c7 * Tweaked the upload response and now at least uploading the mesh works.
* Binary error on downloading the mesh though..   so still not yet working.
2010-10-14 09:24:15 -04:00
opensim mirror account b75dfdd151 Merge branch 'master' of /var/git/opensim/ 2010-10-14 00:30:06 -07:00
Teravus Ovares (Dan Olivares) 9c5f8a6802 Merge branch 'master' of ssh://MyConnection/var/git/opensim 2010-10-14 03:23:37 -04:00
Teravus Ovares (Dan Olivares) b4a5ce148c Rename file + more testing and tweaking 2010-10-14 03:22:44 -04:00
opensim mirror account 84fc9e003f Merge branch 'master' of /var/git/opensim/ 2010-10-14 00:20:04 -07:00
opensim mirror account eb606559e7 Merge branch 'master' of /var/git/opensim/ 2010-10-13 23:30:06 -07:00
Melanie 6ac6ca057d Kill some magic numbers in the caps module 2010-10-14 07:28:20 +01:00
Teravus Ovares (Dan Olivares) 3384f643eb * Partially complete stuff for Mesh support that Melanie wanted to see before it was done.
* Shouldn't break the build.
* Doesn't work yet either.
2010-10-14 02:19:42 -04:00
opensim mirror account 2f582500ce Merge branch 'master' of /var/git/opensim/ 2010-10-13 17:40:06 -07:00
Teravus Ovares (Dan Olivares) 46738bbd16 Merge branch 'master' of ssh://MyConnection/var/git/opensim
Conflicts:
	bin/OpenSimDefaults.ini
2010-10-13 20:29:55 -04:00
Teravus Ovares (Dan Olivares) 1a57c65810 * Normalizing endlines so git stops complaining about them being inconsistent.
* People will hate me for updating OpenSimDefaults..   but meh.   Gotta be done or git is unhappy.
2010-10-13 20:26:46 -04:00
opensim mirror account b44c894ba1 Merge branch 'master' of /var/git/opensim/ 2010-10-13 15:50:03 -07:00
Diva Canto 45e0cdfcad Added SOP.MediaUrl and Shape.Media to the deserialization 2010-10-13 15:44:25 -07:00
opensim mirror account 6e37e55063 Merge branch 'master' of /var/git/opensim/ 2010-10-13 14:20:03 -07:00
Justin Clark-Casey (justincc) aa60c4b129 fix build break 2010-10-13 22:18:57 +01:00
opensim mirror account cc8498a31a Merge branch 'master' of /var/git/opensim/ 2010-10-13 11:30:07 -07:00
Melanie eeac2a9e6a Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-13 18:41:52 +01:00
Melanie Thielker ccd5610997 Correctly update the LastSeen field 2010-10-13 18:41:09 +01:00
Melanie Thielker 01728fb19e Ensure no UUID.Zero region ID is ever written to presence. Add a Migration
to add a LastSeen field of type "Timestamp" to Presence for MySQL
2010-10-13 18:40:33 +01:00
opensim mirror account 12c0a05ae7 Merge branch 'master' of /var/git/opensim/ 2010-10-13 10:40:04 -07:00
Diva Canto d7c9bc3b1c Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-10-13 10:39:01 -07:00
Diva Canto d890390ecf Comment a debug message so that it doesn't spew the console upon encountering unknown xml elements. 2010-10-13 10:38:34 -07:00
opensim mirror account e96621b27f Merge branch 'master' of /var/git/opensim/ 2010-10-13 10:00:08 -07:00
Teravus Ovares (Dan Olivares) a132edbdae Merge branch 'master' of ssh://MyConnection/var/git/opensim 2010-10-13 12:42:02 -04:00
Teravus Ovares (Dan Olivares) 14a0f4fe9b *typical non-effectual commit to trigger a build 2010-10-13 12:40:21 -04:00
Melanie b4c718f93b Remove carriage returns from OpenSimDefaults.ini. Correct one typo. Change
.ini.example ";;" format to normal ini format, since the defaults file
is not parsed that way.
2010-10-13 17:07:13 +01:00
opensim mirror account e863c0052b Merge branch 'master' of /var/git/opensim/ 2010-10-13 08:20:07 -07:00
Diva Canto 54a3b8e079 New SOG/SOP parser using XmlTextReader + delegates dictionary. Active for load oar and load xml2, but not for packing objects on crossings/TPs yet. 2010-10-13 08:16:41 -07:00
Jonathan Freedman a2167b0f0d * more url / hg cleanup 2010-10-11 16:53:00 -04:00
Jonathan Freedman 2654ab6300 Merge branch 'master' of git://opensimulator.org/git/opensim 2010-10-10 18:06:27 -04:00
opensim mirror account 873e551bb3 Merge branch 'master' of /var/git/opensim/ 2010-10-10 15:00:12 -07:00
Melanie 30f926aab6 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-10 22:07:51 +01:00
Melanie f2febb89fc Change the part for sound playback to be the root part / object UUID instead
of the child prim because using the child prim plain doesn't work.
2010-10-10 22:07:36 +01:00
opensim mirror account 1ee628c7d5 Merge branch 'master' of git@github.com:opensim/opensim 2010-10-09 11:06:33 -07:00
Teravus Ovares (Dan Olivares) cf61cf7b32 * Make line endings consistant in Meshmerizer.cs 2010-10-09 13:50:53 -04:00
Latif Khalifa 0dd4071156 Fix a typo in previouis commit: start must not pass the end of the file 2010-10-09 18:22:21 +02:00
Diva Canto aeecdd1430 Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-10-09 09:09:38 -07:00
Diva Canto 78f6fe0b31 Added missing sections to StandaloneHypergrid.ini 2010-10-09 09:09:16 -07:00
Teravus Ovares (Dan Olivares) 3454dfbcb3 weird line endings fix commit 2010-10-09 12:07:58 -04:00
Latif Khalifa 5e381ec67c Return error code instead of the last byte of the file if range is not satisfiable 2010-10-09 18:01:11 +02:00
Latif Khalifa 06d3a529a9 In case when 1 single byte is requested (yes viewer does this)
start of the ranges gets clamped with a wrong value. In case of a texture with
601 byte long texture the viewer request range 0-599 first, then 600- in which case
both start and end should be 600.

End can also be 0, valid request for the firt byte of the file is 0-0.

Thanks to Thickbrick for explaining how HTTP range header works.
2010-10-09 17:46:09 +02:00
Melanie 96080dc492 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-09 01:05:05 +01:00
Justin Clark-Casey (justincc) ed161020e2 minor: remove some mono compiler warnings 2010-10-09 01:46:29 +01:00
Marck 211ea5d521 Limit formatting of local console output to actual logging messages.
The formatting of lines with the help of a regular expression match will be done only for output with an explicitly given logging level.
This fixes the issue of colons being added to help texts on the local console.
2010-10-09 00:47:39 +01:00
Melanie 4a57288577 Fix an infinite recursion 2010-10-08 23:23:07 +01:00
Melanie 4a0911bdbd Guard against locking a nullref to avoid build break 2010-10-08 19:19:07 +01:00
Melanie 5dcbbb726a Change the order of actions to address a possible nullref 2010-10-08 18:40:13 +01:00
Jonathan Freedman 4adada6fe4 Merge branch 'master' of git://opensimulator.org/git/opensim 2010-10-07 23:47:39 -04:00
Melanie 1e66f79a4e Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-08 03:09:04 +01:00
dahlia 0d9c94033d move CacheSculptMaps ini flag to OpenSimDefaults.ini
comment it and change defailt to true to reflect code
2010-10-07 19:48:17 -07:00
dahlia 9391c3ffee add a flag in OpenSim.ini.example for enabling/disabling decoded sculpt map caching for meshing 2010-10-07 19:34:46 -07:00
Melanie 12bc6a7414 Clarify the format comment at the top of OpenSim.ini.example 2010-10-08 03:08:05 +01:00
Melanie 9a5d0984a5 Fix autoreturn to not return zero objects 2010-10-07 02:16:36 +01:00
Melanie abfede7819 Plumb the path for multiple object deletes 2010-10-06 20:00:51 +01:00
Melanie d45276b3f6 Add and plumb the usetex URL parameter to worldview. Required but not yet
functional
2010-10-06 05:44:19 +01:00
Melanie 9a1c8db443 Convert worldview to GET 2010-10-06 05:17:31 +01:00
Melanie 623f57deb5 Change the URL /worldview to /worldview/<region id> to support multiregion 2010-10-06 03:51:55 +01:00
Melanie 752b6a8764 Convert the BMP to a JPEG image and return it. This should be testable. 2010-10-06 03:40:55 +01:00
Melanie abfcd168fc Add the parameter plumbing and image generation 2010-10-06 03:32:01 +01:00
Melanie 17316170a5 Add WOrldView request handler and plumbing 2010-10-06 03:03:10 +01:00
Melanie 7d62ab6a9e Fix incorrect class name 2010-10-06 02:16:42 +01:00
Melanie ce89f08f6b Add WorldView module skeleton 2010-10-06 02:06:50 +01:00
Melanie c97398575c Convert the map image modules to new style modules 2010-10-06 01:42:18 +01:00
Jonathan Freedman 84cf0ffbf1 Merge branch 'master' of git://opensimulator.org/git/opensim 2010-10-05 20:06:27 -04:00
Jonathan Freedman 593fc5c87a Merge branch 'master' of git://opensimulator.org/git/opensim 2010-10-05 19:45:37 -04:00
Melanie 613bdb40bd Remove sirikata project 2010-10-06 00:22:08 +01:00
Melanie 7e6a047769 Remove defunct sirikata client stack 2010-10-06 00:20:41 +01:00
Melanie 5d61323192 Add the view generating method to the image generator interface 2010-10-05 23:49:21 +01:00
Melanie b424af6187 Revert an accidental default value change 2010-10-05 23:06:29 +01:00
Melanie 4a171af0cc Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-05 22:57:05 +01:00
Melanie eb491d2c36 Patch to allow other cam angles. Not complete. Thanks, Antont. 2010-10-05 22:56:20 +01:00
Jonathan Freedman 8f1acb890a Merge branch 'master' of git://opensimulator.org/git/opensim 2010-10-05 14:17:18 -04:00
Jeff Ames 07122614d5 Formatting cleanup. 2010-10-04 22:44:22 -04:00
Melanie ba0a19c228 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-05 02:12:35 +01:00
Jeff Ames bc9f793a92 Formatting cleanup. 2010-10-04 21:28:17 -04:00
BlueWall eb17d581d3 Make windlight set the default environment on start 2010-10-05 01:54:15 +01:00
Jeff Ames eeca0ee009 Formatting cleanup. 2010-10-04 17:10:07 -04:00
Latif Khalifa cb6e4035c7 Avoid throwing errors when adding existing meshes to the render scene 2010-10-04 06:02:09 +01:00
Melanie 0e7e92b67f Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-04 04:49:09 +01:00
Diva Canto 37231e0941 Made the home agent handler check for xff if behind a proxy. 2010-10-03 21:21:02 -07:00
Latif Khalifa 67cfde3fb4 Added Meshmerizer rendering plugin for libomv 2010-10-04 04:48:42 +01:00
Latif Khalifa adc3cfdcdc Removed linden renderer 2010-10-04 04:44:33 +01:00
Latif Khalifa 940246f2d5 Use libomv 0.8.4.3445 2010-10-04 04:44:16 +01:00
Diva Canto 934ae03d44 Made the Gatekeeper proxy-able. 2010-10-03 20:35:26 -07:00
Melanie 78aea6239d Revert "Add linden prim renderer and update libOMV"
This reverts commit 766ce9a141.
2010-10-04 04:25:44 +01:00
Melanie f35a88663b Revert "Fix a comment marker"
This reverts commit f89dd85f68.
2010-10-04 04:25:37 +01:00
Melanie d4ba505c85 Revert "Add the matching PrimMesher.dll"
This reverts commit be301c5815.
2010-10-04 04:25:30 +01:00
Melanie 5715545c57 Revert "Replaced OpenMetaverse dlls with ones compiled in Windows."
This reverts commit eb0cde7959.
2010-10-04 04:25:10 +01:00
Diva Canto 2d5173c205 Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-10-03 20:02:31 -07:00
Diva Canto 0772e19af2 Added viewer's channel, mac, and id0 to agent circuit data. Also moved client ip address to agent circuit data, so that it's always there. 2010-10-03 20:01:59 -07:00
Diva Canto eb0cde7959 Replaced OpenMetaverse dlls with ones compiled in Windows. 2010-10-03 17:08:09 -07:00
Melanie be301c5815 Add the matching PrimMesher.dll 2010-10-04 01:04:38 +01:00
Melanie f89dd85f68 Fix a comment marker 2010-10-04 00:17:48 +01:00
Melanie 766ce9a141 Add linden prim renderer and update libOMV 2010-10-04 00:10:08 +01:00
Jonathan Freedman e3099d48f9 Merge branch 'master' of git://opensimulator.org/git/opensim 2010-10-03 18:04:38 -04:00
Jonathan Freedman 69acf9c79b * additional serveruri cleanup 2010-10-03 18:03:53 -04:00
Melanie 4d371b9d80 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-03 22:37:50 +01:00
Melanie 511751a733 I really have to say it again and again: e.Message is NOT enough data for
troubleshooting. It MUST be combined with e.StackTrace, or e.ToString() must
be used.
Fix one more instance of that cr.p
2010-10-03 22:36:27 +01:00
Diva Canto 72c1b09d57 Upgraded Mono.Addins.dll to 0.5, coming from here: http://monoaddins.codeplex.com/ 2010-10-03 10:35:53 -07:00
Melanie bda02da152 Add the Warp3D dll 2010-10-03 16:58:22 +01:00
Melanie 189cda1c3d Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-03 16:51:41 +01:00
Melanie 0b13cfa4dd Port ExecutingDirectory from omfOS Util class. 2010-10-03 16:50:50 +01:00
Melanie 4f70ac018b Adapt to core changes 2010-10-03 16:40:11 +01:00
Melanie 27340f616e Addign the new / renamed files for previous commit 2010-10-03 16:34:55 +01:00
Melanie ab4be3ffdf Initial port of the Warp3D map tile renderer 2010-10-03 16:34:17 +01:00
Diva Canto 0133619af2 Attempt at fixing mantis #5057 -- CPU pinned high with HGAssetBroker. 2010-10-02 17:02:02 -07:00
Jonathan Freedman 32ccc7a9d9 * refactor refactor refactor ServerURI 4 lyfe 2010-10-02 19:17:02 -04:00
Melanie 6fc1ceb2ee So, the client can have an old idea of the object properties for the object when it goes to buy. This can cause a problem in the buy process. Additionally Hazim mentioned that the buy packets are spoofable. The core modules are the crowing glory example of best practice :P, so therefore, setting the example here, Validate Client sent Buy Data. WebAppSecurity 101, Never trust a client. Validate Validate Validate! Or you'll have problems whether intentional or not. 2010-10-02 20:11:43 +01:00
Melanie 87c6386884 Reapplying the parts of the prior revert that were not derived from the
original patch
2010-10-02 18:47:26 +01:00
Melanie b01020b84a Revert "Forward-port 0.6 fix"
This reverts commit 90b51dc7d6.
2010-10-02 18:45:48 +01:00
Melanie f220a2c5eb Replace CalculateMass with a more accurate version, contributed by Ubit.
Thank you.
2010-10-02 00:24:16 +01:00
Melanie 2427e16b42 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-01 05:42:42 +01:00
BlueWall ffc1123ca5 adding -logconfig to Robust.exe
Adding -logconfig to Robust.exe. will still process the
	-logfile option, as before. No options given, the value
	"Robust.log" will be written in the ./bin directory
2010-10-01 05:42:18 +01:00
Master ScienceSim 9c6a591ad0 couple fixes to enable profiles in simian connector 2010-09-30 09:59:53 -07:00
Melanie eb58d91098 Prevent dropping someone else's attachments 2010-09-30 15:57:52 +01:00
Melanie 90b51dc7d6 Forward-port 0.6 fix 2010-09-30 15:52:33 +01:00
Melanie 29646bcf67 Fix an inventory fetch issue 2010-09-30 02:52:35 +01:00
John Hurliman 08ee7a0e51 Actually log users out (call LogoutAgent) in the SimianPresenceServiceConnector when LoggedOut() is called 2010-09-29 15:14:13 -07:00
John Hurliman 1255c7ceb6 Cleanup: Removed an unreferenced variable from ActivityDetector.cs 2010-09-29 14:39:13 -07:00
John Hurliman b6e0563ad7 Part two of the previous commit, making IGridUserService.LoggedOut() more flexible without changing current behavior 2010-09-29 14:34:02 -07:00
John Hurliman 9b7c99f0cf Made IGridUserService.SetLastPosition() more flexible to allow different possible implementations. This doesn't change any behavior or any Robust code, but it simplifies the SimianGrid connector by using the standard OpenSim interface for setting last position now 2010-09-29 14:24:32 -07:00
Melanie 0339d420e7 Restrict top colliders / top scripts to estate managers 2010-09-27 03:45:22 +01:00
Melanie 8e547d3491 Prevent setting arbitrary groups on your objects. 2010-09-27 02:11:55 +01:00
Melanie c2a4bdb2fe Fix build break 2010-09-27 01:40:29 +01:00
Melanie 84ab4742c8 Quash the region ID on intersim messages. That prevents people from determining
another avatars location
2010-09-27 01:31:17 +01:00
Melanie aaa4cb64a4 if you can't edit a prim's inventory, you don't need to see the asset ids.
Prevents stealing IDs of animations, sounds and textures from prim
inventories. Prevents copybot from gathering the wearable UUIDs needed for
pirating things from vendors.
2010-09-27 00:34:30 +01:00
Melanie 1f7d68e555 Restrict inventory items added in a transaction to folder belonging
to the connected client.
2010-09-27 00:30:26 +01:00
Melanie 6f78358b09 When receiving intersim IM, don't let the spoof protection bomb 2010-09-26 23:50:55 +01:00
Melanie dc49057c8a Consistency patch: use Path.Combine() instead of + and eliminate the need
for a trailing slash on exports/
2010-09-26 20:03:00 +01:00
Melanie 14db53b723 Another typo fix 2010-09-26 18:35:15 +01:00
Melanie d0c271adc6 Typo fixes 2010-09-26 18:06:23 +01:00
BlueWall b0b4782a2b adding configurable j2kDecodeCache path
allowing the decoded sculpt map cache path to be defined in
	the configuration files.

	Use DecodedSculpMapPath in the [Startup] section to set
	the path. The default is still ./bin/j2kDecodeCache
2010-09-26 17:04:11 +01:00
BlueWall 8afa21cef0 Some cleanup to OpenSimDefaults.ini
Fixing a couple of errors
2010-09-26 17:00:56 +01:00
Melanie 51e03617e9 Changes to preceding patch to make it conform to inifile formats. BLANK LINE
before each comment/option group, and DOUBLE SEMICOLONS before pure text
comments in OpenSim.ini.exemaple
2010-09-26 02:31:37 +01:00
BlueWall 4f25b73b57 Add configurable path to script engine assemblies
Adding ability to place script engine assemblies outside
	the codebase directories.

	Uses new [XEngine] option: ScriptEnginesPath = "path_to_assemblies"

Signed-off-by: Melanie <melanie@t-data.com>
2010-09-26 02:30:46 +01:00
Melanie d8ae287ebf Prevent spoofing the agent name on text IM 2010-09-25 06:56:08 +01:00
Melanie 3b76d7bbb6 Fix a minor economy issue 2010-09-25 06:09:35 +01:00
Justin Clark-Casey (justincc) 30d3e8a13e Add prim name to OdePrim Error and Warning messages.
This aims to make it easier to identify and remove rogue prims that are causing ODE to fall over.
2010-09-25 01:07:37 +01:00
Justin Clark-Casey (justincc) 6325fa515d Add UUID to physics prim name parameter so that diagnostic messages can be made more useful.
If a separate UUID parameter is better for the future then this can be added later on.
2010-09-25 00:51:40 +01:00
Justin Clark-Casey (justincc) b366ad5012 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-25 00:00:00 +01:00
Justin Clark-Casey (justincc) 5bcf9ae2f9 If the uuid gatherer fails to find the asset containing gesture metadata, then simply return rather than generating an exception
This matches existing behaviour, though better diagnostics for missing assets may be good later on.
This addresses http://opensimulator.org/mantis/view.php?id=4977
2010-09-24 23:58:37 +01:00
Kevin Cozens 8dc59f5b59 Added delay for llSetPrimitiveParams() and llSetLinkPrimitiveParams() functions per the LSL wiki.
Signed-off-by: Melanie <melanie@t-data.com>

This patch also fixes a large amount of trailing whitespace. While this is
beneficial, it should really be in a separate patch that fixes whitespace only.
Just good practice.
2010-09-24 16:25:14 +01:00
Teravus Ovares (Dan Olivares) acd5bbdb71 * One more item for CSharpSqlite
* Hopefully this will enable mac people to use SQLite again
* Someone cooler then me will need to figure out how to define CSharpSqlite with Mono so the conditional will pick up.
* There's also an error that occurs when you first load OpenSimulator under CSharpSQLite that goes away after.
* The databases are not byte for byte compatible.  Mono.Data.Sqlite is able to read CSharpSqlite made databases but not the reverse way.
2010-09-23 01:45:54 -04:00
Teravus Ovares (Dan Olivares) 983c6a74b1 * Add CSharpSqlite to prebuild
* Use a conditional define to determine whether we're using CSharpSqlite or Mono.Data.Sqlite
#if CSharpSqlite
    using Community.CsharpSqlite.Sqlite;
#else
    using Mono.Data.Sqlite;
#endif
* Hopefully, this will restore sqlite functionality on a Mac.  In visual studio, you can edit the OpenSim.Data.SQLite project, go to the Build tab and enter CSharpSqlite in the box.  I'm not sure how to define CSharpSqlite in Mono, someone better at it then me will have to take the job of figuring out the best way to define it in Mono.
2010-09-23 01:21:08 -04:00
Teravus Ovares (Dan Olivares) 33ae5ad309 * Pushing the Community.CSharpSqlite.Sqlite dll's I built. This is a slightly modified version of CSharpSqlite built in silverlight mode so that it doesn't have the locking issues that it normally would under .NET and a custom ADO.NET wrapper based on Mono.Data.Sqlite. I'm not entirely sure if these will be kept here like this in debug mode with the pdb's Maybe to start.. but after some testing we'll put them in release mode. 2010-09-23 00:50:18 -04:00
Melanie 2b8c99c2fb Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-09-21 04:02:50 +01:00
Melanie 14adf90805 Fix a typo 2010-09-21 04:02:34 +01:00
Melanie 10a37f5be4 Refactor script create permission into the perms module 2010-09-21 04:02:28 +01:00
Justin Clark-Casey (justincc) 51207c24a0 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-21 01:04:08 +01:00
Justin Clark-Casey (justincc) 192bcab987 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-21 01:01:07 +01:00
Justin Clark-Casey (justincc) a85779e477 If the uuid of a SceneObjectGroup (RootPart) is changed before adding to the scene, remove the old uuid reference from m_parts as well as adding the new one.
The separate remove and set operations is SOG.set_UUID() are both locked under m_parts.SyncRoot since they are logically atomic (though this isn't such an issue if the SOG isn't part of a scene)
Added unit test for this behaviour.
Also changed the second m_parts.AddOrReplace() to m_parts.Add().  As the old reference is now removed we never end up replacing an identical uuid.  And if we replace a uuid that's already there (from a child part) then this is an error.
2010-09-21 00:58:54 +01:00
Teravus Ovares (Dan Olivares) 27d5976b87 * Tweaked the LocationTests for maximum coverage.
* Added more mundane tests.
2010-09-18 03:42:37 -04:00
Teravus Ovares (Dan Olivares) c203fae26b * Covered the type converters in SLUtil with unit tests.
* Does anyone have an example raw notecard to look at and test the notecard parser?
2010-09-18 02:49:42 -04:00
Teravus Ovares (Dan Olivares) 4d83879704 * More Mundane Tests
* SL Util tests of AssetType2ContentType and ContentType2AssetType
2010-09-17 23:27:41 -04:00
Justin Clark-Casey (justincc) a22f007246 Improve the explanative text of migration failures
When running for the first time, people see migration failures because of sql statements that are trying to move data from old tables (e.g. users).  The amended text attempts to calm their nerves.
2010-09-18 03:37:10 +01:00
Marck 7ee0a8d30e Clarify help text for use of file paths with console command "create region". 2010-09-18 02:30:56 +01:00
Marck cd42cdcc89 REST Console delivers responses with content type text/xml instead of text/plain.
Non-error responses to requests SessionCommand and CloseSession should use the appropriate content type for their XML data payload.
2010-09-18 02:24:04 +01:00
Justin Clark-Casey (justincc) 2501372d3b Add m_syncRoot lock to MapAndArray.ContainsKey(), as discussed with jhurliman
Though this is actually thread-safe on .net 4.0 and mono today, the .net sdk states that Dictionary instance members are not guaranteed thread-safe
2010-09-18 01:57:13 +01:00
Justin Clark-Casey (justincc) 889923841c Stop broadcasting non 0/DEBUG ChatTypeEnum.Region messages to all avatars
This allows non public/debug region wide messages to be sent to scripts but not be broadast to avatars
2010-09-18 01:43:22 +01:00
Justin Clark-Casey (justincc) 4327c795f8 Move OpenSim/Framework/tests/PrimeNumberHelperTests.cs to OpenSim/Framework/Tests/PrimeNumberHelperTests.cs
I'm assuming the lowercase tests was a mistake.  Please revert if it actually wasn't
2010-09-18 00:25:22 +01:00
Justin Clark-Casey (justincc) b1ab3ea5d9 For all Flotasm group module XMLRPC calls, correct parameter requestingAgentID to RequestingAgentID
This was stopping the get group member roles call from working, and may have affected other things
2010-09-17 23:48:44 +01:00
Teravus Ovares (Dan Olivares) 33fbf0e329 Merge branch 'master' of ssh://MyConnection/var/git/opensim 2010-09-17 18:41:29 -04:00
Teravus Ovares (Dan Olivares) 94f35890e7 * Fixed and re-enabled CacheTests
* Added MundaneFrameworkTests.cs for the really mundane tests like testing properties,constructors, etc in OpenSim.Framework.
* Fixed LeftAxis and UpAxis unpacking from OSD to AgentPosition (copy and paste error caught while writing mundane test) (Good thing nobody uses the camera frustum from remote regions yet)
2010-09-17 18:41:12 -04:00
Melanie 58f7a083f9 Add LandServices to make landmarks work right in grids 2010-09-17 22:06:43 +01:00
John Hurliman c08b6c2873 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-17 14:35:35 -07:00
John Hurliman e603521fd7 Applying the llParseString2List() patch from #5036 that Melanie claims was already applied 2010-09-17 14:32:49 -07:00
Teravus Ovares (Dan Olivares) 69749b81f9 * Add a few more tests to help our meager code coverage %.
* Tests Animation Constructors
* Tests Animation OSD Packing/Unpacking
* Tests the PrimeNumberHelper class which is used in the cache.
2010-09-17 03:11:57 -04:00
Melanie 256c8cb62d Send kill packets for avatars, too 2010-09-17 03:56:31 +01:00
root 7762301cea Revert "* Changed 11 calls for session info to the more optimized API method"
This reverts commit 5dc9ea2f24.
Also makes online indicators and IM more robust
2010-09-17 01:57:26 +01:00
John Hurliman b49cb3355f Fixed a regression in SOG.Copy() 2010-09-16 17:57:00 -07:00
John Hurliman 5321e0e69f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-16 17:31:24 -07:00
John Hurliman 860b2a502f Changed SceneObjectGroup to store parts with the fast and thread-safe MapAndArray collection 2010-09-16 17:30:46 -07:00
Justin Clark-Casey (justincc) e3f1533705 Fix build break by replacing Items.LockItemsForWrite() with lock (Items) {} 2010-09-17 01:21:28 +01:00
Justin Clark-Casey (justincc) 5072429263 Send KillPackets on the Task queue rather than the State queue
Object updates are sent on the task queue.  It's possible for an object update to be placed on the client queue before a kill packet comes along.
The kill packet would then be placed on the state queue and possibly get sent before the update
If the update gets sent afterwards then client get undeletable no owner objects until relog
Placing the kills in the task queue should mean that they are received after updates.  The kill record prevents subsequent updates getting on the queue

Comments state that updates are sent via the state queue but this isn't true.  If this was the case this problem might not exist.
2010-09-17 01:16:21 +01:00
Justin Clark-Casey (justincc) 5b18f8be25 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-17 01:01:12 +01:00
root 670357367e Removing debug 2010-09-16 23:32:18 +01:00
root 1b2edfe75f JustinCC is evil. f7b28dd3 broke script persistence. This fixes it. 2010-09-16 23:19:46 +01:00
Justin Clark-Casey (justincc) d52b2b9ee7 minor: remove some mono compiler warnings 2010-09-16 20:46:24 +01:00
Melanie f5e3d5a33a Add the modules include line back that i dropped by mistake 2010-09-15 23:24:58 +01:00
Justin Clark-Casey (justincc) 7383173d3d extend m_entityUpdates.SyncRoot lock in LLClientView.ProcessEntityUpdates() to reduce scope for kill/update race conditions
This is necessary because it was still possible for an entity update packet to be constructed, the thread to pause, a kill to be sent on another thread, and then the original thread to resume and send the update
This would result in an update being received after a kill, which results in undeletable ghost objects until the viewer is relogged
Extending the lock looks okay since its only taken by kill, update and reprioritize, and both kill and update do not take further locks
However, evidence suggests that there is still a kill/update race somewhere
2010-09-15 23:06:38 +01:00
Justin Clark-Casey (justincc) e6bc77d832 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-15 23:03:02 +01:00
Justin Clark-Casey (justincc) 39d27fc879 rename SceneObjectGroup.DeleteGroup() to DeleteGroupFromScene() to improve code readability 2010-09-15 22:29:58 +01:00
Justin Clark-Casey (justincc) 16f296f489 Instead of locking SOG.Children when a group is being removed from the scene, iterate over an unlocked list instead
Previously, deadlock was possible because deleting a group took a SOG.Children lock then an m_entityUpdates.SyncRoot lock in LLClientView
At the same time, a thread starting from LLClientView.ProcessEntityUpdates() could take an m_entityUpdates.SyncRoot lock then later attempt to take a SOG.Children lock in PermissionsModule.GenerateClientFlags() and later on
Taking a children list in SOG appears to be a better solution than changing PermissionsModule to not relook up the prim.  Going the permission modules root would require that all downstream modules not take a SOG.Children lock either
2010-09-15 21:51:13 +01:00
Melanie c1ccfa6d8d Mark up OpenSim.ini.example for use with an automatic configuration tool.
Remove seldom changed options from OpenSim.ini.example.
Remove non-overridable settings like [Architecture] from OpenSimDefaults.ini
2010-09-15 20:29:28 +01:00
Melanie 0d034712ba Make AuthorizationService optional and disabled by default. It depends on
external PHP and the default configuration makes it throw for not
having a URL to this PHP
2010-09-15 15:56:03 +01:00
Melanie 3275fbec54 Fix the above 2010-09-14 23:06:44 +01:00
Melanie 585e575d23 Allow to place the connection strings and providers for estate and region
in their oqn sections, for those of us who don't want a catch-all
DatabaseService section.
2010-09-14 22:47:45 +01:00
Justin Clark-Casey (justincc) 8ed08a10d9 Remove long unused Region/Framework/ThreadTracker
All methods had already been deleted, only GetThreads() was left
2010-09-14 22:34:55 +01:00
Justin Clark-Casey (justincc) 609375bf37 Fix "show threads" to show threads now being managed by OpenSim.Framework.Watchdog 2010-09-14 22:24:11 +01:00
Justin Clark-Casey (justincc) 095d400f5b fix OpenSim.Tests.ConfigurationLoaderTest to satisfy requirement that OpenSimDefaults.ini is present
this should allow the testsuite to run again and the autobuild to complete
2010-09-14 17:01:53 +01:00
Justin Clark-Casey (justincc) 5d48e3c0bb Revert "Move OpenSimDefaults,ini into config-include in order to put it with all the other default files"
This reverts commit c3259e9c26.

Reverted by agreement.
2010-09-14 03:30:07 +01:00
Justin Clark-Casey (justincc) 95702129c7 Revert "Repopulate OpenSim.ini.example with OpenSimDefaults.ini until somebody does the work of deciding what users commonly change and what they don't"
This reverts commit fc48eb7b54.

Reverted by agreement.
2010-09-14 03:07:41 +01:00
Justin Clark-Casey (justincc) c3259e9c26 Move OpenSimDefaults,ini into config-include in order to put it with all the other default files 2010-09-14 01:38:53 +01:00
Justin Clark-Casey (justincc) fc48eb7b54 Repopulate OpenSim.ini.example with OpenSimDefaults.ini until somebody does the work of deciding what users commonly change and what they don't 2010-09-14 01:30:12 +01:00
Melanie 51411d5664 add the missing ini example 2010-09-14 00:32:49 +01:00
John Hurliman 1654e27cda Renamed OpenSimDefaults.ini.example to OpenSimDefaults.ini 2010-09-13 16:23:22 -07:00
Melanie b2e50474dc Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-09-13 23:35:27 +01:00
Justin Clark-Casey (justincc) 36f81c66e5 Comment out SOG storing debug log message
This can get very spammy with regularly changing objects.  Please uncomment if required.
2010-09-14 00:05:38 +01:00
Melanie 96a2ce5db0 Add a missing parenthesis 2010-09-13 23:33:55 +01:00
Melanie 0de2f0567d Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-09-13 23:28:36 +01:00
Melanie 4aadfc3007 Change the help message to point to copying OpenSimDefaults.ini.example.
Provide a mostly empty OpenSim.ini.example
2010-09-13 23:27:56 +01:00
Melanie 2cf98e77fc Output an error and quit if the master file is missing. Also rename
OpenSim.ini.example to bin/OpenSimDefaults.ini.example
2010-09-13 23:27:47 +01:00
Melanie 8febba7717 Make the inimaster option default to OpenSimDefaults.ini. 2010-09-13 23:27:31 +01:00
Justin Clark-Casey (justincc) dd803b4f0c minor: Add comments which explain what's going on wrt avatar movements at various points in the main scene loop and associated methods 2010-09-13 21:53:25 +01:00
Justin Clark-Casey (justincc) fbe72e30eb Improve generic message exception logging. Quieten down complaints about unhandled GenericMessages 2010-09-13 21:52:36 +01:00
Justin Clark-Casey (justincc) e4858b0eeb Add client name to packet resend log messages to make them a bit more informative 2010-09-13 21:29:04 +01:00
Justin Clark-Casey (justincc) 7ae9266186 Remove SceneGraph.DetachObject() which was accidentally left around after being migrated to AttachmentsModule 2010-09-13 21:20:31 +01:00
Justin Clark-Casey (justincc) ae1a0150a1 Rename now protected method SetAttachmentInventoryStatus() to ShowAttachInUserInventory() to match ShowDetachInUserInventory() 2010-09-13 21:15:12 +01:00
Justin Clark-Casey (justincc) cd153a20b7 Remove IAttachmentsModule.SetAttachmentInventoryStatus() from public interface
No core module is calling and it makes more sense to call methods such as AttachObject() which attach both to the avatar and update inventory appropriately
2010-09-13 21:05:03 +01:00
Justin Clark-Casey (justincc) 366de0a7b5 If attachment fails (e.g. because asset wasn't found) then don't try to set attachment as shown in inventory
Doing this results in a null reference exception
2010-09-13 20:58:50 +01:00
Justin Clark-Casey (justincc) ff098ae110 minor: Clean up log messages generated when an item is attached 2010-09-13 20:44:32 +01:00
John Hurliman 2ed276eb47 Adding missing ConnectionString lines to [DatabaseService] sections for SQLite configs 2010-09-13 11:39:58 -07:00
John Hurliman 5ef2da39d8 * Fixing length calculations for HTTP texture downloads (the end byte is inclusive in Range: headers) 2010-09-13 11:23:45 -07:00
John Hurliman 18a9ac6b39 Fix unit test SceneSetupHelpers to load the mock simulation data store 2010-09-12 15:04:51 -07:00
John Hurliman c03b24cbfd Merged 2010-09-12 14:21:51 -07:00
John Hurliman 0db1ed0b5a * Added ISimulationDataService and IEstateDataService
* Removed StorageManager
* CONFIG CHANGE: There are no more database settings in OpenSim.ini. Check the config-include configuration files for region store and estate store database settings
2010-09-12 14:20:26 -07:00
Jeff Ames f1f0bc23f4 Formatting cleanup. 2010-09-12 13:43:49 -04:00
Jeff Ames 20cd1da6bf Add copyright headers. 2010-09-12 12:54:31 -04:00
John Hurliman 16d782eaa2 Added a stub for OpenSim.Services.Connectors.Simulation.SimulationDataServiceConnector 2010-09-12 00:30:13 -07:00
John Hurliman 007912d6f4 Shuffling fields and properties around in Scene to make Scene.cs more readable 2010-09-11 23:41:48 -07:00
John Hurliman e2544584ad Changed all string references of "IRegionDataStore" to "ISimulationDataStore" 2010-09-11 22:02:34 -07:00
John Hurliman 109b517583 Fixed the naming mess around data connectors for simulation data 2010-09-11 20:43:06 -07:00
John Hurliman 47ac9f97b1 Re-enabled asset last access time logging in MySQL 2010-09-11 18:29:38 -07:00
John Hurliman a9acc6730d Removing .svn directories under Prebuild/ from source control 2010-09-11 18:26:59 -07:00
Melanie 47a5e2633c Prevent child agents from being blacklisted in the kill record. 2010-09-11 20:24:14 +01:00
Diva Canto d5c7a8d28c All these files want to be committed. All white space junk. grr. 2010-09-10 21:18:23 -07:00
Diva Canto 51a5af93d0 White space junk. 2010-09-10 18:48:32 -07:00
Justin Clark-Casey (justincc) 7e65590a55 Update Prebuild.exe with Prebuild r323 + an existing OpenSim specific nant hack to correctly clean up chosen OpenSim exes and dlls in bin/ on a "nant clean"
Source code is included for reference.  This can go away again once Prebuild is updated with a more general mechanism for cleaning up files.
The Prebuild source code here can be built with nant, or regnerated for other tools using the prebuild at {root}/bin/Prebuild.exe
2010-09-11 01:13:08 +01:00
Justin Clark-Casey (justincc) 220f82a0f0 Make it clear that the "create region" command will reference ini files in the regions directory (usually Regions/)
Also convert some tabs into spaces.
2010-09-11 00:27:52 +01:00
randomhuman 30306a775a Made it impossible to create a user with names containing spaces and prevented passwords from being echoed after enter is pressed. 2010-09-10 23:19:18 +01:00
Justin Clark-Casey (justincc) 29708e47a5 Merge branch 'prebuild-update' 2010-09-10 22:38:56 +01:00
Justin Clark-Casey (justincc) a7f4e10f42 Remove parenthesis around the release flavour to get the version string back under 27 chars
Can't quite remember why this has to be <=27 chars, maybe something to do with the space available for the version string in a typical client
2010-09-10 21:56:04 +01:00
John Hurliman b597a295c4 Second pass at cleaning up thread safety in EntityManager and SceneGraph 2010-09-10 12:41:36 -07:00
John Hurliman dd277a0d02 First pass at cleaning up thread safety in EntityManager and SceneGraph 2010-09-10 12:04:12 -07:00
John Hurliman 9609faa8eb * Run SimianGrid session updates asynchronously instead of from the main heartbeat thread
* Minor dead code cleanup
2010-09-09 15:05:22 -07:00
John Hurliman 8415b98806 Over a dozen thread safety fixes in FriendsModule 2010-09-09 14:45:10 -07:00
John Hurliman 972ef92590 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-08 15:09:34 -07:00
John Hurliman 5dc9ea2f24 * Changed 11 calls for session info to the more optimized API method 2010-09-08 15:08:49 -07:00
Diva Canto ae6682036d Made the HG asset and inventory brokers use the Helo service in order to instantiate the right network connectors. Tested on Robust only. 2010-09-08 14:13:01 -07:00
Diva Canto d301f3fd6a Renamed the Helo server connector to a consistent name. Added this in connector to both Robust.HG.ini.example and HypergridServiceInConnectorModule. 2010-09-08 14:12:01 -07:00
Diva Canto 8cc3d60e59 Added constructor that takes an URL to asset and inventory simian connectors. 2010-09-08 14:09:43 -07:00
Diva Canto 3fb4a17f10 No need for a config var for the HELO message on the server-side. It's robust. 2010-09-08 11:30:38 -07:00
Diva Canto 904d6b787a First version of the Hypergrid HELO service that will enable different backends to interoperate. 2010-09-08 09:53:57 -07:00
Justin Clark-Casey (justincc) b8d14fcc4a Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-08 01:05:56 +01:00
John Hurliman 0bebe94231 Rolling back the recent libomv update but keeping the ExpiringCache cleanups (as much as is possible). There was a report of non-finite avatar positions after the update 2010-09-07 15:45:33 -07:00
John Hurliman 9be1c0ff44 * Cache null account responses in the SimianUserAccountServiceConnector to avoid repeated requests for missing avatar IDs
* Updated to OpenMetaverse r3442 to fix a timezone issue with ExpiringCache
2010-09-07 14:41:13 -07:00
John Hurliman 587bab79b4 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-07 13:43:52 -07:00
John Hurliman 029c954804 * Added sanity checks to the SimianAssetServiceConnector so it will throw a sensible error message when it is misconfigured instead of a mysterious "Uri is empty" error 2010-09-07 13:43:36 -07:00
Melanie b28d1b6ccd Fix Simian regression 2010-09-07 20:21:05 +01:00
John Hurliman 5ca4c238e0 SimianUserAccountServiceConnector was not initializing the user cache 2010-09-07 11:33:46 -07:00
John Hurliman 910aa48df3 Corrected SimianGrid.ini and HyperSimianGrid.ini configs to specify services in the way the ROBUST loader expects them (hopefully!) 2010-09-07 11:13:37 -07:00
Melanie 8fda08d858 Make sure unlinked child prims get persisted 2010-09-07 11:48:28 +01:00
Justin Clark-Casey (justincc) f7b28dd321 If a scene object part UUID is changed (only possible when not in a scene), then adjust the inventory items to point to the new uuid as well 2010-09-07 03:41:29 +01:00
Justin Clark-Casey (justincc) 84ad9e4d4e minor: comment out some excessive test logging 2010-09-07 02:05:44 +01:00
Justin Clark-Casey (justincc) 90cd035693 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-07 02:01:38 +01:00
Melanie 99bfb0d2a2 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-09-07 01:45:08 +01:00
Justin Clark-Casey (justincc) 3d033520fa Fix deletion persistence when freshly delinked prims are removed
Previously, Scene.Inventory.DeRezObjects() forced the persistence of prims before deletion.
This is necessary so that freshly delinked prims can be deleted (otherwise they remain as parts of their old group and reappear on server restart).
However, DeRezObjects() deleted to user inventory, which is not required by llDie() or direct region module unlink and deletion.
Therefore, forced persistence has been pushed down into Scene.UnlinkSceneObject() to be more general, this is still on the DeRezObjects() path.

Uncommented TestDelinkPersistence() since this now passes.
Tests required considerable elaboration of MockRegionDataPlugin to reflect underlying storing of parts.
2010-09-07 01:43:20 +01:00
Justin Clark-Casey (justincc) 11f4a65f42 Fix deletion persistence when freshly delinked prims are removed
Previously, Scene.Inventory.DeRezObjects() forced the persistence of prims before deletion.
This is necessary so that freshly delinked prims can be deleted (otherwise they remain as parts of their old group and reappear on server restart).
However, DeRezObjects() deleted to user inventory, which is required by llDie() or direct region module unlink and deletion.
Therefore, forced persistence has been pushed down into Scene.UnlinkSceneObject() to be more general, this is still on the DeRezObjects() path.

Uncommented TestDelinkPersistence() since this now passes.
Tests required considerable elaboration of MockRegionDataPlugin to reflect underlying storing of parts.
2010-09-07 01:12:06 +01:00
Justin Clark-Casey (justincc) e55f6d47e9 Add test that checks correct persistence when an unlink is quickly followed by deletion of a linked part
This test is temporarily not running since it currently fails due to a bug in this area
2010-09-06 23:28:52 +01:00
Justin Clark-Casey (justincc) ab875b32c1 Make console backup command do a forced backup rather than non-forced
Remove no-arg backup method for simplicity as it only make sense to call non-forced backup internally
2010-09-06 23:12:03 +01:00
Justin Clark-Casey (justincc) 537fefa3f2 extend TestNewSceneObjectLinkPersistence() to check for presence of non-root linked prim 2010-09-06 23:06:23 +01:00
Justin Clark-Casey (justincc) 953b7f4917 Add test to check persistence of newly added pre-linked objects
Added a MockRegionDataPlugin to do in-memory persistence for tests since adding this to OpenSim.Data.Null.NullDataStore doesn't seem appropriate
NullDataStore can do nothing because OpenSim only ever retrieve region objects from the database on startup.  Adding an in-memory store here would be unecessary overhead.
2010-09-06 23:00:24 +01:00
Melanie Thielker 36cb6208b5 Fix yet another cause of "Ghost attachments" 2010-09-06 22:08:15 +01:00
Melanie Thielker 0246edc2ea Reflect the ParcelPropertiesUpdateRequest into Scene.EventManager, because
modules need to see it (Search!) even if it comes in via CAPS
2010-09-06 04:09:51 +01:00
Melanie 7f9f9f9246 Fix a handful of copypaste errors 2010-09-05 19:14:45 +01:00
Melanie 1b770d3afc Change UserAccountService to match 2010-09-05 19:09:30 +01:00
Melanie 4243701d22 Make Simian profiles respect the module chosen in [Profile] 2010-09-05 19:06:50 +01:00
Melanie 55d3c98917 Fix up presence connector in SimianGrid 2010-09-05 18:24:16 +01:00
Melanie 0ca48b2486 Fix up Simian inentory 2010-09-05 18:14:31 +01:00
Melanie b2486df67c Friends works differently, it' snot even a region module at all, but a connector
that is loaded by the core friends module. Change Simian to match.
2010-09-05 18:06:42 +01:00
Melanie 1238b27d64 And the avatar services :) 2010-09-05 17:53:15 +01:00
Melanie a407ad38f6 Add the m_Enabled pattern to Simian Auth 2010-09-05 17:44:02 +01:00
Melanie d9e9c41e13 Add m_Enabled pattern to SimianGridConnector 2010-09-05 17:34:51 +01:00
Melanie 4025b85a07 As an exmple, add the code to disable connectors intot he simian asset
connector
2010-09-05 17:24:05 +01:00
Melanie 64ec14c8c4 Add missing IDwellModule interface 2010-09-05 17:08:57 +01:00
Melanie 09c75b30f3 Fix build break 2010-09-05 16:45:24 +01:00
Melanie Thielker 6a0a878f7c Remove "Dwell" support from core and replace it with calls to methods
on IDwellModule
2010-09-05 14:28:33 +01:00
Diva Canto 68f107b27e Logout the presence if client IP verification fails. 2010-09-04 18:46:27 -07:00
Diva Canto 953a487f5e One more debug message to track an issue on Danger grid. 2010-09-04 18:09:17 -07:00
Diva Canto 9fd9836841 Make User Agent Service and Login Service separable. 2010-09-04 16:39:03 -07:00
BlueWall 1e44ec84bd Build system upgrade:
Upgrading Prebuild.exe to correctly construct build solutions
	for crossplatform tools such as xbuild, monodevelop and nant.

	NOTE: Module prebuild files will need modification to work,
	as the prebuild must correctly define the reference path for
	all assemblies shipped in the OpenSimulator ./bin directory.
	These include assemblies such as XMLRPC.dll, OpenMetaverse.dll,
	Nini.dll, etc. . The entries should follow the form:

		<Reference name="Nini" path="../../../bin/"/>

	See the distributed prebuild.xml for further examples.

	Crossplatform tools: xbuild and monodevelop use the
	vs2008 OpenSim.sln and the .csproj files in each namespace.

	Changes to the Prebuild.exe are against svn 322 and are included
	in a patch attached to the mantis. And the dnpb source are
	available@ svn co https://dnpb.svn.sourceforge.net/svnroot/dnpb dnpb
	The patches are pending application by the dnpb team. After which,
	the un-modified upstream Prebuild.exe will work as expected.
2010-09-04 02:12:21 +01:00
Justin Clark-Casey (justincc) c0b16f09bf Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-04 01:38:11 +01:00
Justin Clark-Casey (justincc) 1e8e98a07f Move code that allows llGiveInvetory() to move item into appropriate system folder up from connectors into Scene.Inventory.cs
This fixes the problem for all architectures (hg as well as local and grid) and means we don't have to dupe code between connectors.
Not ideal in that it becomes non-modular, but methods in Scene.Inventory.cs should eventually be modularized anyway.
2010-09-04 01:36:26 +01:00
Diva Canto 8fc68c6d98 Added XFF header processing. Untested, for lack of proxy. 2010-09-03 17:18:53 -07:00
Justin Clark-Casey (justincc) 107052b23d Create Scene.Inventory.cs.AddInventoryItem(InventoryItemBase item)
The agentID in AddInventoryItem(UUID agentID, InventoryItemBase item) is redundant since it's contained in item.Owner, and it doesn't make sense for agentID != item.Owner, hence the method is deprecated.
2010-09-04 00:09:53 +01:00
Justin Clark-Casey (justincc) d4b572d2a5 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-03 23:29:59 +01:00
Justin Clark-Casey (justincc) 63617c79d8 minor: remove mono compiler warnings 2010-09-03 23:29:39 +01:00
John Hurliman 1e552e88e8 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-03 14:50:42 -07:00
John Hurliman fc062a23af Make SimianFriendsServiceConnector initialize like the other connectors and gracefully handle the case where it is loaded but disabled #monoaddinslol 2010-09-03 14:50:26 -07:00
Justin Clark-Casey (justincc) b8da15c104 In RemoveAdminPlugin, use a .ini file template in XmlRpcCreateRegionMethod rather than an older XML one
This is a patch from http://opensimulator.org/mantis/view.php?id=4973.  Thanks randomhuman
2010-09-03 22:38:40 +01:00
Justin Clark-Casey (justincc) 9b95bd259f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-03 22:27:01 +01:00
Justin Clark-Casey (justincc) fe63fad394 minor: remove mono compiler warning 2010-09-03 22:26:15 +01:00
John Hurliman 83f6550bcc Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-03 13:37:30 -07:00
John Hurliman aadbffffb1 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-03 13:36:59 -07:00
John Hurliman 4f79143f3f * Removed Simian.IsSimianEnabled() call, changed the SimianGrid connectors to handle initialization as graceful as possible with the current broken way region module initialization is done
* Added config-include/HyperSimianGrid.ini option for connecting to SimianGrid with HyperGrid enabled (work in progress on the SimianGrid side)
2010-09-03 13:36:35 -07:00
Justin Clark-Casey (justincc) d6deebdd63 Add another variant of password hash construction to SimianAuthenticationServiceConnector.CheckPassword()
This might be unique to the inventory archiver password check, though at the time it was written, hash construction there should have been identical to other parts of opensim
This is from patch http://opensimulator.org/mantis/view.php?id=4983.  Thanks cmickeyb.
2010-09-03 21:34:31 +01:00
Justin Clark-Casey (justincc) 8d2e8b7d5c minor: remove mono compiler warnings 2010-09-03 21:28:57 +01:00
Justin Clark-Casey (justincc) 71c0fc10df Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-03 21:14:23 +01:00
Micheil Merlin 8daea4d7c0 llRot2Euler Tests 2010-09-03 21:11:13 +01:00
Diva Canto 0a0f38b23c Last+2 tweak 2010-09-03 10:31:16 -07:00
Diva Canto a5cce8d6d7 Last+1 tweak. 2010-09-03 10:13:41 -07:00
Diva Canto 5bbf793f9e One last tweak, hopefully. 2010-09-03 10:01:18 -07:00
Diva Canto 77384eb28b Another tweak. Sux^2 2010-09-03 09:26:33 -07:00
Diva Canto 85e9160552 More tweaks related to my previous commit. Tweaks sux. 2010-09-03 09:02:08 -07:00
Melanie 18213d26ec Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-09-03 03:27:47 +01:00
Melanie Thielker 17a26c3701 Fix an issue with rezzing scripted objects. 2010-09-03 03:27:26 +01:00
Diva Canto 21c5377af9 Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-09-02 16:36:43 -07:00
Diva Canto d96f5fa57d Quick fix for making global references for gatekeepers that are not domain:port work. This needs a serious rewrite, as the assumption domain:port doesn't hold from here on. Just quick-fixing for now. 2010-09-02 16:36:05 -07:00
Melanie Thielker 1c8bc9b7b6 Remove commented code and the comment, as the change has proven out 2010-09-02 21:02:09 +01:00
Melanie Thielker 7720419fc7 Experimentally comment the sending of unbaked avatars 2010-09-02 20:17:49 +01:00
Melanie Thielker ed72396d9b Show when appearance is sent to an avatar to help track down failure
\to display avatars
2010-09-02 19:59:12 +01:00
Melanie Thielker 7128e1a4ba Implement UploadBakedTexture cap 2010-09-02 16:20:44 +01:00
Melanie bbdf6cab50 Fix cast issue 2010-09-02 00:20:57 +01:00
Melanie 203b7de266 Allow increasing the version in system folders 2010-09-02 00:04:17 +01:00
Melanie 7efe7feef5 Update: Allow the version to increase only 2010-09-02 00:02:07 +01:00
Melanie 93edc75147 Disallow modification of system folders. Prevent changing the type of folders
and prevent resetting the version number
2010-09-02 00:00:54 +01:00
Justin Clark-Casey (justincc) b9db495d91 Fix sqlite migration problems by moving migrations in 019_RegionStore.sql and 020 into RegionStore.migrations
This shows that panda is still not running the sqlite database tests since this change fixes the test failure in that area when "nant test" is executed locally
2010-09-01 22:06:56 +01:00
Justin Clark-Casey (justincc) 6cbf66827b refactor: move SOG.AttachToAgent() into AttachmentsModule 2010-09-01 01:11:52 +01:00
Justin Clark-Casey (justincc) c947a67b23 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-01 00:17:23 +01:00
Melanie Thielker c47de94263 Adjust the "Magic numbers" we use because we can't reference the actual
script state enum to reflect recent changes.
2010-08-31 22:36:46 +01:00
Justin Clark-Casey (justincc) 01276ef433 refactor: change AttachmentsModule.AttachObject to use sp.GetAttachments rather than filter sp.Attachments list directly 2010-08-31 22:22:45 +01:00
Justin Clark-Casey (justincc) 9c1c378aa1 Add ScenePresence.GetAttachments(uint attachmentPoint) 2010-08-31 22:16:23 +01:00
Justin Clark-Casey (justincc) b8c58e5f9f reinsert functionality to debug log more levels of incoming and outgoing client protocol packets
These levels correspond to packets that one isn't usually interested in when debugging (e.g. regular outgoing SimStats packets)
This is equivalent to what we had a year ago before it was removed.  It's extremely crude since it doesn't allow one to pick individual clients or packets.  However, it can still be useful when debugging packet race conditions.
2010-08-31 18:27:10 +01:00
Justin Clark-Casey (justincc) 7b03cb09e4 minor: Add some method doc to BaseHttpServer.HandleRequest() 2010-08-30 22:33:45 +01:00
Justin Clark-Casey (justincc) dd14c539af Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-08-30 21:24:08 +01:00
Justin Clark-Casey (justincc) 3cd7761d65 Report exception message as well as stack trace if a region fails to register with the grid service in grid mode 2010-08-30 21:23:19 +01:00
Melanie eefb207c1b Fix a casting operation to use ToString() 2010-08-30 02:10:11 +01:00
Melanie 0d6c2afce6 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-08-30 02:08:48 +01:00
Jonathan Freedman 0a83fde85c Implements parcel media setting persistence and packet / CAPS handling
properly for the new media settings.

Signed-off-by: Melanie <melanie@t-data.com>
2010-08-30 02:07:55 +01:00
Jonathan Freedman 4b2e3bd6c3 local commit with parcel media bits
Signed-off-by: Melanie <melanie@t-data.com>
2010-08-30 01:59:50 +01:00
Justin Clark-Casey (justincc) 374807d194 Replace hardcoded 0 with KickFlags provided by the client.
This finally completes http://opensimulator.org/mantis/view.php?id=4356 where this change had been accidentally removed.  Thanks Revolution.
2010-08-28 02:45:28 +01:00
Justin Clark-Casey (justincc) 83fbf66444 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-08-28 02:41:00 +01:00
Justin Clark-Casey (justincc) def6b1544f very minor log message and var name tweaking for iar saving 2010-08-28 02:40:21 +01:00
Diva Canto 0f95cd209e Addresses mantis #4991 -- HG between two regions with the same map coordinates fails with no warning 2010-08-27 17:25:04 -07:00
Justin Clark-Casey (justincc) 1c0b4457cd Improve liveness by operating on list copies of SOG.Children where appropriate 2010-08-28 00:40:33 +01:00
Justin Clark-Casey (justincc) 4f9931ec10 minor: reduce log chattiness of "load iar" for IARs with lots of folders 2010-08-27 23:23:55 +01:00
Justin Clark-Casey (justincc) 86937d0a0f allow inventory path specified in "load iar" to start with a / (e.g. /Objects is now valid where it wasn't before) 2010-08-27 23:22:49 +01:00
Justin Clark-Casey (justincc) b4278510f2 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-08-27 22:53:02 +01:00
Justin Clark-Casey (justincc) 8f875700ef refactor: Make IAR tests set up standard iar for loading 2010-08-27 22:52:26 +01:00
Diva Canto 0ca87a6f01 Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-08-26 18:23:43 -07:00
Diva Canto 3c71e5a3a2 Deleted Check4096 from Robust.ini.example 2010-08-26 18:23:16 -07:00
Melanie 1f1d72eba5 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-08-26 23:39:20 +01:00
Melanie 5b4e0b72bc Send a null result search packet when no results are passsed in 2010-08-26 23:38:35 +01:00
Diva Canto 436fdc2ea8 More on mantis #4985 2010-08-26 14:48:29 -07:00
Diva Canto 6198fe53e6 Addresses mantis #4985 -- exceptions in DataSnapshot 2010-08-26 14:19:52 -07:00
Justin Clark-Casey (justincc) fb6d761e19 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-08-26 22:13:46 +01:00
Justin Clark-Casey (justincc) 7f5501d3ab minor: remove mono compiler warning 2010-08-26 22:13:31 +01:00
Justin Clark-Casey (justincc) 2b0f924557 refactor: Move Scene.Inventory.UpdateKnownItem() into Attachments module since this appears to relate solely to attachments 2010-08-26 22:09:52 +01:00
Justin Clark-Casey (justincc) f3f4428700 refactor: break out attachment position change code in Scene.UpdatePrimPosition() and move into AttachmentsModule
This allows region modules to change attachment positions.
2010-08-26 21:50:19 +01:00
Justin Clark-Casey (justincc) 8571a55d29 minor: change log message from info to debug 2010-08-26 20:42:56 +01:00
Diva Canto 26fd673e20 Addresses mantis #4984 -- Datasnapshot exceptions. 2010-08-26 12:26:09 -07:00
Justin Clark-Casey (justincc) fe660cd2cc Rename Newtonsoft.Json.dll to properly reflect its actual assembly name 2010-08-26 18:11:01 +01:00
Justin Clark-Casey (justincc) df702417dc Remove mono compiler warnings 2010-08-26 16:27:41 +01:00
Justin Clark-Casey (justincc) d99c60164d Reinstate kill record check that prevents an entity update being sent to a client after it has been told that the entity has been deleted.
On Linden Lab clients and some derivatives, receiving an entity update after an entity deletion notice results in an undeleteable prim that disappears upon client relog.
This check was dropped in 0.7 for unknown reasons but renewed testing demonstrates that queued updates can still be present after a scene object has been deleted.
2010-08-26 16:06:34 +01:00
Justin Clark-Casey (justincc) a6869fbc3e Use SOP.ParentGroup in Prioritizer instead of Scene.GetGroupByPrim()
By the time a scheduled update is triggered, a sog may have been removed from the scene.  This change prevents NullReferenceExceptions in these situations.
2010-08-26 15:33:42 +01:00
Justin Clark-Casey (justincc) 87a6554d4b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
Resolve merge conflicts

Conflicts:
	OpenSim/Region/Framework/Scenes/SceneGraph.cs
2010-08-26 00:35:03 +01:00
Justin Clark-Casey (justincc) 692cf3c657 Remove parts locking from data classes since these are using a copy of the scene object 2010-08-26 00:17:26 +01:00
Justin Clark-Casey (justincc) 166ab59420 replace m_parts.Count linknum with 0 in CopyRootPart since m_parts.Count is always 0 (and any other number would cause an error anyway) 2010-08-26 00:15:26 +01:00
Justin Clark-Casey (justincc) 8031f8ec09 Improve consistency of locking for SOG.m_parts in order to avoid race conditions in linking and unlinking 2010-08-26 00:08:53 +01:00
Melanie Thielker 75e2a2b3ce Prevent an object disposed exception that made forms comms unreliable. After
starting an asynchronous write, one should not close the channel it will
be written to synchrnously, that leads to grief.
2010-08-25 23:19:55 +01:00
Melanie Thielker 604423d52b Make scene object directories more robust and prevent deleted SOP's from
sticking around
2010-08-25 23:19:30 +01:00
Melanie Thielker 739eb14741 Change some e.Message to e.ToString. Don't use e.Message, it doesn't carry
any useful information. Error messages are useless without location information.
It looks more elegant, but is totally pointless.
2010-08-25 23:18:15 +01:00
Justin Clark-Casey (justincc) 22fd00b002 minor: remove mono compiler warning 2010-08-25 23:07:43 +01:00
Justin Clark-Casey (justincc) 24d06b12c2 If setting SOG.UUID, update the SOG.m_parts index as well as the root part UUID
Being able to change a SOG.UUID is useful for region modules that want to supply their own UUID, before the object is rezzed
2010-08-25 23:05:54 +01:00
Justin Clark-Casey (justincc) 46c6c35d48 refactor: Push item retrieval and fixing part of Scene.RezObject() down into SceneObjectPartInventory 2010-08-25 22:46:49 +01:00
Diva Canto a2113ecc71 Typo 2010-08-24 21:01:37 -07:00
Justin Clark-Casey (justincc) d69e992665 Split out actual scene object insertion code from Scene.Inventory.RezObject and move into SceneGraph.AddNewSceneObject()
The new SceneGraph method is more consumable by region modules that want to extract objects from inventory and add them to the scene in separate stages.
This change also reduces the number of redundant client updates scheduled when an object is rezzed directly by a script or region module
This code does not touch direct rez by a user
2010-08-24 23:25:19 +01:00
Justin Clark-Casey (justincc) 78f452050a Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-08-24 22:29:32 +01:00
Justin Clark-Casey (justincc) 07d5a0779a refactor: make RezObject() more readable 2010-08-24 20:53:25 +01:00
Marck a7a45cb22c Patch by Apelsin that fixes behaviour of llSetPos and llGetLocalPos for attachments.
This fixes Mantis #3923.

Signed-off-by: Melanie <melanie@t-data.com>
2010-08-24 19:19:26 +01:00
Justin Clark-Casey (justincc) 46d06b6c4c add test to check move of task item to user inventory when a target folder is explicitly given 2010-08-24 17:10:52 +01:00
Justin Clark-Casey (justincc) 8bb073d99a minor: stop test using obsolete property 2010-08-24 17:06:04 +01:00
Justin Clark-Casey (justincc) 35f719ae2f refactor TestMoveTaskInventoryItemNoParent() 2010-08-24 17:04:54 +01:00
Justin Clark-Casey (justincc) 289c21099c Add automated test at the opensim 'api' level to check that a given item goes to the correct directory
Also removes some mono compiler warnings
2010-08-24 16:50:31 +01:00
Melanie de85aabcbe Plumb the region type through to the ProductName field in estate messages 2010-08-24 12:41:21 +01:00
Justin Clark-Casey (justincc) c72d298202 Add system lookup folder fix to the RemoveXInventoryServiceConnector as well since this presumably suffers from the same problem. 2010-08-23 23:25:36 +01:00
Justin Clark-Casey (justincc) 1d01c91095 minor: some doc for the MoveTaskInventoryItem method in Scene.Inventory.cs 2010-08-23 23:21:44 +01:00
Justin Clark-Casey (justincc) 704a53fb9b Fix bug in llGiveInventory() where items were disappearing on relog
This was a regression - the code to look up the correct type folder was no longer being called if items were added without a parent folder set
This may have been broken since commit bd49985a on 2010-05-02
2010-08-23 23:16:48 +01:00
Justin Clark-Casey (justincc) 74e5fe5aa9 Remove various warnings and improve logging messages. No functional changes. 2010-08-23 22:24:23 +01:00
Melanie 8d8436e0ca Correct a minor typo 2010-08-21 20:59:25 +01:00
Melanie f445659dd3 Finally putting estate_settings.xml to rest. There will be no more attempts
to read or write this file.
2010-08-21 17:38:47 +01:00
Melanie Thielker 954329ec85 Don't allow oversized search reply packets 2010-08-21 17:30:41 +01:00
Melanie Thielker ea1df09fa4 Forward-port a small improvement to the land out connector 2010-08-21 00:29:27 +01:00
Justin Clark-Casey (justincc) 5155915de1 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-08-20 19:36:04 +01:00
Marck 7aad5af498 Some code cleanup for console command "create region".
Make region name an optional command parameter.
Avoid question for region name if it has already been specified.
Extend help text.
2010-08-20 19:35:52 +01:00
Diva Canto e31a5260c8 Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-08-20 11:10:21 -07:00
Diva Canto 4463ebfbc2 Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-08-20 11:09:21 -07:00
Diva Canto f347d25675 Unit test breakage fix. 2010-08-20 11:09:02 -07:00
Ai Austin c41ff51bd3 OpenSim.ini.example FreeSwitch section improvements, move of XML-RPC section away from end and correction of typo "fro" (fixes Mantis 4833) 2010-08-20 19:08:26 +01:00
Justin Clark-Casey (justincc) a87840bd1c Make some small corrections to ini.example file changes. These are not functional changes. 2010-08-20 18:25:44 +01:00
Ai Austin 2c0ba8718a Robust.ini.example and Robust.HG.ini.example default: corrected comment about realm for UserAccountService to state default is useraccount, and include default realm commented out in every case 2010-08-20 18:03:21 +01:00
Justin Clark-Casey (justincc) 86a61696d7 minor: remove mono compiler warning 2010-08-20 17:58:02 +01:00
Marck bb5dd9fbbc Some code cleanup for console command alert.
Made parsing of parameters more robust.
Allow general alerts without specifying keyword 'general'.
Extended help texts.
2010-08-20 17:53:21 +01:00
Diva Canto 6f83b0ee46 Cleaned up a few more things related to incoming agents. 2010-08-20 09:02:05 -07:00
Melanie 82abaadd55 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-08-20 08:36:54 +01:00
Melanie ae554a48d0 Add some maptile options, change maptile generation from OpenSimBase to Scene
to make it more configurable.
2010-08-20 08:36:23 +01:00
Diva Canto b4e7c62fbc Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-08-19 19:55:03 -07:00
Diva Canto a39ea07158 Finished implementing ViaLogin vs ViaHGLogin. Removed lookup on myipaddress.com. Also removed client IP verification upon UDP connection that had been left there -- we can't do that in general. 2010-08-19 19:54:40 -07:00
Diva Canto 1955b79759 Partial rewrite of client IP verification. Not completely finished yet, and untested. Committing to move to my other computer. 2010-08-19 18:55:30 -07:00
Melanie f639a9e5ae Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-08-19 20:24:46 +01:00
Melanie Thielker 22fdd7b1f1 Short-circuit the grid server lookup for RequestSimulatorData if the region
info is requested for is the local region
2010-08-19 20:24:34 +01:00
Diva Canto 31365e3ec4 These files want to be committed. This time I'm doing it separately from other commits. 2010-08-19 09:17:08 -07:00
Diva Canto 2b172bef72 Revert "One more go at GetExternalIpOf(user). Addresses mantis #4955 and #4943."
Reverting mostly because of the texture asset files that got committed and cause grief with the 0.7-post-fixes branch. But also because I'm going to go at those mantises in another way.

This reverts commit e47608fc62.
2010-08-19 09:14:20 -07:00
Melanie ee7c799699 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-08-19 11:46:07 +01:00
Melanie Thielker f58a809536 Skip conversion if fields that are null in the database. This may
uncover errors elsewhere.
2010-08-19 11:45:56 +01:00
Justin Clark-Casey (justincc) d547007e73 Improve some logging in LandConnector
This also eliminate the last 'OGS1' logging message (in this case, an erroneous one)
2010-08-19 01:57:07 +01:00
Justin Clark-Casey (justincc) a72c7812f4 remove ancient and unused OpenSim.GridLaunch GUI code.
Current policy is that OpenSim core is not the place for gui tools
2010-08-19 01:11:10 +01:00
Justin Clark-Casey (justincc) 5e3d53bef2 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-08-19 00:54:48 +01:00
Justin Clark-Casey (justincc) 85f448642b minor: Correct string format in "Can't find linkset root prim" message 2010-08-19 00:54:09 +01:00
Diva Canto e47608fc62 One more go at GetExternalIpOf(user). Addresses mantis #4955 and #4943.
(Files .xml and .txt also want to be committed)
2010-08-18 16:22:50 -07:00
Justin Clark-Casey (justincc) 8c12f22140 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-08-18 23:15:25 +01:00
Justin Clark-Casey (justincc) 11db33d520 Add textures no longer shipped with newer viewers to OpenSim's standard asset library
These are appropriately licensed and include plant, tree and miscellaneous textures (face target crosshairs, etc).
Many thanks to Nebadon for sourcing and packaging these.
2010-08-18 23:15:05 +01:00
Melanie Thielker 6ddf124c8a Prevent a bad cast in llCreateLink(). 2010-08-18 20:00:19 +01:00
John Hurliman a8c0b131f9 * Changed a few OSD.FromBinary() calls to the more accurate OSD.FromULong() to fix the build 2010-08-17 13:50:04 -07:00
John Hurliman e1f2c32284 * Updated to OpenMetaverse.StructuredData.dll that includes implicit typecasts going in the other direction 2010-08-17 12:26:20 -07:00
John Hurliman 53190e332d Updated to new OpenMetaverse.StructuredData.dll that includes implicit typecasts 2010-08-17 12:04:37 -07:00
Diva Canto d7824b86d9 Fixes mantis #4954 for the xml-rpc calls of the UserAgentServiceConnector. Basically, let's not let the xml-rpc library do the DNS conversion... 2010-08-16 14:36:20 -07:00
Diva Canto 69ad04cdf6 Attempt at sending TeleportProgress, but it doesn't seem to be doing anything at all. Left it commented, just as a reminder for where those messages could be sent. 2010-08-16 12:03:13 -07:00
Diva Canto a8b80ef800 Added SendTeleportProgress to IClientAPI. Ya know what that means... 8 files affected. 2010-08-16 11:39:46 -07:00
Diva Canto 77de28965a Work on TeleportStart: renamed method from TeleportLocationStart to TeleportStart, and now sending this upon all teleports, not just some, and in the right place (EntityTransferModule). 2010-08-16 11:33:59 -07:00
Diva Canto f219e320bc Increased the timeout on AgentUpdate to 30 sec and improved error message to try to catch some weirdnesses going on in HG TPs (and maybe non-HG TPs too). 2010-08-16 08:51:56 -07:00
Diva Canto a5044e08fb Better comment (related to previous commit) 2010-08-15 18:13:09 -07:00
Diva Canto 5d29c0ec9d Addresses mantis #4929. Agent was being logged off the grid too soon -- things may still fail. 2010-08-15 18:10:54 -07:00
Marck 30d0bf4207 Fix SQLite database plugin for UserAccountData queries with a single word. 2010-08-15 17:27:06 -07:00
Diva Canto d5c24241b7 Thanks Marck for the patch to mantis #4941 (shortening avies' names on HG) 2010-08-15 17:25:27 -07:00
John Hurliman 96e4099564 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-08-13 17:40:18 -07:00
John Hurliman d806741e9d * Cleaned up the magic UUID definitions in AvatarWearable.cs 2010-08-13 17:39:45 -07:00
Justin Clark-Casey (justincc) e1cff5f8c9 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-08-14 00:58:12 +01:00
John Hurliman 46d0690b31 * Fixed a casing typo for Simian profile data
* Minor logging tweak in Simian asset connector
2010-08-13 16:56:01 -07:00
Justin Clark-Casey (justincc) 1463691cb6 In EventQueueHelper.uintToByteArray, fetch big end-ian bytes directly from libomv rather than little endian then swapping
This avoids a problem with failing to swap on big-endian machines.
This addresses http://opensimulator.org/mantis/view.php?id=4849
Thanks to Valy- for pointing this out and submitting a suggestion patch
2010-08-14 00:48:12 +01:00
Marck fcc83f2305 Unit test for ConfigurationLoader.
Adds a new test assembly for OpenSim.
2010-08-13 23:59:33 +01:00
Marck ae43a07f3b Configuration files can read include files from relative paths. 2010-08-13 23:59:30 +01:00
randomhuman 8eeb3f2fd2 Updated the create_region command in the RemoteAdmin plugin to properly support estates without seeking further input on the console. 2010-08-13 23:29:01 +01:00
Justin Clark-Casey (justincc) 8acb401a14 minor: remove mono compiler warnings 2010-08-13 23:28:28 +01:00
Justin Clark-Casey (justincc) c64bef146b minor: remove mono compiler warnings 2010-08-13 23:18:05 +01:00
Justin Clark-Casey (justincc) ab6dc47818 refactor: move binary statistics logging from scene into separate region module 2010-08-13 23:15:11 +01:00
Justin Clark-Casey (justincc) e89f0b3f71 refactor: move Scene.PerformObjectBuy into BuySellModule 2010-08-13 22:29:42 +01:00
Justin Clark-Casey (justincc) 9d84dfb687 minor: remove mono compiler warning 2010-08-13 21:44:44 +01:00
Justin Clark-Casey (justincc) b30635a454 Establish new Objects/BuySellModule
Move Scene.ObjectSaleInfo() to this
2010-08-13 21:39:43 +01:00
Justin Clark-Casey (justincc) feba3164af minor: remove mono compiler warning 2010-08-13 21:19:32 +01:00
Justin Clark-Casey (justincc) 5d20f04e08 refactor: move Scene.TerrainUnAcked() handling into TerrainModule 2010-08-13 21:18:26 +01:00
Justin Clark-Casey (justincc) b51534852f minor: remove mono compiler warning 2010-08-13 21:07:45 +01:00
Justin Clark-Casey (justincc) fd23f270c6 refactor: remove Scene.SetRootAgentScene() in favour of existing event with same name 2010-08-13 21:01:10 +01:00
Justin Clark-Casey (justincc) 5f5c65e4ba refactor: move more map tile generation code from scene to IWorldMapModule 2010-08-13 20:34:46 +01:00
Justin Clark-Casey (justincc) 39a748b47a refactor: Use SOP.Flags rather than SOP.ObjectFlags 2010-08-13 20:23:53 +01:00
Diva Canto c98c6a2930 File wants to be committed 2010-08-11 20:38:10 -07:00
Marck 251be8a1be Prettify console output for long avatar names. 2010-08-11 20:22:01 -07:00
Justin Clark-Casey (justincc) 576faee203 minor: change some logging levels 2010-08-11 23:17:29 +01:00
Justin Clark-Casey (justincc) 686f44c575 minor: change "no [GridInfo] config" warning to refer to "configuration files" rather than "OpenSim.ini" 2010-08-11 23:16:33 +01:00
Marck 4f62f00ca0 Changing prim color generates event CHANGED_COLOR.
Signed-off-by: Melanie <melanie@t-data.com>
2010-08-10 19:38:39 +01:00
Mikko Pallari 3f942a4f74 Removed abstract SetText method from EntityBase to make cleaner API.
Signed-off-by: Melanie <melanie@t-data.com>
2010-08-10 19:37:15 +01:00
Melanie 75f92faeb4 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-08-10 19:34:57 +01:00
Justin Clark-Casey (justincc) 158604a733 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-08-10 20:17:47 +01:00
Justin Clark-Casey (justincc) 2a1c11fda9 On shift-copy of an object, set up a new physics actor (as appropriate) for every copied prim, not just the root
This addresses http://opensimulator.org/mantis/view.php?id=4295
2010-08-10 20:15:44 +01:00
Marck 6147efdad9 Avoid truncation of error message during region creation.
Signed-off-by: Melanie <melanie@t-data.com>
2010-08-10 19:34:09 +01:00
Diva Canto a299fa4849 This file wants to be committed 2010-08-10 11:18:39 -07:00
Diva Canto 7741143fb5 Enforce DB limits on region name to 32 chars, or else (not good). Removed a piece of code from Hyperlinker that didn't work anyway. Shortened the hyperlink region name. 2010-08-10 11:17:38 -07:00
Justin Clark-Casey (justincc) 0a81038dd5 Reduce number of paths in SOP code by setting flags via Flags property rather than _flags
Both ObjectFlags and Flags are effectively exactly the same property, except that ObjectFlags is uint and Flags is PrimFlags
Both reference the PrimFlags _flags underneath, so you couldn't set a non PrimFlags uint anyway.
Deprecated ObjectFlags in favour of Flags.
2010-08-10 17:26:31 +01:00
Justin Clark-Casey (justincc) 7203feb83c Extend DuplicateObject() test to check flags on the duplicated object 2010-08-10 16:50:36 +01:00
Justin Clark-Casey (justincc) 85fc2dfe3c extend TestDuplicateObject() to a two prim object 2010-08-10 16:16:57 +01:00
Justin Clark-Casey (justincc) a5dab074a0 Handle incoming ObjectImage (TextureEntry) updates synchronously rather than asynchronously
At least on stock Linden clients, updating the texture on all faces of the prim will actually send an ObjectImage packet for each update.
There is a race condition if these are handled async, meaning that occasionally not all of the faces are correctly updated.
2010-08-10 16:00:35 +01:00
Justin Clark-Casey (justincc) 3b26baf282 Even if all data migratios are up to date, still print the current revision to the log 2010-08-09 22:54:13 +01:00
meta7 144fc20e87 Make fallbacks work, the destination was never actually updated with the fallback details.
Signed-off-by: Melanie <melanie@t-data.com>
2010-08-09 02:23:59 +01:00
Melanie bc7ee7ba88 Remove "Could not authorize your session into the region" message in favor
of sending back the actual error message provided by the sim.
2010-08-09 00:48:08 +01:00
Melanie a5e4a2bb3b Add distance sort for null, too 2010-08-08 18:18:42 +01:00
Marck f216fd8136 Tests for distance-sorted fallback regions.
With some extensions to existing grid service tests.
2010-08-08 18:12:07 +01:00
Melanie af261ff758 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-08-08 17:39:26 +01:00
Diva Canto a87dbe198c Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-08-08 09:51:17 -07:00
Diva Canto 1314c87f36 Enabled GridInfoServiceInConnector for standalones. 2010-08-08 09:50:41 -07:00
Melanie Thielker 1f25b9e8db Thank you, Marck00, for a patch that implemented region distance sorting
for fallback regions. Applied with changes.
2010-08-08 17:37:50 +01:00
Melanie cd2c7b9ac9 In my crusade against facelights, I am striking the killing blow. Add a
DisableFacelights option to OpenSim.ini to finally kill those immersion-
breaking, silly vanity lights that destroy nighttime RP. Girls, you look
just fine without them. Guys, you too. Thank you. Melanie has left the building.
2010-08-08 01:57:02 +01:00
Melanie ab5a461c5c Add search URL to Login Service 2010-08-07 22:25:29 +01:00
Justin Clark-Casey (justincc) 903cfa8c7e minor: Remove overly verbose schedule full update log message for attachments 2010-08-07 22:28:42 +01:00
Melanie a04efe4a4d Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-08-07 05:39:20 +01:00
Melanie Thielker 00fd2e0446 Correct display of landmark about info. Also correct region maturity rating
in LM info. Maturity is NOT the parcel's setting, that is only for the
image and text. Parcel maturity is governed by region maturity.
2010-08-07 05:33:49 +01:00
Melanie Thielker 59af886680 Change the (hackish) constant to match the changed enum for attachs 2010-08-07 05:33:41 +01:00
Melanie Thielker 2cedfba67c Make the landmark properties work again 2010-08-07 05:33:21 +01:00
Diva Canto 5e93a83ecd Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-08-06 17:43:41 -07:00
Diva Canto 0090534793 Added Check4096 config var under [GridService], at the request of many. Changed the iteration that Marck had on the Hyperlinker.
ATTENTION! CONFIGURATION CHANGE AFFECTING Robust.HG.ini.example and StandaloneCommon.ini.example.
2010-08-06 17:43:09 -07:00
Justin Clark-Casey (justincc) 4e2caab756 Add new SceneGraphTests class. Add simple TestDuplicateObject() 2010-08-07 01:06:47 +01:00
Marck 7e47ab746e Allow creation of link regions if there is an existing region within a 4096 range.
Also add GetHyperlinks() to the grid service.
2010-08-06 17:02:03 -07:00
Justin Clark-Casey (justincc) 8d520f4525 Remove old test classes that don't actually test anything not done elsewhere
Also comment out log4net line in InventoryArchiverTests
2010-08-07 00:50:01 +01:00
Justin Clark-Casey (justincc) 6c8c8d669b minor: a few miscellaneous comments 2010-08-07 00:45:04 +01:00
BlueWall (James Hughes) 85d7d0583e Fix XStats formatting:
Recent libomv update broke the json serialization for
	XStats. This uses String.Format to convert all data to
	strings with fixed decimal (2 places ), or integer formats
	as appropriate.
2010-08-06 23:27:57 +01:00
justincc 1cffeab99d Relocate one System.Core reference from last commit to the Tests project
Ooops, shouldn't have assumed that the tests project came after the main on
2010-08-06 22:53:43 +01:00
Justin Clark-Casey (justincc) 204c05974f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-08-06 22:45:37 +01:00
Justin Clark-Casey (justincc) a9bbff0cd3 Add System.Core references to OpenSim.Region.CoreModules.* to fix windows build
This addresses http://opensimulator.org/mantis/view.php?id=4923
2010-08-06 22:44:44 +01:00
Diva Canto 6321d85ebf These files want to be committed -- white space weirdness. 2010-08-06 11:00:25 -07:00
Diva Canto 2369063640 HACK ALERT! There's some underlying bug in the HTTP server that makes requests come up with Accept headers from previous requests. Until that gets fixed, this hack goes in. 2010-08-06 10:59:19 -07:00
Justin Clark-Casey (justincc) 1270727c96 Merge branch 'moap' 2010-08-06 18:29:30 +01:00
Melanie cc05fc43b9 Fix a parenthesis in prior commit 2010-08-06 17:55:41 +01:00
Melanie 1cd441d5de Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-08-06 17:47:55 +01:00
unknown 54dcfe3f2d Fixes: llSetLinkPrimitiveParams - PRIM_POSITION is not relative to root, causes unexpected movement of child prims
Signed-off-by: Melanie <melanie@t-data.com>
2010-08-06 17:38:29 +01:00
Melanie Thielker e1e897ac11 Change XEngine to use the new constant 2010-08-06 15:18:46 +01:00
Melanie 120f3a18f2 Correct some script constants. 2010-08-06 15:11:18 +01:00
Melanie c1ad8a3c17 People can't leave their hands ooff "well enough". StateSource 0 was region
start, and they started at 1 for real values. Whoever changed that enum
to start at 0 should bow their head in shame. They broke the region start
event. This puts it right again. Meow!
2010-08-06 15:05:35 +01:00
Melanie Thielker f809797d62 Allow the trash folder itself to be passed to PurgeFolder 2010-08-06 15:04:25 +01:00
Melanie Thielker db2f63706d Prevent users from becoming stuck online. This affects only 0.7 2010-08-05 23:49:07 +01:00
Melanie Thielker 1cae505ea1 Prevent hammering the grid services with llRequestAgentData requests. Cache the
user information permanently, and the online status for 20 seconds. Also
cache negatives.
2010-08-05 22:36:43 +01:00
Diva Canto 847008ee07 Addresses http://opensimulator.org/mantis/view.php?id=4919 2010-08-05 09:43:19 -07:00
Melanie 9e9296848d Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-08-05 08:20:32 +01:00
Melanie 1869572297 Prevent setting the hovertext from firing changed_color 2010-08-05 08:19:46 +01:00
Justin Clark-Casey (justincc) a133acbd5f Merge branch 'iar-merge'
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs
	OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs
2010-08-04 20:56:52 +01:00
Justin Clark-Casey (justincc) 7f3f1bfe88 fix mysql/mssql prim serialization problem 2010-08-04 20:23:18 +01:00
Diva Canto a1d7911feb Better debug messages 2010-08-04 11:19:23 -07:00
Diva Canto f72ab53699 Removed a few more obsolete default configs. 2010-08-04 07:50:34 -07:00
Melanie 604ea5fa90 remove more useless defaults 2010-08-04 03:53:51 +01:00
Melanie Thielker 09ab32c21e Remove StandAlone from default hardcoded config 2010-08-04 03:10:10 +01:00
Melanie Thielker bda83715e4 Clean up some messiness in IM sending. Having offline IM enabled now no longer
suppresses "Inventory Saved" messages.
2010-08-04 02:46:30 +01:00
Diva Canto 9ee712459b Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-08-03 18:20:08 -07:00
Diva Canto 53fb799778 Further bug fixing, still related to the issue earlier. 2010-08-03 18:19:40 -07:00
Diva Canto 3c5983d8bd Another bug fixed. Same issue. 2010-08-03 17:29:17 -07:00
Melanie 71cd4d6e84 Revert "remove long unused OpenSim/Framework/Configuration/* projects"
This reverts commit cdd3f17b2b.
2010-08-04 01:10:01 +01:00
Melanie d987e8ef18 Revert "re-Add the XML configuration loader dll. It's gone AWOL in a cleanup, but"
This reverts commit 9c7e35860e.
2010-08-04 01:09:51 +01:00
Diva Canto dd0ebbfb1f this is so bad, brain is beyond fried. must stop. 2010-08-03 17:05:48 -07:00
Melanie 9c7e35860e re-Add the XML configuration loader dll. It's gone AWOL in a cleanup, but
still needed for web-loading region configs and for loading legacy XML
region files
2010-08-04 01:00:06 +01:00
Diva Canto dd688a5994 sigh. fried brain. 2010-08-03 16:59:34 -07:00
Diva Canto 87046652b1 One more buglet related to the issue at hand. 2010-08-03 16:33:56 -07:00
Melanie Thielker 16bdb53683 Allow specifying default region flags. Correct a typo. 2010-08-04 00:31:25 +01:00
Diva Canto ee068dd243 One more thing related to the previous commit. Must avoid all in-process remote calls. 2010-08-03 16:27:11 -07:00
Diva Canto 239478f3a9 Bug fix (HG): mantis #4891. This doesn't actually fix the underlying bug, but it clears up the circular dependency issue between Gatekeeper and UserAgents that had made me resort to in-process remote calls, which, in turn, were hitting bugs down there somewhere in mono.
NOTE: CONFIGURATION CHANGE IN ROBUST.HG.INI.EXAMPLE !!!###!!!
2010-08-03 16:02:52 -07:00
Justin Clark-Casey (justincc) 2a0254f2da Implement MediaUrl persistence for MySQL and MsSQL
Not sure how I forgot this.  This may resolve problems with media textures not persisting over restart for these databases.
2010-08-03 17:54:40 +01:00
Justin Clark-Casey (justincc) 99c0f4c9c7 Simplify serialized version string. Change element capitalization for consistency
THIS CHANGE ALTERS THE SERIALIZATION FORMAT, HOPEFULLY FOR THE LAST TIME.  If you're testing, please start with a new database.
This commit also improves locking for manipulation of media entries.
2010-08-03 17:09:20 +01:00
Justin Clark-Casey (justincc) 9d8a67fe13 get rid of PrimitiveBaseShape.MediaRaw staging post
using an OSD serialization rather than auto forces serialization code to be placed in OpenSim.Framework
this makes the media texture raw data staging post in PrimitiveBaseShape redundant, now we just directly call the code in PrimitiveBaseShape.MediaList itself
2010-08-03 16:26:27 +01:00
Justin Clark-Casey (justincc) ac07d853b8 remove duplicated serialization code 2010-08-03 15:58:17 +01:00
Justin Clark-Casey (justincc) 60df76314f serialize media textures to inventory with a largely osd representation rather than .net auto-serialization
THIS WILL BREAK ANY EXISTING MEDIA TEXTURE SERIALIZATIONS.  If you're testing this, please start with new databases.
This makes media textures serialized in the same way, which is probably better in the long term.
2010-08-03 15:45:49 +01:00
Melanie Thielker 8e37e7eb07 Remove the (wrong) implementation if llPointAt. It never worked on the LL
grid and is officially deprecated. There is no way to rotate an avatar
programmatically.
2010-08-02 00:41:40 +01:00
randomhuman 5e759338ca Renamed variables in RemoteAdmin plugin to be closer to the coding standards. 2010-08-01 17:20:09 +01:00
randomhuman 93532a9cd2 Changed all method names in the RemoteAdmin plugin to use the correct capitalization. 2010-08-01 17:20:09 +01:00
Diva Canto c4ecbd1fb1 White space from previous commit. 2010-07-31 16:40:58 -07:00
Marck f91ec19224 Implemented console command "show hyperlinks". 2010-07-31 16:38:23 -07:00
Diva Canto ed59dcd422 Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-07-30 18:07:50 -07:00
Diva Canto 8c7fd12d5d Bug fix: make m_HypergridLinker static. 2010-07-30 18:07:14 -07:00
Melanie 168a8e9ae5 Thank you, Snoopy, for a patch to fix child prim movement. This still doesn't
address limiting link distance, but at least it makes the UI and LSL
match.
2010-07-31 01:03:14 +01:00
Diva Canto 86bc25b84f Slight improvement on previous commit. 2010-07-30 14:27:53 -07:00
Diva Canto f3fa10fa15 Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-07-30 14:04:29 -07:00
Diva Canto 8ab7d80b09 Changed the way HG client verification is done: now transforming local and LAN client IPs into external IPs. This addresses some issues related to running both the user agents service and the viewer in the same machine/LAN, which then presents a problem when the user agent goes to an external network. 2010-07-30 14:04:13 -07:00
Justin Clark-Casey (justincc) f84dbafb0c remove gods event subscription to gods module from scene 2010-07-30 21:58:24 +01:00
Justin Clark-Casey (justincc) 63f3a16b72 remove empty, unused and uncalled UnsubscribeToClientEvents() 2010-07-30 21:44:50 +01:00
Justin Clark-Casey (justincc) 424b4b2b86 move attachment subscription events into AttachmentsModule from scene.
restored to some heavy casting in order to preserve RegionCombinerModule semantics, pending better events.
2010-07-30 21:41:44 +01:00
Justin Clark-Casey (justincc) 4d83b2d8a6 remove unused BasicQuadTreeNode 2010-07-30 21:06:45 +01:00
Justin Clark-Casey (justincc) f37ec933ae store terrain module trying to load plugins if plugin path does not exist 2010-07-30 20:54:02 +01:00
Justin Clark-Casey (justincc) c6bc1d28ec move ChannelDigger from its own project into the main terrain module with the rest of the effects 2010-07-30 20:34:14 +01:00
Justin Clark-Casey (justincc) cdd3f17b2b remove long unused OpenSim/Framework/Configuration/* projects 2010-07-30 20:19:46 +01:00
Justin Clark-Casey (justincc) 68b1d6f0af Remove unused ILoginServiceToRegionsConnector 2010-07-30 20:02:00 +01:00
Justin Clark-Casey (justincc) 315b065bce Remove unused LLFileTransfer 2010-07-30 19:58:29 +01:00
Justin Clark-Casey (justincc) ce358db159 remove long superseded HGNetworkServersInfo 2010-07-30 19:54:27 +01:00
Justin Clark-Casey (justincc) 4596c78073 remove unused FriendRegionInfo 2010-07-30 19:50:47 +01:00
Justin Clark-Casey (justincc) c7652d287b remove now unused GridConfig, MessageServerConfig, UserConfig 2010-07-30 19:44:39 +01:00
Justin Clark-Casey (justincc) f393e10ea4 remove unused ACL class 2010-07-30 19:34:55 +01:00
Justin Clark-Casey (justincc) 5b80e3fc18 convert attachments module from old region module style to new 2010-07-30 19:26:54 +01:00
John Hurliman b83910f12a * Added debug logging to SimianGrid inventory service response parsing 2010-07-29 16:42:00 -07:00
Melanie e0de8fa308 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-07-29 23:20:50 +01:00
Melanie Thielker 2257e39eda Make dataserver() return a 0 when agent id offline, instead of a timeout 2010-07-29 23:20:38 +01:00
John Hurliman 550c3572a1 * Tweaked WebUtil.PostToService() to help debug an object disposed exception 2010-07-29 14:39:08 -07:00
Melanie Thielker 696b6c727f Allow gods and estate managers/owners to be unaffected by parcel bans 2010-07-29 16:20:40 +01:00
Justin Clark-Casey (justincc) f067f733ea add userExposed parameter to part copy event 2010-07-28 19:38:20 +01:00
Justin Clark-Casey (justincc) 0f15ccb2cf relocate moap specific cloning code to MoapModule 2010-07-28 19:23:30 +01:00
Justin Clark-Casey (justincc) 5aa56b1274 Fix problem where changes to media textures for prims duplicated by shify copy would change both prims until server restart
I also found out that you can crash the current viewer by giving it more media entrys than it's expecting
2010-07-28 18:55:29 +01:00
Justin Clark-Casey (justincc) a349703279 comment out further debug line in BaseHttpServer 2010-07-27 22:51:57 +01:00
Justin Clark-Casey (justincc) b149d8970e comment out verbose debug logging 2010-07-27 22:49:45 +01:00
Justin Clark-Casey (justincc) 1996eb93b9 Update OpenMetaverse libraries to r3287 + r3294 (removal of OpenMetaverse.Http.dll dependency) + r3378 (treat MediaPermission as a bitfield)
As far as I can determine, r3287 + r3294 patch was the previous update to the OpenMetaverse libraries
This change just adds r3378 to overcome problems storing media textures with certain permission combinations in inventory
This is a limited change in order to isolate moap from any other possible libomv update issues
An update to the forthcoming libomv 0.8.3 is expected in due course to replace this
This commit also deletes OpenMetaverse.Utilities.* as it's unused (on the advice of jhurliman).
2010-07-27 21:52:50 +01:00
Justin Clark-Casey (justincc) 30ac67fb3d make MoapModule ignore possible future media texture data that it can't handle 2010-07-27 20:15:43 +01:00
Justin Clark-Casey (justincc) ac542a907b Make MoapModule ignore non-sl media texture data 2010-07-27 18:59:05 +01:00
Justin Clark-Casey (justincc) 931c108277 Merge branch 'moap' of ssh://opensimulator.org/var/git/opensim into moap 2010-07-26 23:39:05 +01:00
Justin Clark-Casey (justincc) 109ddd1bd5 add mssql support for media on a prim
compiles but not tested.  please test and correct if necessary!
2010-07-26 23:34:23 +01:00
Justin Clark-Casey (justincc) 849fc0483f add mysql support for media on a prim 2010-07-26 23:34:23 +01:00
Justin Clark-Casey (justincc) 4d23749241 provide config option for media on a prim 2010-07-26 23:34:23 +01:00
Justin Clark-Casey (justincc) 412fed975f relocate serialization code from SQLiteRegionData to MoapModule using load and save events.
This is better modularity.  It also allows MoapModule to be replaced with some other media module that may behave completely differently in the future.
Remaining non-modularity:
PrimitiveBaseShape needs explicit Media and MediaRaw fields.  MediaRaw is required in order to shuttle the pre-serialization data back and forth from the database layer.
The database also needs to know about MediaRaw though not about Media.
IMO, it would be extremely nice to remove these hard codings but this is a bridge too far at the present time.
2010-07-26 23:34:23 +01:00
Justin Clark-Casey (justincc) b51b2efdc8 Add EventManager.OnSceneObjectPreSave() for future use. This is triggered immediately before a copy of the group is persisted to storage 2010-07-26 23:34:22 +01:00
Justin Clark-Casey (justincc) 586ae0f6a0 Add EventManager.OnSceneObjectLoaded() for future use. This is fired immediately after a scene object is loaded from storage. 2010-07-26 23:34:22 +01:00
Justin Clark-Casey (justincc) afdbeba4e4 Put a wrapper around the media texture region serialization
THIS WILL BREAK EXISTING MEDIA TEXTURE PERSISTENCE.  Please delete your existing sqlite databases if you are experimenting with this branch.
This wrapper will make it easier to maintain compatibility if the media texture data evolves.
This will also make it easier to store non-sl media texture data.
2010-07-26 23:34:22 +01:00
Justin Clark-Casey (justincc) d764c95d09 also add avatar id to an updated media url - not just new ones 2010-07-26 23:34:22 +01:00
Justin Clark-Casey (justincc) b06308e1d3 Properly set TextureEntry.MediaFlags when a media texture is set
Media flags is cleared via a direct TextureEntry update from the client.  If the clearing leaves no media textures on the prim, then a CAP ObjectMediaUpdate is not received.  If there are still media textures present then one is received.
This change fixes drag-and-drop on Windows (and Mac?) clients.  It may also fix problems with clearing and then subsequently setting new media textures.
2010-07-26 23:34:22 +01:00
Justin Clark-Casey (justincc) 60c52ac0c4 start adding user ids to the media urls 2010-07-26 23:34:22 +01:00
Justin Clark-Casey (justincc) f872a2af11 add missing regionstore migration file for new fields. D'oh!
this should enable persistence now
2010-07-26 23:34:22 +01:00
Justin Clark-Casey (justincc) cd985ab71b Handle checking of line starting "*" wildcard for whitelist patterns
A line starting * can only be applied to the domain, not the path
2010-07-26 23:34:21 +01:00
Justin Clark-Casey (justincc) 664cbe2357 refactor: simplify current whitelist url checking by using System.Uri 2010-07-26 23:34:21 +01:00
Justin Clark-Casey (justincc) 0edabffb7d Implement * end wildcard for whitelist urls 2010-07-26 23:34:21 +01:00
Justin Clark-Casey (justincc) dce7307aa2 properly expose prim media LSL functions to scripts
scripts using these functions should now compile but I don't know how well the methods themselves work yet
llSetPrimMedia(), at least, appears to have problems when a current url is set for a face that doesn't yet have a texture
2010-07-26 23:34:21 +01:00
Justin Clark-Casey (justincc) fc76ce0f46 fix bug where prim persistence would fail if media had never been set 2010-07-26 23:34:21 +01:00
Justin Clark-Casey (justincc) 049ccba8d3 fix previous media interact serverside checking. perform very basic serverside url whitelist checks
at the moment, only checking for the exact name prefix is implemented
for some reason, whitelists are not persisting
this commit also fixes a very recent problem where setting any media texture parameters after the initial configuration would not work
2010-07-26 23:34:21 +01:00
Justin Clark-Casey (justincc) cf7573c8fd implement code to deregister users on DeregisterCaps 2010-07-26 23:34:21 +01:00
Justin Clark-Casey (justincc) ee6cd884c9 implement serverside checks for media texture navigation in order to stop naughty clients 2010-07-26 23:34:21 +01:00
Justin Clark-Casey (justincc) a9101feb10 factor out soon to be common media permissions check code 2010-07-26 23:34:20 +01:00
Justin Clark-Casey (justincc) 51b208e96c implement prim media control permissions serverside in order to stop bad clients 2010-07-26 23:34:20 +01:00
Justin Clark-Casey (justincc) e5615d3a9b discard an object media update message if it tries to set more media textures than the prim has faces 2010-07-26 23:34:20 +01:00
Justin Clark-Casey (justincc) eb5e39d6ef Fire CHANGED_MEDIA event if a media texture is set or cleared 2010-07-26 23:34:20 +01:00
Justin Clark-Casey (justincc) 39a38c4901 implement llClearPrimMedia()
untested
2010-07-26 23:34:20 +01:00
Justin Clark-Casey (justincc) d1a879927c fix issue with GetMediaEntry if the face requested wasn't set to a media texture 2010-07-26 23:34:20 +01:00
Justin Clark-Casey (justincc) 43f480864b fix problem persisting when only one face had a media texture 2010-07-26 23:34:20 +01:00
Justin Clark-Casey (justincc) c76e2ce250 factor out common code for updating the media url 2010-07-26 23:34:19 +01:00
Justin Clark-Casey (justincc) 74bc4f61fd factor out common face parameter checking code 2010-07-26 23:34:19 +01:00
Justin Clark-Casey (justincc) cfb79cd411 minor: correct a few method names and change accessability 2010-07-26 23:34:19 +01:00
Justin Clark-Casey (justincc) a5ad792e6c implement llSetPrimMediaParams()
Untested
2010-07-26 23:34:19 +01:00
Justin Clark-Casey (justincc) 8f403cb4b8 Implement llGetPrimMediaParams()
Exposes method to get media entry via IMoapModule
As yet untested.
2010-07-26 23:34:19 +01:00
Justin Clark-Casey (justincc) 9682e0c733 Implement media texture persistence over server restarts for sqlite
This is currently persisting media as an OSDArray serialized to LLSD XML.
2010-07-26 23:34:19 +01:00
Justin Clark-Casey (justincc) 4ebae14a53 handle ObjectMediaNavigateMessage
Other avatars can now see the webpages that you're navigating to.
The requirement for an initial prim click before the texture displayed has gone away.
Flash (e.g. YouTube) appears to work fine.
Still not persisting any media data so this all disappears on server restart
2010-07-26 23:34:18 +01:00
Justin Clark-Casey (justincc) 468450a94d send a full object update out to avatars when a media texture is initially set
this allows other avatars to see it, but still only after they've clicked on the face
still not handling navigation yet
2010-07-26 23:34:18 +01:00
Justin Clark-Casey (justincc) b1eb83ed6c start sending media url in object full updates 2010-07-26 23:34:18 +01:00
Justin Clark-Casey (justincc) 4a6adff4cd start storing a mediaurl on the scene object part
not yet persisted or sent in the update
2010-07-26 23:34:18 +01:00
Justin Clark-Casey (justincc) c290cdd997 replace hand parsing of incoming object media messages with parsing code in libopenmetaverse 2010-07-26 23:34:18 +01:00
Justin Clark-Casey (justincc) acac47830e start storing incoming MediaEntry on a new Media field on PrimitiveBaseShape
This allows the media texture to persist in memory - logging in and out will redisplay it (after a click) though navigation will be lost
Next need to implement media uri on prim and delegate more incoming llsd parsing to libomv
2010-07-26 23:34:18 +01:00
Justin Clark-Casey (justincc) 9301e36fbc have a stab at sending the correct number of media entries to shapes
actually, this is probably wrong anyway if there's a default texture
it's going to be easier just to gather the object media updates and retain those in-memory now
but what the hell
2010-07-26 23:34:17 +01:00
Justin Clark-Casey (justincc) 701f39c8c2 do a whole load of crappy hacking to get cubes to display google.com
currently, for smoe reason the page only appears when you click a face.
also, actually navigating anywhere always snaps you back to the google search box, for some unknown reason
you can still change the url and normal navigation will work again
2010-07-26 23:34:17 +01:00
Justin Clark-Casey (justincc) 2be7d0cdd4 Register ObjectMedia and ObjectMediaNavigate capabilities from moap module.
Not sure if these are correct, but just supplying these to the viewer is enough to allow it to put media textures on prims (previously the icons were greyed out).
This is not yet persisted even in-memory, so no other avatars will see it yet.
2010-07-26 23:34:17 +01:00
Justin Clark-Casey (justincc) ede446cad6 add stub media-on-a-prim (shared media) module 2010-07-26 23:34:17 +01:00
Justin Clark-Casey (justincc) 09231b1d12 add mssql support for media on a prim
compiles but not tested.  please test and correct if necessary!
2010-07-26 23:26:22 +01:00
Justin Clark-Casey (justincc) d00466f09a add mysql support for media on a prim 2010-07-26 23:19:31 +01:00
Justin Clark-Casey (justincc) f34795c6b3 provide config option for media on a prim 2010-07-26 21:41:39 +01:00
Justin Clark-Casey (justincc) d5e8272ad4 relocate serialization code from SQLiteRegionData to MoapModule using load and save events.
This is better modularity.  It also allows MoapModule to be replaced with some other media module that may behave completely differently in the future.
Remaining non-modularity:
PrimitiveBaseShape needs explicit Media and MediaRaw fields.  MediaRaw is required in order to shuttle the pre-serialization data back and forth from the database layer.
The database also needs to know about MediaRaw though not about Media.
IMO, it would be extremely nice to remove these hard codings but this is a bridge too far at the present time.
2010-07-26 21:09:54 +01:00
Justin Clark-Casey (justincc) c70d57ff98 Add EventManager.OnSceneObjectPreSave() for future use. This is triggered immediately before a copy of the group is persisted to storage 2010-07-26 20:36:28 +01:00
Justin Clark-Casey (justincc) 491b8181ad Add EventManager.OnSceneObjectLoaded() for future use. This is fired immediately after a scene object is loaded from storage. 2010-07-26 20:13:26 +01:00
Justin Clark-Casey (justincc) 4736e38e79 Put a wrapper around the media texture region serialization
THIS WILL BREAK EXISTING MEDIA TEXTURE PERSISTENCE.  Please delete your existing sqlite databases if you are experimenting with this branch.
This wrapper will make it easier to maintain compatibility if the media texture data evolves.
This will also make it easier to store non-sl media texture data.
2010-07-26 19:56:55 +01:00
Melanie aa7cadca52 Add some options 2010-07-24 23:36:07 +01:00
Melanie a9b7774fe0 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-07-24 23:15:38 +01:00
Melanie 4dbff62ef5 Fix some inventory issues 2010-07-24 23:15:06 +01:00
Justin Clark-Casey (justincc) 1a03a0b281 remove compile.bat from a created binary distribution 2010-07-23 23:12:30 +01:00
Justin Clark-Casey (justincc) 2f6fa373ef in nant distbin, specifically only delete Regions.ini instead of the entire Regions directory 2010-07-23 22:36:03 +01:00
Diva Canto 0c0ac65d38 Added ': ' to password prompt. Mantis #4851 2010-07-22 04:00:24 -07:00
Melanie 7b471bb21c Adding sample configuration to previous patch 2010-07-22 03:04:34 +01:00
Melanie a70c7756b3 Add sending of the avatar interests and configuration of the profiles
module as an OpenSim profile module to Simian grid services.
Patch by Dimentox, thank you.
Applied with changes.
2010-07-22 03:01:50 +01:00
Justin Clark-Casey (justincc) 8e8076c947 also add avatar id to an updated media url - not just new ones 2010-07-21 19:32:05 +01:00
Justin Clark-Casey (justincc) 6ef2a72c70 Properly set TextureEntry.MediaFlags when a media texture is set
Media flags is cleared via a direct TextureEntry update from the client.  If the clearing leaves no media textures on the prim, then a CAP ObjectMediaUpdate is not received.  If there are still media textures present then one is received.
This change fixes drag-and-drop on Windows (and Mac?) clients.  It may also fix problems with clearing and then subsequently setting new media textures.
2010-07-21 17:12:43 +01:00
Justin Clark-Casey (justincc) 8e67f6dc44 start adding user ids to the media urls 2010-07-21 14:25:21 +01:00
Melanie ac1a34714d Allow Megaregions to start properly after an unclean shutdown 2010-07-20 23:24:04 +01:00
Diva Canto f08afc4f87 Restore lines that have been removed due to previous merge conflict. 2010-07-20 14:28:17 -07:00
Melanie 176cb01130 Remove a merge artefact 2010-07-20 21:38:31 +01:00
Melanie Thielker 120d7014fd When a god uses mass permission setting, the V bit is cleared from next
perms, rendering the item unmoveable for the next owenr. Make god mods
conform to the rules, too.
2010-07-20 21:01:46 +01:00
Melanie Thielker ea51bea508 prevent hacked viewers from being able to delete arbitrary items from any
prim. Allow friends with perms and shared group members to move or copy
things out of prims
2010-07-20 21:01:14 +01:00
Melanie Thielker 78605baab3 Fix a few permissions vulnerability. Owners could cause permissions
escalation on items contained in prims using a hacked viewer
2010-07-20 21:00:56 +01:00
Justin Clark-Casey (justincc) e46c0a0fc9 adjust DialogModule to only send broadcast alerts to root agents 2010-07-20 21:32:13 +01:00
Diva Canto 7c124a5543 Relaxed the ultra-conservative lock on m_items. Needs testing under linux and stress. 2010-07-20 05:59:18 -07:00
Diva Canto b7f1288361 Adding it again.
Revert "Reverting this for now, but this needs to go in again."

This reverts commit c0d9ab941d.
2010-07-20 04:23:39 -07:00
Diva Canto c0d9ab941d Reverting this for now, but this needs to go in again.
Revert "Another stab at http://opensimulator.org/mantis/view.php?id=4858. Eliminated more nested locks."

This reverts commit ffbae52a13.
2010-07-19 16:22:29 -07:00
Diva Canto ffbae52a13 Another stab at http://opensimulator.org/mantis/view.php?id=4858. Eliminated more nested locks. 2010-07-19 15:20:34 -07:00
Diva Canto 5c0c7fda6c One more stab at http://opensimulator.org/mantis/view.php?id=4858.
Eliminated the nested locks of m_Scripts and m_PrimObjects.
2010-07-19 13:59:11 -07:00
Diva Canto cd2bb7daf3 Deleted Snoopy's patch completely, including Thread.Sleep. Preliminary tests indicate that this is what causes deadlock. More tests needed. 2010-07-19 08:07:37 -07:00
Melanie a974704a3e re-add the sleep lost in the revert. 2010-07-19 14:37:27 +01:00
Melanie 575f7d3366 Revert "Thank you, Snoopy, for a patch to reduce sim script startup CPU usage"
This reverts commit c404c5fb54.
2010-07-19 14:36:53 +01:00
Melanie fa45d5b5fa Revert "A stab in the dark. Revert the compile lockout temporarily. If you know what"
This reverts commit f798679b80.
2010-07-19 01:10:57 +01:00
Melanie f798679b80 A stab in the dark. Revert the compile lockout temporarily. If you know what
this is, you should test it. If you don't, don't use it.
2010-07-19 00:06:23 +01:00
Melanie 7b62c25cfb Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-07-17 16:25:56 +01:00
Melanie Thielker e157dd630e Allow communicating with blue box dialogs across a region border via a
child agent
2010-07-17 16:25:30 +01:00
Justin Clark-Casey (justincc) 9cfa71d1bf Allow use of old angle rules PSYS_SRC_INNERANGLE and PSYS_SRC_OUTERANGLE in llParticleSystem()
This is a patch from http://opensimulator.org/mantis/view.php?id=3201
Thanks Micheil Martin!
2010-07-17 00:35:51 +01:00
Justin Clark-Casey (justincc) e05f01e70f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-07-17 00:27:52 +01:00
Justin Clark-Casey (justincc) f5bdf0d9b9 Fix bugs in llRot2Euler()
Applies patch in http://opensimulator.org/mantis/view.php?id=4482.
Thanks Micheil Merlin!
2010-07-17 00:26:26 +01:00
Justin Clark-Casey (justincc) 2c3207df07 add missing regionstore migration file for new fields. D'oh!
this should enable persistence now
2010-07-15 23:28:36 +01:00
Justin Clark-Casey (justincc) 0bec4f5ea5 Handle checking of line starting "*" wildcard for whitelist patterns
A line starting * can only be applied to the domain, not the path
2010-07-15 21:51:57 +01:00
Justin Clark-Casey (justincc) 2ec6e3b440 refactor: simplify current whitelist url checking by using System.Uri 2010-07-15 21:40:44 +01:00
Justin Clark-Casey (justincc) 610a2626a5 Implement * end wildcard for whitelist urls 2010-07-15 21:14:55 +01:00
Diva Canto b75fc97865 Fixes mantis #4872. Port for GridInfo was wrong in Robust.HG.ini.example 2010-07-15 03:34:03 -07:00
Justin Clark-Casey (justincc) e74e591e0b properly expose prim media LSL functions to scripts
scripts using these functions should now compile but I don't know how well the methods themselves work yet
llSetPrimMedia(), at least, appears to have problems when a current url is set for a face that doesn't yet have a texture
2010-07-15 00:15:23 +01:00
Justin Clark-Casey (justincc) aec3b33011 fix bug where prim persistence would fail if media had never been set 2010-07-14 23:48:24 +01:00
Justin Clark-Casey (justincc) 99a6950b30 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-07-14 23:29:04 +01:00
Justin Clark-Casey (justincc) c3ee451325 fix previous media interact serverside checking. perform very basic serverside url whitelist checks
at the moment, only checking for the exact name prefix is implemented
for some reason, whitelists are not persisting
this commit also fixes a very recent problem where setting any media texture parameters after the initial configuration would not work
2010-07-14 23:26:24 +01:00
Melanie 466254105c Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-07-14 23:04:25 +01:00
Melanie Thielker 264f4f07cd Detach attachments displaced by other attachments 2010-07-14 23:04:05 +01:00
Diva Canto 0d8c0811d3 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-07-14 14:48:14 -07:00
Diva Canto 6afa55d446 Removed a few obsolete mono addin references. Mantis #4854 2010-07-14 14:47:01 -07:00
Justin Clark-Casey (justincc) 8c10cb5ffe improve closing of load/save iar streams in the event of a problem 2010-07-14 20:43:35 +01:00
Melanie e1ea82b329 Major attachments cleanup. Remove unused AttachObject ClientView method
Clean up use of AttachObject throughout, reduce number of overloads
and number of parameters
2010-07-14 19:51:12 +01:00
Melanie Thielker a7b5fe6a88 Remove useless quaternion parameter from AttachObject sig 2010-07-14 19:49:54 +01:00
Diva Canto b8aa81635f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-07-14 11:04:57 -07:00
Diva Canto 12858122d5 Fixes mantis #4870. 2010-07-14 11:02:41 -07:00
Justin Clark-Casey (justincc) 5b03e05035 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-07-14 17:55:06 +01:00
Justin Clark-Casey (justincc) 5d83b3f991 comment out obsolete assert that 'item has been passed to another user since it was last set' perms flag was set when a prim item was added to a scene object 2010-07-14 17:53:43 +01:00
Justin Clark-Casey (justincc) 0080c3b1f4 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-07-14 17:13:04 +01:00
Justin Clark-Casey (justincc) 71433075a9 Fix obvious bug in XInventoryService.GetFolderItems() which was preventing the iar module from being able to save single item iars 2010-07-14 17:12:12 +01:00
Melanie 2291daa95a Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-07-14 16:13:21 +01:00
Diva Canto e17591f4cf Cleaned up a couple of things from OpenSim.ini.example: [Friends] section has been in other inis for a while, not needed here; and [Network] remoteDataPort is obsolete. 2010-07-14 08:52:22 -07:00
Melanie Thielker 39cd57598b Fix a permissions issue 2010-07-14 16:12:44 +01:00
Melanie 33aa7ba7dc Revert "More on mantis #4869. This fixes the problem of objects showing up as no copy when they are copy-able. It works, but I have no idea what I'm doing."
Cuauses a permission escalation. do NOT USE the preceding commit
2010-07-14 14:59:34 +01:00
Diva Canto bec1d7cc36 Removed left-over debug messages. 2010-07-14 07:00:24 -07:00
Diva Canto 87fb19162e More on mantis #4869. This fixes the problem of objects showing up as no copy when they are copy-able. It works, but I have no idea what I'm doing. 2010-07-14 06:57:56 -07:00
Diva Canto d64c09160c Removed some more debug messages. 2010-07-14 04:18:13 -07:00
Melanie Thielker cd8bb316ea Remove getting the object capacity from the money module. It is now set
directly from the Region Info (and the region ini file)
2010-07-14 03:51:00 +01:00
Justin Clark-Casey (justincc) e44e1ccbd3 implement code to deregister users on DeregisterCaps 2010-07-14 00:16:37 +01:00
Justin Clark-Casey (justincc) a4c6c4de91 implement serverside checks for media texture navigation in order to stop naughty clients 2010-07-13 23:58:19 +01:00
Justin Clark-Casey (justincc) 2ad9789b1c factor out soon to be common media permissions check code 2010-07-13 23:46:49 +01:00
Justin Clark-Casey (justincc) 6f644f5322 implement prim media control permissions serverside in order to stop bad clients 2010-07-13 23:19:45 +01:00
Melanie dd14016885 Revamp the permissions propagation. This MAY mess up. Please test.
Change the slam bit from 3 to 4. Assume the old slam bit is always set.
The new slam bit is a "changed owner" bit, correcting a bug where an item
passed from the creator to another with less than full perms, then back (sale
test) would arrive back full perm. Lots of in-code docs.
2010-07-13 20:45:16 +01:00
Melanie Thielker bed36901d1 Add CreateSelected flag onto objects rezzed from inventory 2010-07-13 20:37:12 +01:00
Justin Clark-Casey (justincc) 1a1d42db83 discard an object media update message if it tries to set more media textures than the prim has faces 2010-07-13 19:28:07 +01:00
Justin Clark-Casey (justincc) 86f3f83250 uncomment a load iar code line I accidentally commented in the last commit
hooray for automated tests
2010-07-12 23:37:08 +01:00
Justin Clark-Casey (justincc) 3156f4bbeb comment out a lot of the debug log messages when loading an iar
these are very redundant now and cause issues when loading large iars
diva, you may want to cherry pick this for 0.7-post-fixes since it only comments out log lines and nothing else
2010-07-12 23:00:01 +01:00
Justin Clark-Casey (justincc) 55caab1efd Fire CHANGED_MEDIA event if a media texture is set or cleared 2010-07-12 22:27:11 +01:00
Justin Clark-Casey (justincc) 4b0c5711b5 implement llClearPrimMedia()
untested
2010-07-12 22:00:45 +01:00
Justin Clark-Casey (justincc) 01ff3c9f9f fix issue with GetMediaEntry if the face requested wasn't set to a media texture 2010-07-12 21:43:36 +01:00
Justin Clark-Casey (justincc) d4684da8bd fix problem persisting when only one face had a media texture 2010-07-12 21:33:27 +01:00
Justin Clark-Casey (justincc) 7691a638e3 factor out common code for updating the media url 2010-07-12 20:18:10 +01:00
Justin Clark-Casey (justincc) 9231fc0f31 factor out common face parameter checking code 2010-07-12 20:15:10 +01:00
Justin Clark-Casey (justincc) 312eb5e42e minor: correct a few method names and change accessability 2010-07-12 19:48:20 +01:00
Justin Clark-Casey (justincc) 4a92046b58 implement llSetPrimMediaParams()
Untested
2010-07-12 19:46:23 +01:00
Justin Clark-Casey (justincc) 7e3c54213c Implement llGetPrimMediaParams()
Exposes method to get media entry via IMoapModule
As yet untested.
2010-07-12 15:49:09 +01:00
Melanie Thielker 26621ca500 Add scripted controllers into agent intersim messaging 2010-07-11 14:50:14 +01:00
Melanie eaea89bbb7 Remove localID from script controls data. It won't transfer to another
region anyway
2010-07-11 13:09:11 +01:00
Melanie Thielker 1169bfeaf3 Make taken items go back to the folder they came from 2010-07-10 10:43:34 +01:00
unknown 6352fc5f57 Bug in 0.6.9 sometimes restoring script state causes region console to crash due to unhandled file lock exception. Attempt to resolve by wrapping several instances of file create / read logic in using statements and added some error handling for locked file exceptions. If it is IDisposable, it must be disposed! The close statements are unnecessary but harmless so I have left those in. The end of the using block will close and dispose automagically. 2010-07-09 18:23:48 +01:00
Diva Canto fe60b6783d Hopefully fixes mantis #4852 2010-07-08 16:21:01 -07:00
Diva Canto d2fea2bb29 These 2 files want to be committed. 2010-07-08 16:05:59 -07:00
dahlia df9d4cd9b2 llVecNorm() now returns a zero-length vector when one is supplied as input. Addresses Mantis #4752 2010-07-08 10:06:08 -07:00
dahlia 815dd73cf3 fix a potential division by zero 2010-07-08 10:01:23 -07:00
Melanie baebefeb05 Handle a specific exception without spewing red ink. 2010-07-08 16:30:36 +01:00
Diva Canto 32cfdb0f6a Switched order of conditionals. 2010-07-07 02:40:51 -07:00
Kevin Cozens 07559707c5 Fixes problem where "Adult" regions were reported as being of type "Unknown". 2010-07-07 02:37:22 -07:00
Diva Canto 657056a73f Fixes mantis #4845 2010-07-05 08:48:02 -07:00
Diva Canto cd19e6fe32 Fixes mantis #4842 2010-07-05 07:38:15 -07:00
Diva Canto debc780654 Fixes additional bug reported in mantis #4841. 2010-07-05 07:14:32 -07:00
Diva Canto 7525f3a556 Don't include hyperlinks as neighbors, even if grid operators have done the mistake of placing them as neighbors. This will not prevent further mess ups coming from that unsupported action. 2010-07-05 04:19:53 -07:00
Diva Canto c7e4880a5e One more buglet fixed related to mantis #4841 -- auto-returns were still chocking on a null pointer exception. 2010-07-05 03:36:26 -07:00
Diva Canto b84f72df0b Got rid of all hyperassets references. Also fixed accessing textures in user's inventory in foreign grids. 2010-07-04 14:59:15 -07:00
Diva Canto 02a15bc787 Started to clean up the mess with HyperAssets in LLClientView. Fixed HG access to Notecards in user's inventory. 2010-07-04 13:56:03 -07:00
Diva Canto abe0a9ff49 Fixes the obvious problem in mantis #4841. Melanie needs to look at other potential problems there, though. 2010-07-04 02:59:38 -07:00
Diva Canto c117f2144c Compiled Robust.32BitLaunch.exe to .Net 3.5 2010-07-03 10:40:33 -07:00
Diva Canto 028303c3e1 Fixes mantis #4835 2010-07-03 02:44:28 -07:00
Diva Canto 79c1eb1e39 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-07-02 06:36:08 -07:00
Diva Canto 490f1c144c Fixes mantis #4782 2010-07-02 06:35:38 -07:00
Melanie Thielker e15f6905a5 Clean up IMoneyModule and adjust the other modules to the changes 2010-07-02 06:13:58 +01:00
Melanie Thielker fda9d7b75e Remove GetEconomyData and the economy data structure (unused) 2010-07-02 04:45:03 +01:00
Melanie a4b7863ea1 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-07-02 04:21:48 +01:00
dahlia d58b32735d add Micheil Merlin to CONTRIBUTORS.txt (Mantis #4784) 2010-07-01 20:50:24 -07:00
Melanie Thielker 9e0b562c6e Fox another scripting nasty. Stuff no system.string objects into lists 2010-07-02 04:21:07 +01:00
Melanie e328c23355 Add MapTileURL to robust to supply the url needed by snowglobe 2010-07-02 04:03:35 +01:00
Melanie Thielker 848623eea5 Fix a dumb little sign error that makes a LSL wiki example fail 2010-07-02 03:04:43 +01:00
Justin Clark-Casey (justincc) 53ddcf6d25 Implement media texture persistence over server restarts for sqlite
This is currently persisting media as an OSDArray serialized to LLSD XML.
2010-07-01 22:52:31 +01:00
Justin Clark-Casey (justincc) 54d7f6ef43 Add region name on the end of script startup debug messages 2010-07-01 21:34:53 +01:00
Justin Clark-Casey (justincc) 12b70ffc7e Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-07-01 21:27:07 +01:00
Justin Clark-Casey (justincc) ca5d1411a6 handle ObjectMediaNavigateMessage
Other avatars can now see the webpages that you're navigating to.
The requirement for an initial prim click before the texture displayed has gone away.
Flash (e.g. YouTube) appears to work fine.
Still not persisting any media data so this all disappears on server restart
2010-07-01 20:25:35 +01:00
Justin Clark-Casey (justincc) 4fb7c1a9e1 send a full object update out to avatars when a media texture is initially set
this allows other avatars to see it, but still only after they've clicked on the face
still not handling navigation yet
2010-07-01 19:53:03 +01:00
Justin Clark-Casey (justincc) 81f727416d start sending media url in object full updates 2010-07-01 19:33:41 +01:00
Justin Clark-Casey (justincc) 18b22e26cb start storing a mediaurl on the scene object part
not yet persisted or sent in the update
2010-07-01 19:25:46 +01:00
Justin Clark-Casey (justincc) de769d56f5 replace hand parsing of incoming object media messages with parsing code in libopenmetaverse 2010-07-01 18:42:47 +01:00
Justin Clark-Casey (justincc) 214db91503 start storing incoming MediaEntry on a new Media field on PrimitiveBaseShape
This allows the media texture to persist in memory - logging in and out will redisplay it (after a click) though navigation will be lost
Next need to implement media uri on prim and delegate more incoming llsd parsing to libomv
2010-07-01 02:06:51 +01:00
Justin Clark-Casey (justincc) 9250268753 have a stab at sending the correct number of media entries to shapes
actually, this is probably wrong anyway if there's a default texture
it's going to be easier just to gather the object media updates and retain those in-memory now
but what the hell
2010-07-01 00:47:12 +01:00
Justin Clark-Casey (justincc) 94646599f0 do a whole load of crappy hacking to get cubes to display google.com
currently, for smoe reason the page only appears when you click a face.
also, actually navigating anywhere always snaps you back to the google search box, for some unknown reason
you can still change the url and normal navigation will work again
2010-07-01 00:24:30 +01:00
Justin Clark-Casey (justincc) e098d33929 Register ObjectMedia and ObjectMediaNavigate capabilities from moap module.
Not sure if these are correct, but just supplying these to the viewer is enough to allow it to put media textures on prims (previously the icons were greyed out).
This is not yet persisted even in-memory, so no other avatars will see it yet.
2010-06-30 22:30:05 +01:00
Justin Clark-Casey (justincc) 8326f36cda minor: comment out high volume texture serving module debug message 2010-06-30 22:07:28 +01:00
Melanie dd579cf615 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-06-30 21:26:43 +01:00
Melanie 1db2921782 Fix scripts in rezzed objects not starting (Mantis #4775) 2010-06-30 21:25:39 +01:00
Justin Clark-Casey (justincc) 1077a8a392 add stub media-on-a-prim (shared media) module 2010-06-30 20:46:35 +01:00
Justin Clark-Casey (justincc) eb30b60e52 minor: comment out high volume texture serving module debug message 2010-06-30 19:54:35 +01:00
Diva Canto b6264e60d3 Removed opportunity for exception in BaseHttpServer. (mantis #4825) 2010-06-30 06:35:22 -07:00
Justin Clark-Casey (justincc) 5925aac859 Add --merge switch to load iar.
When this switch is used, iar folders are merged with existing same-name user inventory folders.
This makes it a little easier to back and restore entire individual user inventories, among other things
Added unit test to check behaviour
2010-06-30 00:10:44 +01:00
Justin Clark-Casey (justincc) be0af01061 Revert "stop exceptions in setting and getting state from propogating since they aren't fatal to operations"
This reverts commit 94cb6fc916.
2010-06-29 23:43:38 +01:00
Melanie 714367efb9 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-06-29 21:51:56 +01:00
Diva Canto d06b977ed1 Remove the override from DeletToInventory in HGInventoryAccessModule. This may be causing the infinite loop, not sure. 2010-06-29 14:21:48 -07:00
Melanie 6701fc2ffa Fix the XML serializationt to provide an empty script state element if
the script hasn't yet saved state, or can't save state because of a loop
2010-06-29 21:50:52 +01:00
Melanie 5d11833ae1 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-06-29 20:36:36 +01:00
Justin Clark-Casey (justincc) 94cb6fc916 stop exceptions in setting and getting state from propogating since they aren't fatal to operations
this will hopefully stop "save oar" from failing if a script asset is corrupt
2010-06-29 21:08:09 +01:00
Melanie 5964084d25 Fix a nullref on autoreturn 2010-06-29 20:36:17 +01:00
Justin Clark-Casey (justincc) c607e6f3b8 Revert "don't report the null uuid as a missing asset on saving oars/iars"
This reverts commit 5ce119174e.

This change led to infinite timeout since the expected number of assets no longer matched requests.
Rather than introduce yet fresh bugs with another fix, just revert this since the inaccurate report is just inconvenient
2010-06-29 20:30:22 +01:00
Diva Canto cf15558c9e This file wants to be committed. 2010-06-29 06:25:12 -07:00
Diva Canto fa3f448324 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-06-29 04:40:02 -07:00
Diva Canto 08e3389790 Buglet fix in HG inventory. Make sure that GetRootFolder for non-HG xinventory is the folder "My Inventory". Also changed the Suitcase folder name to "My Suitcase". 2010-06-29 04:38:15 -07:00
Diva Canto 9fde9085a0 Bug fix in HG standalone: wrong handler in the in module. Fixed a few broken comments in InventoryAccessModule. 2010-06-29 02:07:10 -07:00
dahlia 621195e4f1 Thanks Micheil Merlin for Mantis #4784: [PATCH] llRotBetween does not return correct rotations for a 180 degree angle between vectors
Signed-off-by: dahlia <dahliaTrimble@gmail.removeme.com>
2010-06-28 17:33:47 -07:00
Diva Canto d123350164 One more bug fix in FriendsModule: GrantRights. One of the caches was not being updated. 2010-06-28 16:04:12 -07:00
Diva Canto 20fc35399b Fixes mantis #4815 and #4812 2010-06-28 14:10:22 -07:00
Melanie Thielker 0a82d10fc4 Change the way IRegionModule us referenced by IEmailModule to
allow later conversion to new style
2010-06-28 03:14:05 +01:00
Melanie Thielker 85a9c305a2 Remove AgentID and GroupOD from the signature of SOG.Copy(). They were never
used, but made for a very mispleading read of the code in the callers.
2010-06-28 01:43:26 +01:00
Melanie Thielker 4cdda2cae9 Fix Copy on Ray, Drag Copy and other little things. Removed the wrong and
nonworking ownership assignment in SOG, which messed things up before.
No longer trust the client to send the ID of the person something is copied
as, since it allows to run a script with someone else's permissions. Properly
adjust inventory ownership and perms.
2010-06-28 01:36:40 +01:00
Melanie 1499fd85c4 Fix a simian compiler warning 2010-06-27 21:02:03 +01:00
Melanie Thielker 660a560d3b Make drag copy and copy-on-ray handle friends list perms properly 2010-06-27 20:59:51 +01:00
Robert Adams 6cf0b8f6fe Add command-script to the Robust console 2010-06-27 13:28:27 -07:00
Diva Canto 3dbc736049 Addresses mantis #4789. Not really a fix, because the event is harmless anyway. Just shouldn't happen normally. 2010-06-27 13:23:51 -07:00
Diva Canto a61d817978 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-06-27 13:07:44 -07:00
Diva Canto 7868f1f650 Fixed Robust.32BitLaunch.exe 2010-06-27 13:06:39 -07:00
Diva Canto 76d2f0f68e Same patch as before but for SQLite. 2010-06-27 12:40:17 -07:00
Diva Canto b0129b35f8 Added checks to XInventory DB layer to truncate names and descriptions. 2010-06-27 12:37:16 -07:00
Melanie 3612a5252b Fix more perms weirdness. Preserve "Locked" status across gives and rez/take.
Preserve "Anyone can move" flag in most cases.
2010-06-27 20:23:33 +01:00
Melanie 121ba7e95c Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-06-27 20:05:29 +01:00
Melanie 205d2496f6 Fix permission propagation to prevent permanently locked objects from being
created.
2010-06-27 20:04:39 +01:00
Justin Clark-Casey (justincc) a4a808818f don't report the null uuid as a missing asset on saving oars/iars 2010-06-25 21:48:19 +01:00
Justin Clark-Casey (justincc) d399bd3eb7 minor: fix spelling mistake interupt -> interrupt in migrations
This is for  mantis 4783
2010-06-25 21:18:52 +01:00
Justin Clark-Casey (justincc) 4a5979c311 minor: remove some mono compiler warnings 2010-06-25 21:09:15 +01:00
Justin Clark-Casey (justincc) c7e7cb04a3 fix web request exception reporting properly this time 2010-06-25 20:57:38 +01:00
Justin Clark-Casey (justincc) 8629ba80bf Revert "Report http server onRequest() exception properly."
This reverts commit c09451a034.
2010-06-25 20:51:21 +01:00
Justin Clark-Casey (justincc) c09451a034 Report http server onRequest() exception properly. 2010-06-25 19:11:22 +01:00
Justin Clark-Casey (justincc) 52b711af82 stop KeyNotFoundException() being thrown in RemoveScenePresence if the agent isn't present in the presence dictionary
the code to do this was there but was being circumvented by newmap[agentID] before the check actually took place
2010-06-25 18:55:20 +01:00
Justin Clark-Casey (justincc) 2c4df19805 minor: Move log information about SYSTEMIP to the place where it's resolved 2010-06-25 18:29:02 +01:00
Diva Canto 7488f61289 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-06-25 05:15:54 -07:00
Diva Canto 977eccf127 This file wants to be committed. Line endings mess up. 2010-06-25 05:15:26 -07:00
John Hurliman 6848465ae2 * SimianAssetServiceConnector Delete() was expecting the wrong type of response, reporting false errors
* Fixed a typo in a WebUtil error message
2010-06-24 13:43:38 -07:00
Melanie 5a071dc798 Move loading of parcels to before script start. Scripts using parcel functions
can fail if no land is loaded
2010-06-24 03:24:38 +01:00
Melanie e22eddeee6 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-06-23 21:15:07 +01:00
Melanie c404c5fb54 Thank you, Snoopy, for a patch to reduce sim script startup CPU usage 2010-06-23 21:14:28 +01:00
Justin Clark-Casey (justincc) 1719dc9a9b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-06-23 01:22:42 +01:00
Justin Clark-Casey (justincc) 8c56f04f82 add new [RemoteAdmin] settings from Snoopy's create/update, etc user patch to OpenSim.ini.exmaple
Also tidies up and comments some existing entries
2010-06-23 01:21:49 +01:00
Melanie 7db5262e35 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-06-22 23:40:12 +01:00
John Hurliman c96a6940a9 Line ending fix 2010-06-22 16:11:36 -07:00
John Hurliman 1e1485de5b * Fixed SimianGrid map tile uploads not having any objects in the images 2010-06-22 16:09:30 -07:00
Melanie Thielker 68551675df Guard prioritizer agains null values as those produced by a bullet dying
before it can be updated
2010-06-22 23:39:39 +01:00
Melanie Thielker 854a8b9172 Security fix: Allow only textures to be fetched using HTTP texture cap 2010-06-22 23:39:25 +01:00
Melanie 905e5cd991 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-06-19 23:48:09 +01:00
dahlia c571c33b6b fix faulty profile cut parameter checking in llSetPrimitiveParams() - see Mantis #4510 2010-06-19 16:07:35 -07:00
Melanie a3ebd4db3f Revert "This is a HACK! Downright nasty. For some reason, the devs of the mysql"
Didn't do what it said on the package!

This reverts commit 8643db3ef0.
2010-06-19 23:45:56 +01:00
Melanie 8643db3ef0 This is a HACK! Downright nasty. For some reason, the devs of the mysql
connector have decided that their vision of timeouts is the only valid one.
This uses reflection to show them the finger. Please test.
2010-06-19 22:48:43 +01:00
1333 changed files with 146288 additions and 134557 deletions
+17 -1
View File
@@ -70,4 +70,20 @@ TAGS
Makefile.local
bin/.version
compile.bat
addon-modules
OpenSim/Data/Tests/test-results/
OpenSim/Framework/Serialization/Tests/test-results/
OpenSim/Framework/Servers/Tests/test-results/
OpenSim/Framework/Tests/test-results/
OpenSim/Region/ClientStack/Linden/Caps/test-results/
OpenSim/Region/ClientStack/Linden/UDP/Tests/test-results/
OpenSim/Region/CoreModules/test-results/
OpenSim/Region/Framework/test-results/
OpenSim/Region/OptionalModules/test-results/
OpenSim/Region/Physics/BulletDotNETPlugin/
OpenSim/Region/Physics/Manager/test-results/
OpenSim/Region/Physics/OdePlugin/Tests/test-results/
OpenSim/Region/ScriptEngine/test-results/
OpenSim/Tests/Common/test-results/
OpenSim/Tests/test-results/
test-results/
+82 -180
View File
@@ -2,12 +2,37 @@
<!-- please leave the top comment for us emacs folks -->
<property name="nunitcmd" value="nunit-console" />
<!-- For safety/laziness sake, we're going to take the approach of deleting known extraneous files here rather than
trying to copy across only the essential ones -->
<property name="distbindir" value="distbin" />
<target name="distbin">
<!-- This target produces a source distribution of OpenSimulator -->
<!-- TODO: A few parameters still need to be tweaked after running this - need to do this automatically with sed or similar -->
<target name="distsrc">
<copy file="bin/OpenSim.ini.example" tofile="bin/OpenSim.ini"/>
<copy file="bin/config-include/StandaloneCommon.ini.example" tofile="bin/config-include/StandaloneCommon.ini"/>
<copy file="bin/config-include/FlotsamCache.ini.example" tofile="bin/config-include/FlotsamCache.ini"/>
<!-- delete files generated by runprebuild.sh which had to be run in order to generate the build file for this target-->
<delete>
<fileset basedir="OpenSim">
<include name="**/*.build"/>
<include name="**/*.csproj*"/>
<include name="**/*.dll.build"/>
<include name="**/*.pidb"/>
<exclude name="Tools/OpenSim.32BitLaunch/**"/>
<exclude name="Tools/Robust.32BitLaunch/**"/>
<exclude name="Tools/LaunchSLClient/**"/>
</fileset>
</delete>
<delete>
<fileset>
<include name="OpenSim.build"/>
<include name="OpenSim.sln"/>
</fileset>
</delete>
</target>
<property name="distbindir" value="distbin" />
<!-- This target produces a binary directory called distbin/ in OpenSim/bin which contains everything needed for binary distribution -->
<!-- For safety/laziness sake, we're going to take the approach of deleting known extraneous files here rather than
trying to copy across only the essential ones -->
<target name="distbin">
<delete dir="${distbindir}"/>
<copy todir="${distbindir}">
<fileset>
@@ -20,6 +45,7 @@
<delete dir="${distbindir}/.nant"/>
<delete>
<fileset basedir="${distbindir}">
<include name="compile.bat"/>
<include name="BUILDING.txt"/>
<include name="Makefile"/>
<include name="nant-color"/>
@@ -29,59 +55,15 @@
<include name="TESTING.txt"/>
<include name="TestResult.xml"/>
<include name="bin/OpenSim.Server.ini"/>
<include name="bin/Regions/*"/>
<include name="bin/Regions/Regions.ini"/>
<include name="bin/*.db"/>
<include name="**/.git/**"/>
<include name=".gitignore"/>
<include name=".hgignore"/>
</fileset>
</delete>
</target>
<!-- I don't think these targets are being actively used. But just in case, we'll just comment them out for now - justincc -->
<!--
<property name="projectdir" value="opensim-0.6.9" />
<target name="dist" depends="distdir">
<zip zipfile="${projectdir}.zip">
<fileset basedir=".">
<include name="${projectdir}/**" />
</fileset>
</zip>
<tar destfile="${projectdir}.tar.gz" compression="GZip">
<fileset basedir=".">
<include name="${projectdir}/**" />
</fileset>
</tar>
</target>
<target name="distdir">
<delete dir="${projectdir}" />
<copy todir="${projectdir}">
<fileset basedir=".">
<include name="ThirdPartyLicenses/**" />
<include name="CONTRIBUTORS.txt" />
<include name="README" />
<include name="OpenSim/**/*.cs" />
<include name="**/*.build" />
<include name="**/*.csproj" />
<include name="**/*.csproj.user" />
<include name="**/*.sln" />
<include name="bin/*.dll" />
<include name="bin/*.so" />
<include name="bin/*.config" />
<include name="bin/assets/**" />
<include name="bin/data/**" />
<include name="bin/OpenSim*xml" />
<include name="bin/OpenSim.ini" />
<include name="bin/defaultstripe.png" />
<exclude name="bin/OpenSim.*dll" />
</fileset>
</copy>
<touch file="${projectdir}/bin/startup_commands.txt" />
</target>
-->
<target name="test" depends="build, find-nunit">
<setenv name="MONO_THREADS_PER_CPU" value="100" />
@@ -90,6 +72,11 @@
the assembly here as an exec, and you add the fail clause later.
This lets all the unit tests run and tells you if they fail at the
end, instead of stopping short -->
<exec program="${nunitcmd}" failonerror="true" resultproperty="testresult.opensim.tests">
<arg value="./bin/OpenSim.Tests.dll" />
</exec>
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.tests)==0}" />
<exec program="${nunitcmd}" failonerror="true" resultproperty="testresult.opensim.framework.tests">
<arg value="./bin/OpenSim.Framework.Tests.dll" />
</exec>
@@ -105,12 +92,15 @@
</exec>
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.framework.serialization.tests)==0}" />
<!--
<exec program="${nunitcmd}" failonerror="true" resultproperty="testresult.opensim.region.clientstack.lindencaps.tests">
<arg value="./bin/OpenSim.Region.ClientStack.LindenCaps.Tests.dll" />
</exec>
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.clientstack.lindencaps.tests)==0}" />
<exec program="${nunitcmd}" failonerror="true" resultproperty="testresult.opensim.region.clientstack.lindenudp.tests">
<arg value="./bin/OpenSim.Region.ClientStack.LindenUDP.Tests.dll" />
</exec>
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.clientstack.lindenudp.tests)==0}" />
-->
<exec program="${nunitcmd}" failonerror="true" resultproperty="testresult.opensim.region.scriptengine.tests">
<arg value="./bin/OpenSim.Region.ScriptEngine.Tests.dll" />
@@ -122,6 +112,11 @@
</exec>
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.coremodules.tests)==0}" />
<exec program="${nunitcmd}" failonerror="true" resultproperty="testresult.opensim.region.optionalmodules.tests">
<arg value="./bin/OpenSim.Region.OptionalModules.Tests.dll" />
</exec>
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.optionalmodules.tests)==0}" />
<exec program="${nunitcmd}" failonerror="true" resultproperty="testresult.opensim.region.framework.tests">
<arg value="./bin/OpenSim.Region.Framework.Tests.dll" />
</exec>
@@ -132,106 +127,23 @@
</exec>
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.data.tests)==0}" />
<delete dir="%temp%"/>
<exec program="${nunitcmd}" failonerror="true" resultproperty="testresult.opensim.capabilities.handlers.tests">
<arg value="./bin/OpenSim.Capabilities.Handlers.Tests.dll" />
</exec>
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.capabilities.handlers.tests)==0}" />
<delete dir="%temp%"/>
</target>
<target name="test-cov" depends="build">
<!-- Code Coverage Test. Prototype, only works with mono 1.2. Instructions in http://opensimulator.org/wiki/Automated_Testing -->
<mkdir dir="cov" failonerror="false" />
<exec program="mono">
<arg value="--debug" />
<arg value="--profile=monocov:outfile=./cov/OpenSim.Framework.Servers.cov,+[OpenSim.Framework.Servers]" />
<arg value="/usr/lib/nunit/nunit-console.exe" />
<arg value="./bin/OpenSim.Framework.Servers.Tests.dll" />
</exec>
<delete dir="./cov/OpenSim.Framework.Servers" />
<exec program="monocov">
<arg value="--export-html=./cov/OpenSim.Framework.Servers ./cov/OpenSim.Framework.Servers.cov" />
</exec>
<target name="torture" depends="build, find-nunit">
<setenv name="MONO_THREADS_PER_CPU" value="100" />
<!--
<exec program="mono">
<arg value="&#45;&#45;debug" />
<arg value="&#45;&#45;profile=monocov:outfile=./cov/OpenSim.Region.ClientStack.LindenUDP.cov,+[OpenSim.Region.ClientStack.LindenUDP]" />
<arg value="/usr/lib/nunit/nunit-console.exe" />
<arg value="./bin/OpenSim.Region.ClientStack.LindenUDP.Tests.dll" />
</exec>
<delete dir="./cov/OpenSim.Region.ClientStack.LindenUDP" />
<exec program="monocov">
<arg value="&#45;&#45;export-html=./cov/OpenSim.Region.ClientStack.LindenUDP ./cov/OpenSim.Region.ClientStack.LindenUDP.cov" />
</exec>
-->
<exec program="mono">
<arg value="--debug" />
<arg value="--profile=monocov:outfile=./cov/OpenSim.Region.ScriptEngine.Shared.cov,+[OpenSim.Region.ScriptEngine.Shared]" />
<arg value="/usr/lib/nunit/nunit-console.exe" />
<arg value="./bin/OpenSim.Region.ScriptEngine.Shared.Tests.dll" />
</exec>
<delete dir="./cov/OpenSim.Region.ScriptEngine.Shared" />
<exec program="monocov">
<arg value="--export-html=./cov/OpenSim.Region.ScriptEngine.Shared ./cov/OpenSim.Region.ScriptEngine.Shared.cov" />
</exec>
<exec program="mono">
<arg value="--debug" />
<arg value="--profile=monocov:outfile=./cov/OpenSim.Region.ScriptEngine.Shared.CodeTools.cov,+[OpenSim.Region.ScriptEngine.Shared.CodeTools]" />
<arg value="/usr/lib/nunit/nunit-console.exe" />
<arg value="./bin/OpenSim.Region.ScriptEngine.Shared.CodeTools.Tests.dll" />
</exec>
<delete dir="./cov/OpenSim.Region.ScriptEngine.Shared.CodeTools" />
<exec program="monocov">
<arg value="--export-html=./cov/OpenSim.Region.ScriptEngine.Shared.CodeTools ./cov/OpenSim.Region.ScriptEngine.Shared.CodeTools.cov" />
</exec>
<exec program="mono">
<arg value="--debug" />
<arg value="--profile=monocov:outfile=./cov/OpenSim.Region.CoreModules.cov,+[OpenSim.Region.CoreModules]" />
<arg value="/usr/lib/nunit/nunit-console.exe" />
<arg value="./bin/OpenSim.Region.CoreModules.Tests.dll" />
</exec>
<delete dir="./cov/OpenSim.Region.CoreModules" />
<exec program="monocov">
<arg value="--export-html=./cov/OpenSim.Region.CoreModules ./cov/OpenSim.Region.CoreModules.cov" />
</exec>
<exec program="mono">
<arg value="--debug" />
<arg value="--profile=monocov:outfile=./cov/OpenSim.Region.Framework.cov,+[OpenSim.Region.Framework]" />
<arg value="/usr/lib/nunit/nunit-console.exe" />
<arg value="./bin/OpenSim.Region.Framework.Tests.dll" />
</exec>
<delete dir="./cov/OpenSim.Region.Framework" />
<exec program="monocov">
<arg value="--export-html=./cov/OpenSim.Region.Framework ./cov/OpenSim.Region.Framework.cov" />
</exec>
<exec program="mono">
<arg value="--debug" />
<arg value="--profile=monocov:outfile=./cov/OpenSim.Data.SQLite.cov,+[OpenSim.Data.SQLite]" />
<arg value="/usr/lib/nunit/nunit-console.exe" />
<arg value="./bin/OpenSim.Data.SQLite.Tests.dll" />
</exec>
<delete dir="./cov/OpenSim.Data.SQLite" />
<exec program="monocov">
<arg value="--export-html=./cov/OpenSim.Data.SQLite ./cov/OpenSim.Data.SQLite.cov" />
</exec>
<exec program="mono">
<arg value="--debug" />
<arg value="--profile=monocov:outfile=./cov/OpenSim.Data.MySQL.cov,+[OpenSim.Data.MySQL.Tests]" />
<arg value="/usr/lib/nunit/nunit-console.exe" />
<arg value="./bin/OpenSim.Data.MySQL.Tests.dll" />
</exec>
<delete dir="./cov/OpenSim.Data.MySQL" />
<exec program="monocov">
<arg value="--export-html=./cov/OpenSim.Data.MySQL ./cov/OpenSim.Data.MySQL.cov" />
</exec>
<delete file="C:\NUnitPrimaryTrace.txt" failonerror="false" />
<delete file="TestResult.xml" failonerror="false" />
<exec program="${nunitcmd}" failonerror="true" resultproperty="testresult.opensim.tests.torture">
<arg value="./bin/OpenSim.Tests.Torture.dll" />
</exec>
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.tests.torture)==0}" />
<delete dir="%temp%"/>
</target>
<target name="find-nunit">
@@ -244,17 +156,19 @@
if="${int::parse(hasnunit2)==0}" />
<property name="nunitcmd" value="nunit-console"
if="${int::parse(hasnunit2)==1}" />
</target>
<!-- this is used for panda test execution -->
<!-- work in progress -->
<target name="test-xml" depends="build, find-nunit">
<mkdir dir="test-results" failonerror="false" />
<!-- Unit Test Assembly -->
<exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.tests">
<arg value="./bin/OpenSim.Tests.dll" />
<arg value="-xml=test-results/OpenSim.Tests.dll-Results.xml" />
</exec>
<exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.framework.tests">
<arg value="./bin/OpenSim.Framework.Tests.dll" />
<arg value="-xml=test-results/OpenSim.Framework.Tests.dll-Results.xml" />
@@ -270,12 +184,15 @@
<arg value="-xml=test-results/OpenSim.Framework.Servers.Tests.dll-Results.xml" />
</exec>
<!--
<exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.region.clientstack.lindencaps.tests">
<arg value="./bin/OpenSim.Region.ClientStack.LindenCaps.Tests.dll" />
<arg value="-xml=test-results/OpenSim.Region.ClientStack.LindenCaps.Tests.dll-Results.xml" />
</exec>
<exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.region.clientstack.lindenudp.tests">
<arg value="./bin/OpenSim.Region.ClientStack.LindenUDP.Tests.dll" />
<arg value="-xml=test-results/OpenSim.Region.ClientStack.LindenUDP.Tests.dll-Results.xml" />
</exec>
-->
<exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.region.scriptengine.tests">
<arg value="./bin/OpenSim.Region.ScriptEngine.Tests.dll" />
@@ -287,6 +204,11 @@
<arg value="-xml=test-results/OpenSim.Region.CoreModules.Tests.dll-Results.xml" />
</exec>
<exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.region.optionalmodules.tests">
<arg value="./bin/OpenSim.Region.OptionalModules.Tests.dll" />
<arg value="-xml=test-results/OpenSim.Region.OptionalModules.Tests.dll-Results.xml" />
</exec>
<exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.region.framework.tests">
<arg value="./bin/OpenSim.Region.Framework.Tests.dll" />
<arg value="-xml=test-results/OpenSim.Region.Framework.Tests.dll-Results.xml" />
@@ -297,42 +219,22 @@
<arg value="-xml=test-results/OpenSim.Data.Tests.dll-Results.xml" />
</exec>
<exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.capabilities.handlers.tests">
<arg value="./bin/OpenSim.Capabilities.Handlers.Tests.dll" />
<arg value="-xml=test-results/OpenSim.Capabilities.Handlers.Tests.dll-Results.xml" />
</exec>
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.tests)==0}" />
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.framework.tests)==0}" />
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.framework.servers.tests)==0}" />
<!-- <fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.clientstack.lindenudp.tests)==0}" /> -->
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.clientstack.lindenudp.tests)==0}" />
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.scriptengine.tests)==0}" />
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.coremodules.tests)==0}" />
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.optionalmodules.tests)==0}" />
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.framework.tests)==0}" />
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.data.tests)==0}" />
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.capabilities.handlers.tests)==0}" />
</target>
<!-- <exec program="nunit-console.exe" failonerror="false" resultproperty="testresult.acceptancetestassembly"> -->
<!-- <arg value="AcceptanceTestAssembly.dll" /> -->
<!-- <arg value="/xml=AcceptanceTestAssembly-Results.xml" /> -->
<!-- </exec> -->
<!-- <fail message="Failures reported in unit tests." unless="${int::parse(testresult.unittestassembly)==0}" /> -->
<!-- <fail message="Failures reported in acceptance tests." unless="${int::parse(testresult.acceptancetestassembly)==0}" /> -->
<!-- </target> -->
<!-- <nunit2 failonerror="true" verbose="true"> -->
<!-- <formatter type="Xml" usefile="true" extension=".xml" outputdir="./test-results" /> -->
<!-- <test> -->
<!-- <assemblies> -->
<!-- <include name="./bin/OpenSim.Framework.Tests.dll" /> -->
<!-- <include name="./bin/OpenSim.Framework.Servers.Tests.dll" /> -->
<!-- <include name="./bin/OpenSim.Region.ClientStack.LindenUDP.Tests.dll" /> -->
<!-- <include name="./bin/OpenSim.Region.ScriptEngine.Tests.dll" /> -->
<!-- <include name="./bin/OpenSim.Region.CoreModules.Tests.dll" /> -->
<!-- <include name="./bin/OpenSim.Region.Framework.Tests.dll" /> -->
<!-- <include name="./bin/OpenSim.Data.SQLite.Tests.dll" /> -->
<!-- <include name="./bin/OpenSim.Data.MySQL.Tests.dll" /> -->
<!-- </assemblies> -->
<!-- </test> -->
<!-- </nunit2> -->
<!-- </target> -->
<target name="doxygen">
<exec program="doxygen" workingdir="doc" commandline="doxygen.conf" />
+12 -3
View File
@@ -1,4 +1,4 @@
=== Building OpenSim ===
==== Building OpenSim ====
=== Building on Windows ===
@@ -12,18 +12,27 @@ Steps:
=== Building on Linux ===
Prereqs:
* Mono >= 2.4.2
* Mono >= 2.4.3
* Nant >= 0.85
* On some Linux distributions you may need to install additional packages.
See http://opensimulator.org/wiki/Dependencies for more information.
* May also use xbuild (included in mono distributions)
* May use Monodevelop, a cross-platform IDE
From the distribution type:
* ./runprebuild.sh
* nant
* nant (or xbuild)
* cd bin
* copy OpenSim.ini.example to OpenSim.ini and other appropriate files in bin/config-include
* run mono OpenSim.exe
=== Using Monodevelop ===
From the distribution type:
* ./runprebuild.sh
* type monodevelop OpenSim.sln
=== References ===
Helpful resources:
+44 -16
View File
@@ -1,34 +1,39 @@
The following people have contributed to OpenSim (Thank you
<<<>>>>The following people have contributed to OpenSim (Thank you
for your effort!)
Add your name in here if you have committed to OpenSim
= Current OpenSim Developers (in very rough order of appearance) =
These folks represent the current core team for OpenSim, and are the
people that make the day to day of OpenSim happen.
* justincc (OSVW Consulting, justincc.org)
* chi11ken (Genkii)
* dahlia
* Melanie Thielker
* Diva (Crista Lopes, University of California, Irvine)
* Dan Lake (Intel)
* Marck
* Mic Bowman (Intel)
* BlueWall (James Hughes)
* Nebadon Izumi (Michael Cerquoni, OSgrid)
* Snoopy Pfeffer
* Richard Adams (Intel)
= Core Developers Following the White Rabbit =
Core developers who have temporarily (we hope) gone chasing the white rabbit.
They are in all similar to the active core developers, except that they haven't
been that active lately, so their voting rights are awaiting their come back.
* MW (Tribal Media AB)
* Adam Frisby (DeepThink Pty Ltd)
* MingChen (DeepThink Pty Ltd)
* lbsa71 (Tribal Media AB)
* Sean Dague / sdague (IBM)
* Tedd
* justincc
* Teravus (w3z)
* Johan Berntsson (3Di)
* Ckrinke (Charles Krinke)
* chi11ken (Genkii)
* adjohn (Genkii)
* Dr Scofield aka Dirk Husemann (IBM Research - Zurich)
* dahlia
* mikem (3Di)
* Melanie Thielker
* Homer_Horwitz
* idb (Ian Brown)
* Diva (Crista Lopes, University of California, Irvine)
* nlin (3Di)
* Arthur Rodrigo S Valadares (IBM)
* John Hurliman
= Past Open Sim Developers =
These folks are alumns of the OpenSim core group, but are now
@@ -44,6 +49,12 @@ where we are today.
* Dalien
* Darok
* Alondria
* Sean Dague / sdague (IBM)
* Tedd
* MingChen (DeepThink Pty Ltd)
* adjohn (Genkii)
* idb (Ian Brown)
* Johan Berntsson (3Di)
= Additional OpenSim Contributors =
@@ -60,6 +71,7 @@ what it is today.
* CharlieO
* ChrisDown
* Chris Yeoh (IBM)
* controlbreak
* coyled
* Daedius
* Dong Jun Lan (IBM)
@@ -69,12 +81,16 @@ what it is today.
* dmiles (Daxtron Labs)
* dslake (Intel)
* FredoChaplin
* Garmin Kawaguichi
* Gerhard
* Godfrey
* Grumly57
* GuduleLapointe
* Ewe Loon
* Fernando Oliveira
* Fly-Man
* Flyte Xevious
* Garmin Kawaguichi
* Imaze Rhiano
* Intimidated
* Jeremy Bongio (IBM)
@@ -92,19 +108,27 @@ what it is today.
* lulurun
* M.Igarashi
* maimedleech
* Mana Janus
* MarcelEdward
* Mic Bowman
* Michelle Argus
* Michael Cortez (The Flotsam Project, http://osflotsam.org/)
* Micheil Merlin
* Mike Osias (IBM)
* Mike Pitman (IBM)
* mikkopa/_someone - RealXtend
* Misterblue (Intel)
* Mircea Kitsune
* mpallari
* MrMonkE
* Nebadon Izumi (Michael Cerquoni - http://OSgrid.org)
* Neil Canham
* nornalbion
* Omar Vera Ustariz (IBM)
* openlifegrid.com
* Oren Hurvitz (Kitely)
* otakup0pe
* Pixel Tomsen
* ralphos
* RemedyTomm
* Revolution
@@ -115,9 +139,12 @@ what it is today.
* Ruud Lathorp
* SachaMagne
* Salahzar Stenvaag
* satguru p srivastava
* sempuki
* Snoopy
* SignpostMarv
* SpotOn3D
* Strawberry Fride
* Talun
* tglion
* tlaukkan/Tommil (Tommi S. E. Laukkanen, Bubble Cloud)
* tyre
@@ -166,6 +193,7 @@ This software uses components from the following developers:
* GlynnTucker.Cache (http://gtcache.sourceforge.net/)
* NDesk.Options 0.2.1 (http://www.ndesk.org/Options)
* Json.NET 3.5 Release 6. The binary used is actually Newtonsoft.Json.Net20.dll for Mono 2.4 compatability (http://james.newtonking.com/projects/json-net.aspx)
* zlib.net for C# 1.0.4 (http://www.componentace.com/zlib_.NET.htm)
Some plugins are based on Cable Beach
Cable Beach is Copyright (c) 2008 Intel Corporation
@@ -30,6 +30,7 @@ using System.Collections.Generic;
using System.Reflection;
using System.Threading;
using log4net;
using OpenMetaverse;
using OpenSim.Framework;
using OpenSim.Framework.RegionLoader.Filesystem;
using OpenSim.Framework.RegionLoader.Web;
@@ -68,7 +69,7 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
public void Initialise()
{
m_log.Error("[LOADREGIONS]: " + Name + " cannot be default-initialized!");
m_log.Error("[LOAD REGIONS PLUGIN]: " + Name + " cannot be default-initialized!");
throw new PluginNotInitialisedException(Name);
}
@@ -85,44 +86,46 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
IRegionLoader regionLoader;
if (m_openSim.ConfigSource.Source.Configs["Startup"].GetString("region_info_source", "filesystem") == "filesystem")
{
m_log.Info("[LOADREGIONS]: Loading region configurations from filesystem");
m_log.Info("[LOAD REGIONS PLUGIN]: Loading region configurations from filesystem");
regionLoader = new RegionLoaderFileSystem();
}
else
{
m_log.Info("[LOADREGIONSPLUGIN]: Loading region configurations from web");
m_log.Info("[LOAD REGIONS PLUGIN]: Loading region configurations from web");
regionLoader = new RegionLoaderWebServer();
}
m_log.Info("[LOADREGIONSPLUGIN]: Loading region configurations...");
regionLoader.SetIniConfigSource(m_openSim.ConfigSource.Source);
RegionInfo[] regionsToLoad = regionLoader.LoadRegions();
m_log.Info("[LOADREGIONSPLUGIN]: Loading specific shared modules...");
m_log.Info("[LOADREGIONSPLUGIN]: DynamicTextureModule...");
m_log.Info("[LOAD REGIONS PLUGIN]: Loading specific shared modules...");
m_log.Info("[LOAD REGIONS PLUGIN]: DynamicTextureModule...");
m_openSim.ModuleLoader.LoadDefaultSharedModule(new DynamicTextureModule());
m_log.Info("[LOADREGIONSPLUGIN]: LoadImageURLModule...");
m_log.Info("[LOAD REGIONS PLUGIN]: LoadImageURLModule...");
m_openSim.ModuleLoader.LoadDefaultSharedModule(new LoadImageURLModule());
m_log.Info("[LOADREGIONSPLUGIN]: XMLRPCModule...");
m_log.Info("[LOAD REGIONS PLUGIN]: XMLRPCModule...");
m_openSim.ModuleLoader.LoadDefaultSharedModule(new XMLRPCModule());
m_log.Info("[LOADREGIONSPLUGIN]: AssetTransactionModule...");
m_openSim.ModuleLoader.LoadDefaultSharedModule(new AssetTransactionModule());
m_log.Info("[LOADREGIONSPLUGIN]: Done.");
// m_log.Info("[LOADREGIONSPLUGIN]: AssetTransactionModule...");
// m_openSim.ModuleLoader.LoadDefaultSharedModule(new AssetTransactionModule());
m_log.Info("[LOAD REGIONS PLUGIN]: Done.");
if (!CheckRegionsForSanity(regionsToLoad))
{
m_log.Error("[LOADREGIONS]: Halting startup due to conflicts in region configurations");
m_log.Error("[LOAD REGIONS PLUGIN]: Halting startup due to conflicts in region configurations");
Environment.Exit(1);
}
for (int i = 0; i < regionsToLoad.Length; i++)
{
IScene scene;
m_log.Debug("[LOADREGIONS]: Creating Region: " + regionsToLoad[i].RegionName + " (ThreadID: " +
m_log.Debug("[LOAD REGIONS PLUGIN]: Creating Region: " + regionsToLoad[i].RegionName + " (ThreadID: " +
Thread.CurrentThread.ManagedThreadId.ToString() +
")");
m_openSim.PopulateRegionEstateInfo(regionsToLoad[i]);
m_openSim.CreateRegion(regionsToLoad[i], true, out scene);
regionsToLoad[i].EstateSettings.Save();
if (scene != null)
{
m_newRegionCreatedHandler = OnNewRegionCreated;
@@ -132,7 +135,11 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
}
}
}
//[TODO]: Temporary fix for an issue after the mono-addis upgrade
// PostInilise can fire before the region is loaded, so need to
// track down the cause of that
Thread.Sleep(300);
m_openSim.ModuleLoader.PostInitialise();
m_openSim.ModuleLoader.ClearCache();
}
@@ -150,9 +157,20 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
/// <returns>True if we're sane, false if we're insane</returns>
private bool CheckRegionsForSanity(RegionInfo[] regions)
{
if (regions.Length <= 1)
if (regions.Length == 0)
return true;
foreach (RegionInfo region in regions)
{
if (region.RegionID == UUID.Zero)
{
m_log.ErrorFormat(
"[LOAD REGIONS PLUGIN]: Region {0} has invalid UUID {1}",
region.RegionName, region.RegionID);
return false;
}
}
for (int i = 0; i < regions.Length - 1; i++)
{
for (int j = i + 1; j < regions.Length; j++)
@@ -160,7 +178,7 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
if (regions[i].RegionID == regions[j].RegionID)
{
m_log.ErrorFormat(
"[LOADREGIONS]: Regions {0} and {1} have the same UUID {2}",
"[LOAD REGIONS PLUGIN]: Regions {0} and {1} have the same UUID {2}",
regions[i].RegionName, regions[j].RegionName, regions[i].RegionID);
return false;
}
@@ -168,14 +186,14 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
regions[i].RegionLocX == regions[j].RegionLocX && regions[i].RegionLocY == regions[j].RegionLocY)
{
m_log.ErrorFormat(
"[LOADREGIONS]: Regions {0} and {1} have the same grid location ({2}, {3})",
"[LOAD REGIONS PLUGIN]: Regions {0} and {1} have the same grid location ({2}, {3})",
regions[i].RegionName, regions[j].RegionName, regions[i].RegionLocX, regions[i].RegionLocY);
return false;
}
else if (regions[i].InternalEndPoint.Port == regions[j].InternalEndPoint.Port)
{
m_log.ErrorFormat(
"[LOADREGIONS]: Regions {0} and {1} have the same internal IP port {2}",
"[LOAD REGIONS PLUGIN]: Regions {0} and {1} have the same internal IP port {2}",
regions[i].RegionName, regions[j].RegionName, regions[i].InternalEndPoint.Port);
return false;
}
@@ -184,35 +202,5 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
return true;
}
public void LoadRegionFromConfig(OpenSimBase openSim, ulong regionhandle)
{
m_log.Info("[LOADREGIONS]: Load Regions addin being initialised");
IRegionLoader regionLoader;
if (openSim.ConfigSource.Source.Configs["Startup"].GetString("region_info_source", "filesystem") == "filesystem")
{
m_log.Info("[LOADREGIONS]: Loading Region Info from filesystem");
regionLoader = new RegionLoaderFileSystem();
}
else
{
m_log.Info("[LOADREGIONS]: Loading Region Info from web");
regionLoader = new RegionLoaderWebServer();
}
regionLoader.SetIniConfigSource(openSim.ConfigSource.Source);
RegionInfo[] regionsToLoad = regionLoader.LoadRegions();
for (int i = 0; i < regionsToLoad.Length; i++)
{
if (regionhandle == regionsToLoad[i].RegionHandle)
{
IScene scene;
m_log.Debug("[LOADREGIONS]: Creating Region: " + regionsToLoad[i].RegionName + " (ThreadID: " +
Thread.CurrentThread.ManagedThreadId.ToString() + ")");
openSim.CreateRegion(regionsToLoad[i], true, out scene);
}
}
}
}
}
@@ -62,7 +62,7 @@ namespace OpenSim.ApplicationPlugins.RegionModulesController
new List<ISharedRegionModule>();
#region IApplicationPlugin implementation
public void Initialise (OpenSimBase openSim)
{
m_openSim = openSim;
@@ -91,66 +91,24 @@ namespace OpenSim.ApplicationPlugins.RegionModulesController
{
if (node.Type.GetInterface(typeof(ISharedRegionModule).ToString()) != null)
{
// Get the config string
string moduleString =
modulesConfig.GetString("Setup_" + node.Id, String.Empty);
// We have a selector
if (moduleString != String.Empty)
if (CheckModuleEnabled(node, modulesConfig))
{
// Allow disabling modules even if they don't have
// support for it
if (moduleString == "disabled")
continue;
// Split off port, if present
string[] moduleParts = moduleString.Split(new char[] { '/' }, 2);
// Format is [port/][class]
string className = moduleParts[0];
if (moduleParts.Length > 1)
className = moduleParts[1];
// Match the class name if given
if (className != String.Empty &&
node.Type.ToString() != className)
continue;
m_log.DebugFormat("[REGIONMODULES]: Found shared region module {0}, class {1}", node.Id, node.Type);
m_sharedModules.Add(node);
}
m_log.DebugFormat("[REGIONMODULES]: Found shared region module {0}, class {1}", node.Id, node.Type);
m_sharedModules.Add(node);
}
else if (node.Type.GetInterface(typeof(INonSharedRegionModule).ToString()) != null)
{
// Get the config string
string moduleString =
modulesConfig.GetString("Setup_" + node.Id, String.Empty);
// We have a selector
if (moduleString != String.Empty)
if (CheckModuleEnabled(node, modulesConfig))
{
// Allow disabling modules even if they don't have
// support for it
if (moduleString == "disabled")
continue;
// Split off port, if present
string[] moduleParts = moduleString.Split(new char[] { '/' }, 2);
// Format is [port/][class]
string className = moduleParts[0];
if (moduleParts.Length > 1)
className = moduleParts[1];
// Match the class name if given
if (className != String.Empty &&
node.Type.ToString() != className)
continue;
m_log.DebugFormat("[REGIONMODULES]: Found non-shared region module {0}, class {1}", node.Id, node.Type);
m_nonSharedModules.Add(node);
}
m_log.DebugFormat("[REGIONMODULES]: Found non-shared region module {0}, class {1}", node.Id, node.Type);
m_nonSharedModules.Add(node);
}
else
{
m_log.DebugFormat("[REGIONMODULES]: Found unknown type of module {0}, class {1}", node.Id, node.Type);
}
}
// Load and init the module. We try a constructor with a port
@@ -197,8 +155,6 @@ namespace OpenSim.ApplicationPlugins.RegionModulesController
m_sharedInstances.Add(module);
module.Initialise(m_openSim.ConfigSource.Source);
}
}
public void PostInitialise ()
@@ -210,7 +166,6 @@ namespace OpenSim.ApplicationPlugins.RegionModulesController
{
module.PostInitialise();
}
}
#endregion
@@ -244,7 +199,6 @@ namespace OpenSim.ApplicationPlugins.RegionModulesController
#endregion
public string Version
{
get
@@ -262,6 +216,42 @@ namespace OpenSim.ApplicationPlugins.RegionModulesController
}
#region IRegionModulesController implementation
/// <summary>
/// Check that the given module is no disabled in the [Modules] section of the config files.
/// </summary>
/// <param name="node"></param>
/// <param name="modulesConfig">The config section</param>
/// <returns>true if the module is enabled, false if it is disabled</returns>
protected bool CheckModuleEnabled(TypeExtensionNode node, IConfig modulesConfig)
{
// Get the config string
string moduleString =
modulesConfig.GetString("Setup_" + node.Id, String.Empty);
// We have a selector
if (moduleString != String.Empty)
{
// Allow disabling modules even if they don't have
// support for it
if (moduleString == "disabled")
return false;
// Split off port, if present
string[] moduleParts = moduleString.Split(new char[] { '/' }, 2);
// Format is [port/][class]
string className = moduleParts[0];
if (moduleParts.Length > 1)
className = moduleParts[1];
// Match the class name if given
if (className != String.Empty &&
node.Type.ToString() != className)
return false;
}
return true;
}
// The root of all evil.
// This is where we handle adding the modules to scenes when they
File diff suppressed because it is too large Load Diff
@@ -27,6 +27,7 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Xml;
using OpenMetaverse;
using OpenSim.Framework;
@@ -43,7 +44,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
// private static readonly int PARM_PATH = 1;
private bool enabled = false;
// private bool enabled = false;
private string qPrefix = "appearance";
/// <summary>
@@ -73,7 +74,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
// Activate if everything went OK
enabled = true;
// enabled = true;
Rest.Log.InfoFormat("{0} User appearance services initialization complete", MsgId);
}
@@ -94,7 +95,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
public void Close()
{
enabled = false;
// enabled = false;
Rest.Log.InfoFormat("{0} User appearance services closing down", MsgId);
}
@@ -384,7 +385,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
// }
//
// rdata.Respond(String.Format("Appearance {0} : Normal completion", rdata.method));
//
//
// }
/// <summary>
@@ -449,7 +450,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
// rdata.userAppearance = new AvatarAppearance();
// rdata.userAppearance.Owner = old.Owner;
// adata = new AvatarData(rdata.userAppearance);
//
//
// Rest.AvatarServices.SetAvatar(rdata.userProfile.ID, adata);
//
// rdata.Complete();
@@ -487,17 +488,18 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
rdata.userAppearance.AvatarHeight = (float) Convert.ToDouble(xml.Value);
indata = true;
}
if (xml.MoveToAttribute("Owner"))
{
rdata.userAppearance.Owner = (UUID)xml.Value;
indata = true;
}
// if (xml.MoveToAttribute("Owner"))
// {
// rdata.userAppearance.Owner = (UUID)xml.Value;
// indata = true;
// }
if (xml.MoveToAttribute("Serial"))
{
rdata.userAppearance.Serial = Convert.ToInt32(xml.Value);
indata = true;
}
break;
/*
case "Body" :
if (xml.MoveToAttribute("Item"))
{
@@ -654,6 +656,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
indata = true;
}
break;
*/
case "Attachment" :
{
@@ -744,10 +747,11 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
rdata.writer.WriteStartElement("Appearance");
rdata.writer.WriteAttributeString("Height", rdata.userAppearance.AvatarHeight.ToString());
if (rdata.userAppearance.Owner != UUID.Zero)
rdata.writer.WriteAttributeString("Owner", rdata.userAppearance.Owner.ToString());
// if (rdata.userAppearance.Owner != UUID.Zero)
// rdata.writer.WriteAttributeString("Owner", rdata.userAppearance.Owner.ToString());
rdata.writer.WriteAttributeString("Serial", rdata.userAppearance.Serial.ToString());
/*
FormatPart(rdata, "Body", rdata.userAppearance.BodyItem, rdata.userAppearance.BodyAsset);
FormatPart(rdata, "Skin", rdata.userAppearance.SkinItem, rdata.userAppearance.SkinAsset);
FormatPart(rdata, "Hair", rdata.userAppearance.HairItem, rdata.userAppearance.HairAsset);
@@ -764,26 +768,20 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
FormatPart(rdata, "UnderShirt", rdata.userAppearance.UnderShirtItem, rdata.userAppearance.UnderShirtAsset);
FormatPart(rdata, "UnderPants", rdata.userAppearance.UnderPantsItem, rdata.userAppearance.UnderPantsAsset);
*/
Rest.Log.DebugFormat("{0} FormatUserAppearance: Formatting attachments", MsgId);
Hashtable attachments = rdata.userAppearance.GetAttachments();
if (attachments != null)
rdata.writer.WriteStartElement("Attachments");
List<AvatarAttachment> attachments = rdata.userAppearance.GetAttachments();
foreach (AvatarAttachment attach in attachments)
{
Rest.Log.DebugFormat("{0} FormatUserAppearance: Formatting attachments", MsgId);
rdata.writer.WriteStartElement("Attachments");
for (int i = 0; i < attachments.Count; i++)
{
Hashtable attachment = attachments[i] as Hashtable;
rdata.writer.WriteStartElement("Attachment");
rdata.writer.WriteAttributeString("AtPoint", i.ToString());
rdata.writer.WriteAttributeString("Item", (string) attachment["item"]);
rdata.writer.WriteAttributeString("Asset", (string) attachment["asset"]);
rdata.writer.WriteEndElement();
}
rdata.writer.WriteStartElement("Attachment");
rdata.writer.WriteAttributeString("AtPoint", attach.AttachPoint.ToString());
rdata.writer.WriteAttributeString("Item", attach.ItemID.ToString());
rdata.writer.WriteAttributeString("Asset", attach.AssetID.ToString());
rdata.writer.WriteEndElement();
}
rdata.writer.WriteEndElement();
Primitive.TextureEntry texture = rdata.userAppearance.Texture;
@@ -46,12 +46,12 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
public class RestInventoryServices : IRest
{
// private static readonly int PARM_USERID = 0;
private static readonly int PARM_PATH = 1;
// private static readonly int PARM_PATH = 1;
// private bool enabled = false;
private string qPrefix = "inventory";
private static readonly string PRIVATE_ROOT_NAME = "My Inventory";
// private static readonly string PRIVATE_ROOT_NAME = "My Inventory";
/// <summary>
/// The constructor makes sure that the service prefix is absolute
@@ -1295,6 +1295,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
rdata.writer.WriteAttributeString("folder", String.Empty, i.Folder.ToString());
rdata.writer.WriteAttributeString("owner", String.Empty, i.Owner.ToString());
rdata.writer.WriteAttributeString("creator", String.Empty, i.CreatorId);
rdata.writer.WriteAttributeString("creatordata", String.Empty, i.CreatorData);
rdata.writer.WriteAttributeString("creationdate", String.Empty, i.CreationDate.ToString());
rdata.writer.WriteAttributeString("invtype", String.Empty, i.InvType.ToString());
rdata.writer.WriteAttributeString("assettype", String.Empty, i.AssetType.ToString());
@@ -2128,17 +2129,17 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
}
catch (DllNotFoundException)
{
Rest.Log.ErrorFormat("OpenJpeg is not installed correctly on this system. Asset Data is emtpy for {0}", ic.Item.Name);
Rest.Log.ErrorFormat("OpenJpeg is not installed correctly on this system. Asset Data is empty for {0}", ic.Item.Name);
ic.Asset.Data = new Byte[0];
}
catch (IndexOutOfRangeException)
{
Rest.Log.ErrorFormat("OpenJpeg was unable to encode this. Asset Data is emtpy for {0}", ic.Item.Name);
Rest.Log.ErrorFormat("OpenJpeg was unable to encode this. Asset Data is empty for {0}", ic.Item.Name);
ic.Asset.Data = new Byte[0];
}
catch (Exception)
{
Rest.Log.ErrorFormat("OpenJpeg was unable to encode this. Asset Data is emtpy for {0}", ic.Item.Name);
Rest.Log.ErrorFormat("OpenJpeg was unable to encode this. Asset Data is empty for {0}", ic.Item.Name);
ic.Asset.Data = new Byte[0];
}
}
@@ -148,7 +148,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory.Tests
Rest.main.SceneManager.ForEachScene(delegate(Scene s)
{
s.ForEachScenePresence(delegate(ScenePresence sp)
s.ForEachRootScenePresence(delegate(ScenePresence sp)
{
if (sp.Firstname == names[0] && sp.Lastname == names[1])
{
@@ -168,8 +168,8 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory.Tests
float x = Convert.ToSingle(rdata.Parameters[PARM_MOVE_X]);
float y = Convert.ToSingle(rdata.Parameters[PARM_MOVE_Y]);
float z = Convert.ToSingle(rdata.Parameters[PARM_MOVE_Z]);
Vector3 vector = new Vector3(x,y,z);
presence.DoAutoPilot(0,vector,presence.ControllingClient);
Vector3 vector = new Vector3(x, y, z);
presence.MoveToTarget(vector, false, false);
}
catch (Exception e)
{
@@ -41,7 +41,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
{
#region GET methods
public string GetHandler(string request, string path, string param,
OSHttpRequest httpRequest, OSHttpResponse httpResponse)
IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{
// foreach (string h in httpRequest.Headers.AllKeys)
// foreach (string v in httpRequest.Headers.GetValues(h))
@@ -64,7 +64,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
}
}
public string GetHandlerRegions(OSHttpResponse httpResponse)
public string GetHandlerRegions(IOSHttpResponse httpResponse)
{
RestXmlWriter rxw = new RestXmlWriter(new StringWriter());
@@ -95,7 +95,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
return rxw.ToString();
}
public string GetHandlerRegion(OSHttpResponse httpResponse, string param)
public string GetHandlerRegion(IOSHttpResponse httpResponse, string param)
{
// be resilient and don't get confused by a terminating '/'
param = param.TrimEnd(new char[]{'/'});
@@ -180,7 +180,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
}
#endregion GET methods
protected string RegionTerrain(OSHttpResponse httpResponse, Scene scene)
protected string RegionTerrain(IOSHttpResponse httpResponse, Scene scene)
{
httpResponse.SendChunked = true;
httpResponse.ContentType = "text/xml";
@@ -190,7 +190,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
// "GET", "terrain not implemented");
}
protected string RegionStats(OSHttpResponse httpResponse, Scene scene)
protected string RegionStats(IOSHttpResponse httpResponse, Scene scene)
{
int users = scene.GetRootAgentCount();
int objects = scene.Entities.Count - users;
@@ -213,7 +213,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
return rxw.ToString();
}
protected string RegionPrims(OSHttpResponse httpResponse, Scene scene, Vector3 min, Vector3 max)
protected string RegionPrims(IOSHttpResponse httpResponse, Scene scene, Vector3 min, Vector3 max)
{
httpResponse.SendChunked = true;
httpResponse.ContentType = "text/xml";
@@ -40,7 +40,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
{
#region GET methods
public string GetRegionInfoHandler(string request, string path, string param,
OSHttpRequest httpRequest, OSHttpResponse httpResponse)
IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{
// foreach (string h in httpRequest.Headers.AllKeys)
// foreach (string v in httpRequest.Headers.GetValues(h))
@@ -64,7 +64,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
}
}
public string GetRegionInfoHandlerRegions(OSHttpResponse httpResponse)
public string GetRegionInfoHandlerRegions(IOSHttpResponse httpResponse)
{
RestXmlWriter rxw = new RestXmlWriter(new StringWriter());
@@ -40,7 +40,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
#region POST methods
public string PostHandler(string request, string path, string param,
OSHttpRequest httpRequest, OSHttpResponse httpResponse)
IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{
// foreach (string h in httpRequest.Headers.AllKeys)
// foreach (string v in httpRequest.Headers.GetValues(h))
@@ -92,7 +92,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
}
}
public string CreateRegion(OSHttpRequest request, OSHttpResponse response)
public string CreateRegion(IOSHttpRequest request, IOSHttpResponse response)
{
RestXmlWriter rxw = new RestXmlWriter(new StringWriter());
@@ -108,7 +108,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
return rxw.ToString();
}
public string LoadPrims(string requestBody, OSHttpRequest request, OSHttpResponse response, Scene scene)
public string LoadPrims(string requestBody, IOSHttpRequest request, IOSHttpResponse response, Scene scene)
{
IRegionSerialiserModule serialiser = scene.RequestModuleInterface<IRegionSerialiserModule>();
if (serialiser != null)
@@ -328,7 +328,7 @@ namespace OpenSim.ApplicationPlugins.Rest
/// </summary>
/// <param name="request">HTTP request header</param>
/// <returns>true when the HTTP request came from god.</returns>
protected bool IsGod(OSHttpRequest request)
protected bool IsGod(IOSHttpRequest request)
{
string[] keys = request.Headers.GetValues("X-OpenSim-Godkey");
if (null == keys) return false;
@@ -342,7 +342,7 @@ namespace OpenSim.ApplicationPlugins.Rest
/// HTTP header is indeed the password on file for the avatar
/// specified by the UUID
/// </summary>
protected bool IsVerifiedUser(OSHttpRequest request, UUID uuid)
protected bool IsVerifiedUser(IOSHttpRequest request, UUID uuid)
{
// XXX under construction
return false;
@@ -377,7 +377,7 @@ namespace OpenSim.ApplicationPlugins.Rest
/// <param name="message">failure message</param>
/// <remarks>This should probably set a return code as
/// well. (?)</remarks>
protected string Failure(OSHttpResponse response, OSHttpStatusCode status,
protected string Failure(IOSHttpResponse response, OSHttpStatusCode status,
string method, string format, params string[] msg)
{
string m = String.Format(format, msg);
@@ -396,7 +396,7 @@ namespace OpenSim.ApplicationPlugins.Rest
/// <param name="e">exception causing the failure message</param>
/// <remarks>This should probably set a return code as
/// well. (?)</remarks>
public string Failure(OSHttpResponse response, OSHttpStatusCode status,
public string Failure(IOSHttpResponse response, OSHttpStatusCode status,
string method, Exception e)
{
string m = String.Format("exception occurred: {0}", e.Message);
+175
View File
@@ -0,0 +1,175 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Reflection;
using log4net;
using Nini.Config;
using OpenMetaverse;
using OpenSim.Framework.Servers;
using OpenSim.Framework.Servers.HttpServer;
using OpenSim.Services.Interfaces;
// using OpenSim.Region.Framework.Interfaces;
namespace OpenSim.Framework.Capabilities
{
/// <summary>
/// XXX Probably not a particularly nice way of allow us to get the scene presence from the scene (chiefly so that
/// we can popup a message on the user's client if the inventory service has permanently failed). But I didn't want
/// to just pass the whole Scene into CAPS.
/// </summary>
public delegate IClientAPI GetClientDelegate(UUID agentID);
public class Caps
{
// private static readonly ILog m_log =
// LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private string m_httpListenerHostName;
private uint m_httpListenPort;
/// <summary>
/// This is the uuid portion of every CAPS path. It is used to make capability urls private to the requester.
/// </summary>
private string m_capsObjectPath;
public string CapsObjectPath { get { return m_capsObjectPath; } }
private CapsHandlers m_capsHandlers;
private Dictionary<string, string> m_externalCapsHandlers;
private IHttpServer m_httpListener;
private UUID m_agentID;
private string m_regionName;
public UUID AgentID
{
get { return m_agentID; }
}
public string RegionName
{
get { return m_regionName; }
}
public string HostName
{
get { return m_httpListenerHostName; }
}
public uint Port
{
get { return m_httpListenPort; }
}
public IHttpServer HttpListener
{
get { return m_httpListener; }
}
public bool SSLCaps
{
get { return m_httpListener.UseSSL; }
}
public string SSLCommonName
{
get { return m_httpListener.SSLCommonName; }
}
public CapsHandlers CapsHandlers
{
get { return m_capsHandlers; }
}
public Dictionary<string, string> ExternalCapsHandlers
{
get { return m_externalCapsHandlers; }
}
public Caps(IHttpServer httpServer, string httpListen, uint httpPort, string capsPath,
UUID agent, string regionName)
{
m_capsObjectPath = capsPath;
m_httpListener = httpServer;
m_httpListenerHostName = httpListen;
m_httpListenPort = httpPort;
if (httpServer != null && httpServer.UseSSL)
{
m_httpListenPort = httpServer.SSLPort;
httpListen = httpServer.SSLCommonName;
httpPort = httpServer.SSLPort;
}
m_agentID = agent;
m_capsHandlers = new CapsHandlers(httpServer, httpListen, httpPort, (httpServer == null) ? false : httpServer.UseSSL);
m_externalCapsHandlers = new Dictionary<string, string>();
m_regionName = regionName;
}
/// <summary>
/// Register a handler. This allows modules to register handlers.
/// </summary>
/// <param name="capName"></param>
/// <param name="handler"></param>
public void RegisterHandler(string capName, IRequestHandler handler)
{
m_capsHandlers[capName] = handler;
//m_log.DebugFormat("[CAPS]: Registering handler for \"{0}\": path {1}", capName, handler.Path);
}
/// <summary>
/// Register an external handler. The service for this capability is somewhere else
/// given by the URL.
/// </summary>
/// <param name="capsName"></param>
/// <param name="url"></param>
public void RegisterHandler(string capsName, string url)
{
m_externalCapsHandlers.Add(capsName, url);
}
/// <summary>
/// Remove all CAPS service handlers.
/// </summary>
public void DeregisterHandlers()
{
if (m_capsHandlers != null)
{
foreach (string capsName in m_capsHandlers.Caps)
{
m_capsHandlers.Remove(capsName);
}
}
}
}
}
@@ -51,11 +51,10 @@ namespace OpenSim.Framework.Capabilities
/// supplied BaseHttpServer.
/// </summary>
/// <param name="httpListener">base HTTP server</param>
/// <param name="httpListenerHostname">host name of the HTTP
/// server</param>
/// <param name="httpListenerHostname">host name of the HTTP server</param>
/// <param name="httpListenerPort">HTTP port</param>
public CapsHandlers(BaseHttpServer httpListener, string httpListenerHostname, uint httpListenerPort)
: this (httpListener,httpListenerHostname,httpListenerPort, false)
: this(httpListener,httpListenerHostname,httpListenerPort, false)
{
}
@@ -74,7 +73,7 @@ namespace OpenSim.Framework.Capabilities
m_httpListenerHostName = httpListenerHostname;
m_httpListenerPort = httpListenerPort;
m_useSSL = https;
if (m_useSSL)
if (httpListener != null && m_useSSL)
{
m_httpListenerHostName = httpListener.SSLCommonName;
m_httpListenerPort = httpListener.SSLPort;
@@ -88,44 +87,52 @@ namespace OpenSim.Framework.Capabilities
/// handler to be removed</param>
public void Remove(string capsName)
{
// This line must be here, or caps will break!
m_httpListener.RemoveStreamHandler("POST", m_capsHandlers[capsName].Path);
m_capsHandlers.Remove(capsName);
lock (m_capsHandlers)
{
m_httpListener.RemoveStreamHandler("POST", m_capsHandlers[capsName].Path);
m_httpListener.RemoveStreamHandler("GET", m_capsHandlers[capsName].Path);
m_capsHandlers.Remove(capsName);
}
}
public bool ContainsCap(string cap)
{
return m_capsHandlers.ContainsKey(cap);
lock (m_capsHandlers)
return m_capsHandlers.ContainsKey(cap);
}
/// <summary>
/// The indexer allows us to treat the CapsHandlers object
/// in an intuitive dictionary like way.
/// </summary>
/// <Remarks>
/// <remarks>
/// The indexer will throw an exception when you try to
/// retrieve a cap handler for a cap that is not contained in
/// CapsHandlers.
/// </Remarks>
/// </remarks>
public IRequestHandler this[string idx]
{
get
{
return m_capsHandlers[idx];
lock (m_capsHandlers)
return m_capsHandlers[idx];
}
set
{
if (m_capsHandlers.ContainsKey(idx))
lock (m_capsHandlers)
{
m_httpListener.RemoveStreamHandler("POST", m_capsHandlers[idx].Path);
m_capsHandlers.Remove(idx);
if (m_capsHandlers.ContainsKey(idx))
{
m_httpListener.RemoveStreamHandler("POST", m_capsHandlers[idx].Path);
m_capsHandlers.Remove(idx);
}
if (null == value) return;
m_capsHandlers[idx] = value;
m_httpListener.AddStreamHandler(value);
}
if (null == value) return;
m_capsHandlers[idx] = value;
m_httpListener.AddStreamHandler(value);
}
}
@@ -137,9 +144,12 @@ namespace OpenSim.Framework.Capabilities
{
get
{
string[] __keys = new string[m_capsHandlers.Keys.Count];
m_capsHandlers.Keys.CopyTo(__keys, 0);
return __keys;
lock (m_capsHandlers)
{
string[] __keys = new string[m_capsHandlers.Keys.Count];
m_capsHandlers.Keys.CopyTo(__keys, 0);
return __keys;
}
}
}
@@ -147,25 +157,29 @@ namespace OpenSim.Framework.Capabilities
/// Return an LLSD-serializable Hashtable describing the
/// capabilities and their handler details.
/// </summary>
public Hashtable CapsDetails
/// <param name="excludeSeed">If true, then exclude the seed cap.</param>
public Hashtable GetCapsDetails(bool excludeSeed)
{
get
{
Hashtable caps = new Hashtable();
string protocol = "http://";
if (m_useSSL)
protocol = "https://";
Hashtable caps = new Hashtable();
string protocol = "http://";
if (m_useSSL)
protocol = "https://";
string baseUrl = protocol + m_httpListenerHostName + ":" + m_httpListenerPort.ToString();
string baseUrl = protocol + m_httpListenerHostName + ":" + m_httpListenerPort.ToString();
lock (m_capsHandlers)
{
foreach (string capsName in m_capsHandlers.Keys)
{
// skip SEED cap
if ("SEED" == capsName) continue;
if (excludeSeed && "SEED" == capsName)
continue;
caps[capsName] = baseUrl + m_capsHandlers[capsName].Path;
}
return caps;
}
return caps;
}
}
}
}
@@ -0,0 +1,148 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Reflection;
using log4net;
using Nini.Config;
using OpenMetaverse;
using OpenMetaverse.StructuredData;
using OpenSim.Framework;
using OpenSim.Framework.Capabilities;
using OpenSim.Region.Framework.Interfaces;
using OpenSim.Framework.Servers.HttpServer;
using OpenSim.Services.Interfaces;
using Caps = OpenSim.Framework.Capabilities.Caps;
using OSDArray = OpenMetaverse.StructuredData.OSDArray;
using OSDMap = OpenMetaverse.StructuredData.OSDMap;
namespace OpenSim.Capabilities.Handlers
{
public class FetchInventory2Handler
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private IInventoryService m_inventoryService;
public FetchInventory2Handler(IInventoryService invService)
{
m_inventoryService = invService;
}
public string FetchInventoryRequest(string request, string path, string param, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{
// m_log.DebugFormat("[FETCH INVENTORY HANDLER]: Received FetchInventory capabilty request");
OSDMap requestmap = (OSDMap)OSDParser.DeserializeLLSDXml(Utils.StringToBytes(request));
OSDArray itemsRequested = (OSDArray)requestmap["items"];
string reply;
LLSDFetchInventory llsdReply = new LLSDFetchInventory();
foreach (OSDMap osdItemId in itemsRequested)
{
UUID itemId = osdItemId["item_id"].AsUUID();
InventoryItemBase item = m_inventoryService.GetItem(new InventoryItemBase(itemId));
if (item != null)
{
// We don't know the agent that this request belongs to so we'll use the agent id of the item
// which will be the same for all items.
llsdReply.agent_id = item.Owner;
llsdReply.items.Array.Add(ConvertInventoryItem(item));
}
}
reply = LLSDHelpers.SerialiseLLSDReply(llsdReply);
return reply;
}
/// <summary>
/// Convert an internal inventory item object into an LLSD object.
/// </summary>
/// <param name="invItem"></param>
/// <returns></returns>
private LLSDInventoryItem ConvertInventoryItem(InventoryItemBase invItem)
{
LLSDInventoryItem llsdItem = new LLSDInventoryItem();
llsdItem.asset_id = invItem.AssetID;
llsdItem.created_at = invItem.CreationDate;
llsdItem.desc = invItem.Description;
llsdItem.flags = (int)invItem.Flags;
llsdItem.item_id = invItem.ID;
llsdItem.name = invItem.Name;
llsdItem.parent_id = invItem.Folder;
try
{
llsdItem.type = Utils.AssetTypeToString((AssetType)invItem.AssetType);
llsdItem.inv_type = Utils.InventoryTypeToString((InventoryType)invItem.InvType);
}
catch (Exception e)
{
m_log.ErrorFormat(
"[WEB FETCH INV DESC HANDLER]: Problem setting asset {0} inventory {1} types while converting inventory item {2}: {3}",
invItem.AssetType, invItem.InvType, invItem.Name, e.Message);
}
llsdItem.permissions = new LLSDPermissions();
llsdItem.permissions.creator_id = invItem.CreatorIdAsUuid;
llsdItem.permissions.base_mask = (int)invItem.CurrentPermissions;
llsdItem.permissions.everyone_mask = (int)invItem.EveryOnePermissions;
llsdItem.permissions.group_id = invItem.GroupID;
llsdItem.permissions.group_mask = (int)invItem.GroupPermissions;
llsdItem.permissions.is_owner_group = invItem.GroupOwned;
llsdItem.permissions.next_owner_mask = (int)invItem.NextPermissions;
llsdItem.permissions.owner_id = invItem.Owner;
llsdItem.permissions.owner_mask = (int)invItem.CurrentPermissions;
llsdItem.sale_info = new LLSDSaleInfo();
llsdItem.sale_info.sale_price = invItem.SalePrice;
switch (invItem.SaleType)
{
default:
llsdItem.sale_info.sale_type = "not";
break;
case 1:
llsdItem.sale_info.sale_type = "original";
break;
case 2:
llsdItem.sale_info.sale_type = "copy";
break;
case 3:
llsdItem.sale_info.sale_type = "contents";
break;
}
return llsdItem;
}
}
}
@@ -0,0 +1,70 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using Nini.Config;
using OpenSim.Server.Base;
using OpenSim.Services.Interfaces;
using OpenSim.Framework.Servers.HttpServer;
using OpenSim.Server.Handlers.Base;
using OpenMetaverse;
namespace OpenSim.Capabilities.Handlers
{
public class FetchInventory2ServerConnector : ServiceConnector
{
private IInventoryService m_InventoryService;
private string m_ConfigName = "CapsService";
public FetchInventory2ServerConnector(IConfigSource config, IHttpServer server, string configName)
: base(config, server, configName)
{
if (configName != String.Empty)
m_ConfigName = configName;
IConfig serverConfig = config.Configs[m_ConfigName];
if (serverConfig == null)
throw new Exception(String.Format("No section '{0}' in config file", m_ConfigName));
string invService = serverConfig.GetString("InventoryService", String.Empty);
if (invService == String.Empty)
throw new Exception("No InventoryService in config file");
Object[] args = new Object[] { config };
m_InventoryService = ServerUtils.LoadPlugin<IInventoryService>(invService, args);
if (m_InventoryService == null)
throw new Exception(String.Format("Failed to load InventoryService from {0}; config is {1}", invService, m_ConfigName));
FetchInventory2Handler fiHandler = new FetchInventory2Handler(m_InventoryService);
IRequestHandler reqHandler
= new RestStreamHandler("POST", "/CAPS/FetchInventory/", fiHandler.FetchInventoryRequest);
server.AddStreamHandler(reqHandler);
}
}
}
@@ -0,0 +1,116 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections;
using System.Collections.Specialized;
using System.Reflection;
using System.IO;
using System.Web;
using log4net;
using Nini.Config;
using OpenMetaverse;
using OpenMetaverse.StructuredData;
using OpenSim.Framework;
using OpenSim.Framework.Servers;
using OpenSim.Framework.Servers.HttpServer;
using OpenSim.Services.Interfaces;
using Caps = OpenSim.Framework.Capabilities.Caps;
namespace OpenSim.Capabilities.Handlers
{
public class GetMeshHandler
{
// private static readonly ILog m_log =
// LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private IAssetService m_assetService;
public GetMeshHandler(IAssetService assService)
{
m_assetService = assService;
}
public Hashtable ProcessGetMesh(Hashtable request, UUID AgentId, Caps cap)
{
Hashtable responsedata = new Hashtable();
responsedata["int_response_code"] = 400; //501; //410; //404;
responsedata["content_type"] = "text/plain";
responsedata["keepalive"] = false;
responsedata["str_response_string"] = "Request wasn't what was expected";
string meshStr = string.Empty;
if (request.ContainsKey("mesh_id"))
meshStr = request["mesh_id"].ToString();
UUID meshID = UUID.Zero;
if (!String.IsNullOrEmpty(meshStr) && UUID.TryParse(meshStr, out meshID))
{
if (m_assetService == null)
{
responsedata["int_response_code"] = 404; //501; //410; //404;
responsedata["content_type"] = "text/plain";
responsedata["keepalive"] = false;
responsedata["str_response_string"] = "The asset service is unavailable. So is your mesh.";
return responsedata;
}
AssetBase mesh = m_assetService.Get(meshID.ToString());
if (mesh != null)
{
if (mesh.Type == (SByte)AssetType.Mesh)
{
responsedata["str_response_string"] = Convert.ToBase64String(mesh.Data);
responsedata["content_type"] = "application/vnd.ll.mesh";
responsedata["int_response_code"] = 200;
}
// Optionally add additional mesh types here
else
{
responsedata["int_response_code"] = 404; //501; //410; //404;
responsedata["content_type"] = "text/plain";
responsedata["keepalive"] = false;
responsedata["str_response_string"] = "Unfortunately, this asset isn't a mesh.";
return responsedata;
}
}
else
{
responsedata["int_response_code"] = 404; //501; //410; //404;
responsedata["content_type"] = "text/plain";
responsedata["keepalive"] = false;
responsedata["str_response_string"] = "Your Mesh wasn't found. Sorry!";
return responsedata;
}
}
return responsedata;
}
}
}
@@ -0,0 +1,78 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections;
using Nini.Config;
using OpenSim.Server.Base;
using OpenSim.Services.Interfaces;
using OpenSim.Framework.Servers.HttpServer;
using OpenSim.Server.Handlers.Base;
using OpenSim.Framework.Servers;
using OpenMetaverse;
namespace OpenSim.Capabilities.Handlers
{
public class GetMeshServerConnector : ServiceConnector
{
private IAssetService m_AssetService;
private string m_ConfigName = "CapsService";
public GetMeshServerConnector(IConfigSource config, IHttpServer server, string configName) :
base(config, server, configName)
{
if (configName != String.Empty)
m_ConfigName = configName;
IConfig serverConfig = config.Configs[m_ConfigName];
if (serverConfig == null)
throw new Exception(String.Format("No section '{0}' in config file", m_ConfigName));
string assetService = serverConfig.GetString("AssetService", String.Empty);
if (assetService == String.Empty)
throw new Exception("No AssetService in config file");
Object[] args = new Object[] { config };
m_AssetService =
ServerUtils.LoadPlugin<IAssetService>(assetService, args);
if (m_AssetService == null)
throw new Exception(String.Format("Failed to load AssetService from {0}; config is {1}", assetService, m_ConfigName));
GetMeshHandler gmeshHandler = new GetMeshHandler(m_AssetService);
IRequestHandler reqHandler = new RestHTTPHandler("GET", "/CAPS/" + UUID.Random(),
delegate(Hashtable m_dhttpMethod)
{
return gmeshHandler.ProcessGetMesh(m_dhttpMethod, UUID.Zero, null);
});
server.AddStreamHandler(reqHandler);
}
}
}
@@ -0,0 +1,371 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections;
using System.Collections.Specialized;
using System.Drawing;
using System.Drawing.Imaging;
using System.Reflection;
using System.IO;
using System.Web;
using log4net;
using Nini.Config;
using OpenMetaverse;
using OpenMetaverse.StructuredData;
using OpenMetaverse.Imaging;
using OpenSim.Framework;
using OpenSim.Framework.Servers;
using OpenSim.Framework.Servers.HttpServer;
using OpenSim.Region.Framework.Interfaces;
using OpenSim.Services.Interfaces;
using Caps = OpenSim.Framework.Capabilities.Caps;
namespace OpenSim.Capabilities.Handlers
{
public class GetTextureHandler : BaseStreamHandler
{
private static readonly ILog m_log =
LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private IAssetService m_assetService;
public const string DefaultFormat = "x-j2c";
// TODO: Change this to a config option
const string REDIRECT_URL = null;
public GetTextureHandler(string path, IAssetService assService) :
base("GET", path)
{
m_assetService = assService;
}
public override byte[] Handle(string path, Stream request, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{
// Try to parse the texture ID from the request URL
NameValueCollection query = HttpUtility.ParseQueryString(httpRequest.Url.Query);
string textureStr = query.GetOne("texture_id");
string format = query.GetOne("format");
//m_log.DebugFormat("[GETTEXTURE]: called {0}", textureStr);
if (m_assetService == null)
{
m_log.Error("[GETTEXTURE]: Cannot fetch texture " + textureStr + " without an asset service");
httpResponse.StatusCode = (int)System.Net.HttpStatusCode.NotFound;
return null;
}
UUID textureID;
if (!String.IsNullOrEmpty(textureStr) && UUID.TryParse(textureStr, out textureID))
{
// m_log.DebugFormat("[GETTEXTURE]: Received request for texture id {0}", textureID);
string[] formats;
if (format != null && format != string.Empty)
{
formats = new string[1] { format.ToLower() };
}
else
{
formats = WebUtil.GetPreferredImageTypes(httpRequest.Headers.Get("Accept"));
if (formats.Length == 0)
formats = new string[1] { DefaultFormat }; // default
}
// OK, we have an array with preferred formats, possibly with only one entry
httpResponse.StatusCode = (int)System.Net.HttpStatusCode.NotFound;
foreach (string f in formats)
{
if (FetchTexture(httpRequest, httpResponse, textureID, f))
break;
}
}
else
{
m_log.Warn("[GETTEXTURE]: Failed to parse a texture_id from GetTexture request: " + httpRequest.Url);
}
// m_log.DebugFormat(
// "[GETTEXTURE]: For texture {0} sending back response {1}, data length {2}",
// textureID, httpResponse.StatusCode, httpResponse.ContentLength);
httpResponse.Send();
return null;
}
/// <summary>
///
/// </summary>
/// <param name="httpRequest"></param>
/// <param name="httpResponse"></param>
/// <param name="textureID"></param>
/// <param name="format"></param>
/// <returns>False for "caller try another codec"; true otherwise</returns>
private bool FetchTexture(IOSHttpRequest httpRequest, IOSHttpResponse httpResponse, UUID textureID, string format)
{
// m_log.DebugFormat("[GETTEXTURE]: {0} with requested format {1}", textureID, format);
AssetBase texture;
string fullID = textureID.ToString();
if (format != DefaultFormat)
fullID = fullID + "-" + format;
if (!String.IsNullOrEmpty(REDIRECT_URL))
{
// Only try to fetch locally cached textures. Misses are redirected
texture = m_assetService.GetCached(fullID);
if (texture != null)
{
if (texture.Type != (sbyte)AssetType.Texture)
{
httpResponse.StatusCode = (int)System.Net.HttpStatusCode.NotFound;
return true;
}
WriteTextureData(httpRequest, httpResponse, texture, format);
}
else
{
string textureUrl = REDIRECT_URL + textureID.ToString();
m_log.Debug("[GETTEXTURE]: Redirecting texture request to " + textureUrl);
httpResponse.RedirectLocation = textureUrl;
return true;
}
}
else // no redirect
{
// try the cache
texture = m_assetService.GetCached(fullID);
if (texture == null)
{
//m_log.DebugFormat("[GETTEXTURE]: texture was not in the cache");
// Fetch locally or remotely. Misses return a 404
texture = m_assetService.Get(textureID.ToString());
if (texture != null)
{
if (texture.Type != (sbyte)AssetType.Texture)
{
httpResponse.StatusCode = (int)System.Net.HttpStatusCode.NotFound;
return true;
}
if (format == DefaultFormat)
{
WriteTextureData(httpRequest, httpResponse, texture, format);
return true;
}
else
{
AssetBase newTexture = new AssetBase(texture.ID + "-" + format, texture.Name, (sbyte)AssetType.Texture, texture.Metadata.CreatorID);
newTexture.Data = ConvertTextureData(texture, format);
if (newTexture.Data.Length == 0)
return false; // !!! Caller try another codec, please!
newTexture.Flags = AssetFlags.Collectable;
newTexture.Temporary = true;
m_assetService.Store(newTexture);
WriteTextureData(httpRequest, httpResponse, newTexture, format);
return true;
}
}
}
else // it was on the cache
{
//m_log.DebugFormat("[GETTEXTURE]: texture was in the cache");
WriteTextureData(httpRequest, httpResponse, texture, format);
return true;
}
}
// not found
// m_log.Warn("[GETTEXTURE]: Texture " + textureID + " not found");
httpResponse.StatusCode = (int)System.Net.HttpStatusCode.NotFound;
return true;
}
private void WriteTextureData(IOSHttpRequest request, IOSHttpResponse response, AssetBase texture, string format)
{
string range = request.Headers.GetOne("Range");
if (!String.IsNullOrEmpty(range)) // JP2's only
{
// Range request
int start, end;
if (TryParseRange(range, out start, out end))
{
// Before clamping start make sure we can satisfy it in order to avoid
// sending back the last byte instead of an error status
if (start >= texture.Data.Length)
{
response.StatusCode = (int)System.Net.HttpStatusCode.RequestedRangeNotSatisfiable;
}
else
{
end = Utils.Clamp(end, 0, texture.Data.Length - 1);
start = Utils.Clamp(start, 0, end);
int len = end - start + 1;
//m_log.Debug("Serving " + start + " to " + end + " of " + texture.Data.Length + " bytes for texture " + texture.ID);
// Always return PartialContent, even if the range covered the entire data length
// We were accidentally sending back 404 before in this situation
// https://issues.apache.org/bugzilla/show_bug.cgi?id=51878 supports sending 206 even if the
// entire range is requested, and viewer 3.2.2 (and very probably earlier) seems fine with this.
response.StatusCode = (int)System.Net.HttpStatusCode.PartialContent;
response.ContentLength = len;
response.ContentType = texture.Metadata.ContentType;
response.AddHeader("Content-Range", String.Format("bytes {0}-{1}/{2}", start, end, texture.Data.Length));
response.Body.Write(texture.Data, start, len);
}
}
else
{
m_log.Warn("[GETTEXTURE]: Malformed Range header: " + range);
response.StatusCode = (int)System.Net.HttpStatusCode.BadRequest;
}
}
else // JP2's or other formats
{
// Full content request
response.StatusCode = (int)System.Net.HttpStatusCode.OK;
response.ContentLength = texture.Data.Length;
if (format == DefaultFormat)
response.ContentType = texture.Metadata.ContentType;
else
response.ContentType = "image/" + format;
response.Body.Write(texture.Data, 0, texture.Data.Length);
}
// if (response.StatusCode < 200 || response.StatusCode > 299)
// m_log.WarnFormat(
// "[GETTEXTURE]: For texture {0} requested range {1} responded {2} with content length {3} (actual {4})",
// texture.FullID, range, response.StatusCode, response.ContentLength, texture.Data.Length);
// else
// m_log.DebugFormat(
// "[GETTEXTURE]: For texture {0} requested range {1} responded {2} with content length {3} (actual {4})",
// texture.FullID, range, response.StatusCode, response.ContentLength, texture.Data.Length);
}
private bool TryParseRange(string header, out int start, out int end)
{
if (header.StartsWith("bytes="))
{
string[] rangeValues = header.Substring(6).Split('-');
if (rangeValues.Length == 2)
{
if (Int32.TryParse(rangeValues[0], out start) && Int32.TryParse(rangeValues[1], out end))
return true;
}
}
start = end = 0;
return false;
}
private byte[] ConvertTextureData(AssetBase texture, string format)
{
m_log.DebugFormat("[GETTEXTURE]: Converting texture {0} to {1}", texture.ID, format);
byte[] data = new byte[0];
MemoryStream imgstream = new MemoryStream();
Bitmap mTexture = new Bitmap(1, 1);
ManagedImage managedImage;
Image image = (Image)mTexture;
try
{
// Taking our jpeg2000 data, decoding it, then saving it to a byte array with regular data
imgstream = new MemoryStream();
// Decode image to System.Drawing.Image
if (OpenJPEG.DecodeToImage(texture.Data, out managedImage, out image))
{
// Save to bitmap
mTexture = new Bitmap(image);
EncoderParameters myEncoderParameters = new EncoderParameters();
myEncoderParameters.Param[0] = new EncoderParameter(Encoder.Quality, 95L);
// Save bitmap to stream
ImageCodecInfo codec = GetEncoderInfo("image/" + format);
if (codec != null)
{
mTexture.Save(imgstream, codec, myEncoderParameters);
// Write the stream to a byte array for output
data = imgstream.ToArray();
}
else
m_log.WarnFormat("[GETTEXTURE]: No such codec {0}", format);
}
}
catch (Exception e)
{
m_log.WarnFormat("[GETTEXTURE]: Unable to convert texture {0} to {1}: {2}", texture.ID, format, e.Message);
}
finally
{
// Reclaim memory, these are unmanaged resources
// If we encountered an exception, one or more of these will be null
if (mTexture != null)
mTexture.Dispose();
if (image != null)
image.Dispose();
if (imgstream != null)
{
imgstream.Close();
imgstream.Dispose();
}
}
return data;
}
// From msdn
private static ImageCodecInfo GetEncoderInfo(String mimeType)
{
ImageCodecInfo[] encoders;
encoders = ImageCodecInfo.GetImageEncoders();
for (int j = 0; j < encoders.Length; ++j)
{
if (encoders[j].MimeType == mimeType)
return encoders[j];
}
return null;
}
}
}
@@ -0,0 +1,69 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using Nini.Config;
using OpenSim.Server.Base;
using OpenSim.Services.Interfaces;
using OpenSim.Framework.Servers.HttpServer;
using OpenSim.Server.Handlers.Base;
using OpenMetaverse;
namespace OpenSim.Capabilities.Handlers
{
public class GetTextureServerConnector : ServiceConnector
{
private IAssetService m_AssetService;
private string m_ConfigName = "CapsService";
public GetTextureServerConnector(IConfigSource config, IHttpServer server, string configName) :
base(config, server, configName)
{
if (configName != String.Empty)
m_ConfigName = configName;
IConfig serverConfig = config.Configs[m_ConfigName];
if (serverConfig == null)
throw new Exception(String.Format("No section '{0}' in config file", m_ConfigName));
string assetService = serverConfig.GetString("AssetService", String.Empty);
if (assetService == String.Empty)
throw new Exception("No AssetService in config file");
Object[] args = new Object[] { config };
m_AssetService =
ServerUtils.LoadPlugin<IAssetService>(assetService, args);
if (m_AssetService == null)
throw new Exception(String.Format("Failed to load AssetService from {0}; config is {1}", assetService, m_ConfigName));
server.AddStreamHandler(new GetTextureHandler("/CAPS/GetTexture/" /*+ UUID.Random() */, m_AssetService));
}
}
}
@@ -25,48 +25,39 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using Nini.Config;
using log4net;
using System;
using System.IO;
using System.Reflection;
using System.Collections.Generic;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using System.Xml;
using System.Xml.Serialization;
using OpenSim.Server.Base;
using OpenSim.Services.Interfaces;
using log4net;
using log4net.Config;
using NUnit.Framework;
using OpenMetaverse;
using OpenSim.Capabilities.Handlers;
using OpenSim.Framework;
using OpenSim.Framework.Servers.HttpServer;
using OpenSim.Region.Framework.Scenes;
using OpenSim.Tests.Common;
using OpenSim.Tests.Common.Mock;
namespace OpenSim.Server.Handlers.Freeswitch
namespace OpenSim.Capabilities.Handlers.GetTexture.Tests
{
public class FreeswitchServerGetHandler : BaseStreamHandler
[TestFixture]
public class GetTextureHandlerTests
{
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
//private IFreeswitchService m_FreeswitchService;
public FreeswitchServerGetHandler(IFreeswitchService service) :
base("GET", "/api")
[Test]
public void TestTextureNotFound()
{
//m_FreeswitchService = service;
}
TestHelpers.InMethod();
public override byte[] Handle(string path, Stream request,
OSHttpRequest httpRequest, OSHttpResponse httpResponse)
{
byte[] result = new byte[0];
// Overkill - we only really need the asset service, not a whole scene.
Scene scene = new SceneHelpers().SetupScene();
string[] p = SplitParams(path);
if (p.Length == 0)
return result;
// Process web request
return result;
GetTextureHandler handler = new GetTextureHandler(null, scene.AssetService);
TestOSHttpRequest req = new TestOSHttpRequest();
TestOSHttpResponse resp = new TestOSHttpResponse();
req.Url = new Uri("http://localhost/?texture_id=00000000-0000-1111-9999-000000000012");
handler.Handle(null, null, req, resp);
Assert.That(resp.StatusCode, Is.EqualTo((int)System.Net.HttpStatusCode.NotFound));
}
}
}
}
@@ -0,0 +1,181 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections;
using System.Collections.Specialized;
using System.Drawing;
using System.Drawing.Imaging;
using System.Reflection;
using System.IO;
using System.Web;
using log4net;
using Nini.Config;
using OpenMetaverse;
using OpenMetaverse.StructuredData;
using OpenMetaverse.Imaging;
using OpenSim.Framework;
using OpenSim.Framework.Capabilities;
using OpenSim.Framework.Servers;
using OpenSim.Framework.Servers.HttpServer;
using OpenSim.Region.Framework.Interfaces;
using OpenSim.Services.Interfaces;
using Caps = OpenSim.Framework.Capabilities.Caps;
namespace OpenSim.Capabilities.Handlers
{
public class UploadBakedTextureHandler
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private Caps m_HostCapsObj;
private IAssetService m_assetService;
private bool m_persistBakedTextures;
public UploadBakedTextureHandler(Caps caps, IAssetService assetService, bool persistBakedTextures)
{
m_HostCapsObj = caps;
m_assetService = assetService;
m_persistBakedTextures = persistBakedTextures;
}
/// <summary>
/// Handle a request from the client for a Uri to upload a baked texture.
/// </summary>
/// <param name="request"></param>
/// <param name="path"></param>
/// <param name="param"></param>
/// <param name="httpRequest"></param>
/// <param name="httpResponse"></param>
/// <returns>The upload response if the request is successful, null otherwise.</returns>
public string UploadBakedTexture(
string request, string path, string param, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{
try
{
string capsBase = "/CAPS/" + m_HostCapsObj.CapsObjectPath;
string uploaderPath = Util.RandomClass.Next(5000, 8000).ToString("0000");
BakedTextureUploader uploader =
new BakedTextureUploader(capsBase + uploaderPath, m_HostCapsObj.HttpListener);
uploader.OnUpLoad += BakedTextureUploaded;
m_HostCapsObj.HttpListener.AddStreamHandler(
new BinaryStreamHandler("POST", capsBase + uploaderPath,
uploader.uploaderCaps));
string protocol = "http://";
if (m_HostCapsObj.SSLCaps)
protocol = "https://";
string uploaderURL = protocol + m_HostCapsObj.HostName + ":" +
m_HostCapsObj.Port.ToString() + capsBase + uploaderPath;
LLSDAssetUploadResponse uploadResponse = new LLSDAssetUploadResponse();
uploadResponse.uploader = uploaderURL;
uploadResponse.state = "upload";
return LLSDHelpers.SerialiseLLSDReply(uploadResponse);
}
catch (Exception e)
{
m_log.ErrorFormat("[UPLOAD BAKED TEXTURE HANDLER]: {0}{1}", e.Message, e.StackTrace);
}
return null;
}
/// <summary>
/// Called when a baked texture has been successfully uploaded by a client.
/// </summary>
/// <param name="assetID"></param>
/// <param name="data"></param>
private void BakedTextureUploaded(UUID assetID, byte[] data)
{
// m_log.DebugFormat("[UPLOAD BAKED TEXTURE HANDLER]: Received baked texture {0}", assetID.ToString());
AssetBase asset;
asset = new AssetBase(assetID, "Baked Texture", (sbyte)AssetType.Texture, m_HostCapsObj.AgentID.ToString());
asset.Data = data;
asset.Temporary = true;
asset.Local = !m_persistBakedTextures; // Local assets aren't persisted, non-local are
m_assetService.Store(asset);
}
}
class BakedTextureUploader
{
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
public event Action<UUID, byte[]> OnUpLoad;
private string uploaderPath = String.Empty;
private UUID newAssetID;
private IHttpServer httpListener;
public BakedTextureUploader(string path, IHttpServer httpServer)
{
newAssetID = UUID.Random();
uploaderPath = path;
httpListener = httpServer;
// m_log.InfoFormat("[CAPS] baked texture upload starting for {0}",newAssetID);
}
/// <summary>
/// Handle raw uploaded baked texture data.
/// </summary>
/// <param name="data"></param>
/// <param name="path"></param>
/// <param name="param"></param>
/// <returns></returns>
public string uploaderCaps(byte[] data, string path, string param)
{
Action<UUID, byte[]> handlerUpLoad = OnUpLoad;
// Don't do this asynchronously, otherwise it's possible for the client to send set appearance information
// on another thread which might send out avatar updates before the asset has been put into the asset
// service.
if (handlerUpLoad != null)
handlerUpLoad(newAssetID, data);
string res = String.Empty;
LLSDAssetUploadComplete uploadComplete = new LLSDAssetUploadComplete();
uploadComplete.new_asset = newAssetID.ToString();
uploadComplete.new_inventory_item = UUID.Zero;
uploadComplete.state = "complete";
res = LLSDHelpers.SerialiseLLSDReply(uploadComplete);
httpListener.RemoveStreamHandler("POST", uploaderPath);
// m_log.DebugFormat("[BAKED TEXTURE UPLOADER]: baked texture upload completed for {0}", newAssetID);
return res;
}
}
}
@@ -0,0 +1,412 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Reflection;
using log4net;
using Nini.Config;
using OpenMetaverse;
using OpenMetaverse.StructuredData;
using OpenSim.Framework;
using OpenSim.Framework.Capabilities;
using OpenSim.Region.Framework.Interfaces;
using OpenSim.Framework.Servers.HttpServer;
using OpenSim.Services.Interfaces;
using Caps = OpenSim.Framework.Capabilities.Caps;
namespace OpenSim.Capabilities.Handlers
{
public class WebFetchInvDescHandler
{
private static readonly ILog m_log =
LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private IInventoryService m_InventoryService;
private ILibraryService m_LibraryService;
// private object m_fetchLock = new Object();
public WebFetchInvDescHandler(IInventoryService invService, ILibraryService libService)
{
m_InventoryService = invService;
m_LibraryService = libService;
}
public string FetchInventoryDescendentsRequest(string request, string path, string param, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{
// lock (m_fetchLock)
// {
// m_log.DebugFormat("[WEB FETCH INV DESC HANDLER]: Received request {0}", request);
// nasty temporary hack here, the linden client falsely
// identifies the uuid 00000000-0000-0000-0000-000000000000
// as a string which breaks us
//
// correctly mark it as a uuid
//
request = request.Replace("<string>00000000-0000-0000-0000-000000000000</string>", "<uuid>00000000-0000-0000-0000-000000000000</uuid>");
// another hack <integer>1</integer> results in a
// System.ArgumentException: Object type System.Int32 cannot
// be converted to target type: System.Boolean
//
request = request.Replace("<key>fetch_folders</key><integer>0</integer>", "<key>fetch_folders</key><boolean>0</boolean>");
request = request.Replace("<key>fetch_folders</key><integer>1</integer>", "<key>fetch_folders</key><boolean>1</boolean>");
Hashtable hash = new Hashtable();
try
{
hash = (Hashtable)LLSD.LLSDDeserialize(Utils.StringToBytes(request));
}
catch (LLSD.LLSDParseException e)
{
m_log.ErrorFormat("[WEB FETCH INV DESC HANDLER]: Fetch error: {0}{1}" + e.Message, e.StackTrace);
m_log.Error("Request: " + request);
}
ArrayList foldersrequested = (ArrayList)hash["folders"];
string response = "";
for (int i = 0; i < foldersrequested.Count; i++)
{
string inventoryitemstr = "";
Hashtable inventoryhash = (Hashtable)foldersrequested[i];
LLSDFetchInventoryDescendents llsdRequest = new LLSDFetchInventoryDescendents();
try
{
LLSDHelpers.DeserialiseOSDMap(inventoryhash, llsdRequest);
}
catch (Exception e)
{
m_log.Debug("[WEB FETCH INV DESC HANDLER]: caught exception doing OSD deserialize" + e);
}
LLSDInventoryDescendents reply = FetchInventoryReply(llsdRequest);
inventoryitemstr = LLSDHelpers.SerialiseLLSDReply(reply);
inventoryitemstr = inventoryitemstr.Replace("<llsd><map><key>folders</key><array>", "");
inventoryitemstr = inventoryitemstr.Replace("</array></map></llsd>", "");
response += inventoryitemstr;
}
if (response.Length == 0)
{
// Ter-guess: If requests fail a lot, the client seems to stop requesting descendants.
// Therefore, I'm concluding that the client only has so many threads available to do requests
// and when a thread stalls.. is stays stalled.
// Therefore we need to return something valid
response = "<llsd><map><key>folders</key><array /></map></llsd>";
}
else
{
response = "<llsd><map><key>folders</key><array>" + response + "</array></map></llsd>";
}
// m_log.DebugFormat("[WEB FETCH INV DESC HANDLER]: Replying to CAPS fetch inventory request");
//m_log.Debug("[WEB FETCH INV DESC HANDLER] "+response);
return response;
// }
}
/// <summary>
/// Construct an LLSD reply packet to a CAPS inventory request
/// </summary>
/// <param name="invFetch"></param>
/// <returns></returns>
private LLSDInventoryDescendents FetchInventoryReply(LLSDFetchInventoryDescendents invFetch)
{
LLSDInventoryDescendents reply = new LLSDInventoryDescendents();
LLSDInventoryFolderContents contents = new LLSDInventoryFolderContents();
contents.agent_id = invFetch.owner_id;
contents.owner_id = invFetch.owner_id;
contents.folder_id = invFetch.folder_id;
reply.folders.Array.Add(contents);
InventoryCollection inv = new InventoryCollection();
inv.Folders = new List<InventoryFolderBase>();
inv.Items = new List<InventoryItemBase>();
int version = 0;
inv
= Fetch(
invFetch.owner_id, invFetch.folder_id, invFetch.owner_id,
invFetch.fetch_folders, invFetch.fetch_items, invFetch.sort_order, out version);
if (inv != null && inv.Folders != null)
{
foreach (InventoryFolderBase invFolder in inv.Folders)
{
contents.categories.Array.Add(ConvertInventoryFolder(invFolder));
}
}
if (inv != null && inv.Items != null)
{
foreach (InventoryItemBase invItem in inv.Items)
{
contents.items.Array.Add(ConvertInventoryItem(invItem));
}
}
contents.descendents = contents.items.Array.Count + contents.categories.Array.Count;
contents.version = version;
// m_log.DebugFormat(
// "[WEB FETCH INV DESC HANDLER]: Replying to request for folder {0} (fetch items {1}, fetch folders {2}) with {3} items and {4} folders for agent {5}",
// invFetch.folder_id,
// invFetch.fetch_items,
// invFetch.fetch_folders,
// contents.items.Array.Count,
// contents.categories.Array.Count,
// invFetch.owner_id);
return reply;
}
/// <summary>
/// Handle the caps inventory descendents fetch.
/// </summary>
/// <param name="agentID"></param>
/// <param name="folderID"></param>
/// <param name="ownerID"></param>
/// <param name="fetchFolders"></param>
/// <param name="fetchItems"></param>
/// <param name="sortOrder"></param>
/// <param name="version"></param>
/// <returns>An empty InventoryCollection if the inventory look up failed</returns>
private InventoryCollection Fetch(
UUID agentID, UUID folderID, UUID ownerID,
bool fetchFolders, bool fetchItems, int sortOrder, out int version)
{
// m_log.DebugFormat(
// "[WEB FETCH INV DESC HANDLER]: Fetching folders ({0}), items ({1}) from {2} for agent {3}",
// fetchFolders, fetchItems, folderID, agentID);
// FIXME MAYBE: We're not handling sortOrder!
version = 0;
InventoryFolderImpl fold;
if (m_LibraryService != null && m_LibraryService.LibraryRootFolder != null && agentID == m_LibraryService.LibraryRootFolder.Owner)
{
if ((fold = m_LibraryService.LibraryRootFolder.FindFolder(folderID)) != null)
{
InventoryCollection ret = new InventoryCollection();
ret.Folders = new List<InventoryFolderBase>();
ret.Items = fold.RequestListOfItems();
return ret;
}
}
InventoryCollection contents = new InventoryCollection();
if (folderID != UUID.Zero)
{
contents = m_InventoryService.GetFolderContent(agentID, folderID);
InventoryFolderBase containingFolder = new InventoryFolderBase();
containingFolder.ID = folderID;
containingFolder.Owner = agentID;
containingFolder = m_InventoryService.GetFolder(containingFolder);
if (containingFolder != null)
{
// m_log.DebugFormat(
// "[WEB FETCH INV DESC HANDLER]: Retrieved folder {0} {1} for agent id {2}",
// containingFolder.Name, containingFolder.ID, agentID);
version = containingFolder.Version;
// if (fetchItems)
// {
// List<InventoryItemBase> linkedItemsToAdd = new List<InventoryItemBase>();
//
// foreach (InventoryItemBase item in contents.Items)
// {
// if (item.AssetType == (int)AssetType.Link)
// {
// InventoryItemBase linkedItem = m_InventoryService.GetItem(new InventoryItemBase(item.AssetID));
//
// // Take care of genuinely broken links where the target doesn't exist
// // HACK: Also, don't follow up links that just point to other links. In theory this is legitimate,
// // but no viewer has been observed to set these up and this is the lazy way of avoiding cycles
// // rather than having to keep track of every folder requested in the recursion.
// if (linkedItem != null && linkedItem.AssetType != (int)AssetType.Link)
// linkedItemsToAdd.Insert(0, linkedItem);
// }
// }
//
// foreach (InventoryItemBase linkedItem in linkedItemsToAdd)
// {
// m_log.DebugFormat(
// "[WEB FETCH INV DESC HANDLER]: Inserted linked item {0} for link in folder {1} for agent {2}",
// linkedItem.Name, folderID, agentID);
//
// contents.Items.Add(linkedItem);
// }
//
// // If the folder requested contains links, then we need to send those folders first, otherwise the links
// // will be broken in the viewer.
// HashSet<UUID> linkedItemFolderIdsToSend = new HashSet<UUID>();
// foreach (InventoryItemBase item in contents.Items)
// {
// if (item.AssetType == (int)AssetType.Link)
// {
// InventoryItemBase linkedItem = m_InventoryService.GetItem(new InventoryItemBase(item.AssetID));
//
// // Take care of genuinely broken links where the target doesn't exist
// // HACK: Also, don't follow up links that just point to other links. In theory this is legitimate,
// // but no viewer has been observed to set these up and this is the lazy way of avoiding cycles
// // rather than having to keep track of every folder requested in the recursion.
// if (linkedItem != null && linkedItem.AssetType != (int)AssetType.Link)
// {
// // We don't need to send the folder if source and destination of the link are in the same
// // folder.
// if (linkedItem.Folder != containingFolder.ID)
// linkedItemFolderIdsToSend.Add(linkedItem.Folder);
// }
// }
// }
//
// foreach (UUID linkedItemFolderId in linkedItemFolderIdsToSend)
// {
// m_log.DebugFormat(
// "[WEB FETCH INV DESC HANDLER]: Recursively fetching folder {0} linked by item in folder {1} for agent {2}",
// linkedItemFolderId, folderID, agentID);
//
// int dummyVersion;
// InventoryCollection linkedCollection
// = Fetch(
// agentID, linkedItemFolderId, ownerID, fetchFolders, fetchItems, sortOrder, out dummyVersion);
//
// InventoryFolderBase linkedFolder = new InventoryFolderBase(linkedItemFolderId);
// linkedFolder.Owner = agentID;
// linkedFolder = m_InventoryService.GetFolder(linkedFolder);
//
//// contents.Folders.AddRange(linkedCollection.Folders);
//
// contents.Folders.Add(linkedFolder);
// contents.Items.AddRange(linkedCollection.Items);
// }
// }
}
}
else
{
// Lost items don't really need a version
version = 1;
}
return contents;
}
/// <summary>
/// Convert an internal inventory folder object into an LLSD object.
/// </summary>
/// <param name="invFolder"></param>
/// <returns></returns>
private LLSDInventoryFolder ConvertInventoryFolder(InventoryFolderBase invFolder)
{
LLSDInventoryFolder llsdFolder = new LLSDInventoryFolder();
llsdFolder.folder_id = invFolder.ID;
llsdFolder.parent_id = invFolder.ParentID;
llsdFolder.name = invFolder.Name;
if (invFolder.Type == (short)AssetType.Unknown || !Enum.IsDefined(typeof(AssetType), (sbyte)invFolder.Type))
llsdFolder.type = "-1";
else
llsdFolder.type = Utils.AssetTypeToString((AssetType)invFolder.Type);
llsdFolder.preferred_type = "-1";
return llsdFolder;
}
/// <summary>
/// Convert an internal inventory item object into an LLSD object.
/// </summary>
/// <param name="invItem"></param>
/// <returns></returns>
private LLSDInventoryItem ConvertInventoryItem(InventoryItemBase invItem)
{
LLSDInventoryItem llsdItem = new LLSDInventoryItem();
llsdItem.asset_id = invItem.AssetID;
llsdItem.created_at = invItem.CreationDate;
llsdItem.desc = invItem.Description;
llsdItem.flags = (int)invItem.Flags;
llsdItem.item_id = invItem.ID;
llsdItem.name = invItem.Name;
llsdItem.parent_id = invItem.Folder;
try
{
llsdItem.type = Utils.AssetTypeToString((AssetType)invItem.AssetType);
llsdItem.inv_type = Utils.InventoryTypeToString((InventoryType)invItem.InvType);
}
catch (Exception e)
{
m_log.ErrorFormat(
"[WEB FETCH INV DESC HANDLER]: Problem setting asset {0} inventory {1} types while converting inventory item {2}: {3}",
invItem.AssetType, invItem.InvType, invItem.Name, e.Message);
}
llsdItem.permissions = new LLSDPermissions();
llsdItem.permissions.creator_id = invItem.CreatorIdAsUuid;
llsdItem.permissions.base_mask = (int)invItem.CurrentPermissions;
llsdItem.permissions.everyone_mask = (int)invItem.EveryOnePermissions;
llsdItem.permissions.group_id = invItem.GroupID;
llsdItem.permissions.group_mask = (int)invItem.GroupPermissions;
llsdItem.permissions.is_owner_group = invItem.GroupOwned;
llsdItem.permissions.next_owner_mask = (int)invItem.NextPermissions;
llsdItem.permissions.owner_id = invItem.Owner;
llsdItem.permissions.owner_mask = (int)invItem.CurrentPermissions;
llsdItem.sale_info = new LLSDSaleInfo();
llsdItem.sale_info.sale_price = invItem.SalePrice;
switch (invItem.SaleType)
{
default:
llsdItem.sale_info.sale_type = "not";
break;
case 1:
llsdItem.sale_info.sale_type = "original";
break;
case 2:
llsdItem.sale_info.sale_type = "copy";
break;
case 3:
llsdItem.sale_info.sale_type = "contents";
break;
}
return llsdItem;
}
}
}
@@ -0,0 +1,76 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using Nini.Config;
using OpenSim.Server.Base;
using OpenSim.Services.Interfaces;
using OpenSim.Framework.Servers.HttpServer;
using OpenSim.Server.Handlers.Base;
using OpenMetaverse;
namespace OpenSim.Capabilities.Handlers
{
public class WebFetchInvDescServerConnector : ServiceConnector
{
private IInventoryService m_InventoryService;
private ILibraryService m_LibraryService;
private string m_ConfigName = "CapsService";
public WebFetchInvDescServerConnector(IConfigSource config, IHttpServer server, string configName) :
base(config, server, configName)
{
if (configName != String.Empty)
m_ConfigName = configName;
IConfig serverConfig = config.Configs[m_ConfigName];
if (serverConfig == null)
throw new Exception(String.Format("No section '{0}' in config file", m_ConfigName));
string invService = serverConfig.GetString("InventoryService", String.Empty);
if (invService == String.Empty)
throw new Exception("No InventoryService in config file");
Object[] args = new Object[] { config };
m_InventoryService =
ServerUtils.LoadPlugin<IInventoryService>(invService, args);
if (m_InventoryService == null)
throw new Exception(String.Format("Failed to load InventoryService from {0}; config is {1}", invService, m_ConfigName));
string libService = serverConfig.GetString("LibraryService", String.Empty);
m_LibraryService =
ServerUtils.LoadPlugin<ILibraryService>(libService, args);
WebFetchInvDescHandler webFetchHandler = new WebFetchInvDescHandler(m_InventoryService, m_LibraryService);
IRequestHandler reqHandler = new RestStreamHandler("POST", "/CAPS/WebFetchInvDesc/" /*+ UUID.Random()*/, webFetchHandler.FetchInventoryDescendentsRequest);
server.AddStreamHandler(reqHandler);
}
}
}
@@ -39,4 +39,18 @@ namespace OpenSim.Framework.Capabilities
{
}
}
[OSDMap]
public class LLSDNewFileAngentInventoryVariablePriceReplyResponse
{
public int resource_cost;
public string state;
public int upload_price;
public string rsvp;
public LLSDNewFileAngentInventoryVariablePriceReplyResponse()
{
state = "confirm_upload";
}
}
}
@@ -95,4 +95,11 @@ namespace OpenSim.Framework.Capabilities
public UUID owner_id;
public int version;
}
}
[OSDMap]
public class LLSDFetchInventory
{
public UUID agent_id;
public OSDArray items = new OSDArray();
}
}
@@ -45,7 +45,7 @@ namespace OpenSim.Framework.Capabilities
}
public override byte[] Handle(string path, Stream request,
OSHttpRequest httpRequest, OSHttpResponse httpResponse)
IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{
//Encoding encoding = Util.UTF8;
//StreamReader streamReader = new StreamReader(request, false);
@@ -1,13 +0,0 @@
<Addin id="OpenSim.Client.Linden.LindenModules" version="0.2">
<Runtime>
<Import assembly="OpenSim.Client.Linden.dll"/>
</Runtime>
<Dependencies>
<Addin id="OpenSim" version="0.5" />
</Dependencies>
<Extension path = "/OpenSim/RegionModules">
<RegionModule id="LLClientStackModule" type="OpenSim.Client.Linden.LLClientStackModule" />
</Extension>
</Addin>
File diff suppressed because it is too large Load Diff
-131
View File
@@ -1,131 +0,0 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections.Generic;
using System.Reflection;
using System.Text;
using System.Timers;
using log4net;
using MXP;
using Nini.Config;
using OpenMetaverse;
using OpenSim.Client.MXP.PacketHandler;
using OpenSim.Region.Framework.Interfaces;
using OpenSim.Region.Framework.Scenes;
namespace OpenSim.Client.MXP
{
/**
* MXP Client Module which adds MXP support to client / region communication.
*/
public class MXPModule : IRegionModule
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private MXPPacketServer m_server;
private IConfigSource m_config;
private int m_port = 1253;
private Timer m_ticker;
private readonly Dictionary<UUID, Scene> m_scenes = new Dictionary<UUID, Scene>();
private bool m_shutdown;
public void Initialise(Scene scene, IConfigSource source)
{
if (!m_scenes.ContainsKey(scene.RegionInfo.RegionID))
m_scenes.Add(scene.RegionInfo.RegionID, scene);
m_config = source;
}
public void PostInitialise()
{
if (m_config.Configs["MXP"] != null)
{
IConfig con = m_config.Configs["MXP"];
if (!con.GetBoolean("Enabled", false))
return;
m_port = con.GetInt("Port", m_port);
m_server = new MXPPacketServer(m_port, m_scenes,m_config.Configs["StandAlone"].GetBoolean("accounts_authenticate",true));
m_ticker = new Timer(100);
m_ticker.AutoReset = false;
m_ticker.Elapsed += ticker_Elapsed;
lock (m_ticker)
m_ticker.Start();
m_log.Info("[MXP ClientStack] MXP Enabled and Listening");
}
}
void ticker_Elapsed(object sender, ElapsedEventArgs e)
{
try
{
m_server.Process();
}
catch (Exception ex)
{
m_log.Error("[MXP ClientStack]: Unhandled exception in process loop: " + ex.ToString() + " :" + ex.StackTrace.ToString());
}
if (!m_shutdown)
{
lock (m_ticker)
m_ticker.Start();
}
}
public void Close()
{
m_shutdown = true;
if (m_ticker != null)
{
lock (m_ticker)
m_ticker.Stop();
}
}
public string Name
{
get { return "MXP ClientStack Module"; }
}
public bool IsSharedModule
{
get { return true; }
}
}
}
@@ -1,564 +0,0 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/* This file borrows heavily from MXPServer.cs - the reference MXPServer
* See http://www.bubblecloud.org for a copy of the original file and
* implementation details. */
using System;
using System.Collections.Generic;
using System.Reflection;
using System.Threading;
using log4net;
using MXP;
using MXP.Messages;
using OpenMetaverse;
using OpenSim.Client.MXP.ClientStack;
using OpenSim.Framework;
using OpenSim.Region.Framework.Scenes;
using OpenSim.Framework.Communications;
using OpenSim.Services.Interfaces;
using System.Security.Cryptography;
namespace OpenSim.Client.MXP.PacketHandler
{
public class MXPPacketServer
{
internal static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
#region Fields
private readonly List<MXPClientView> m_clients = new List<MXPClientView>();
private readonly Dictionary<UUID, Scene> m_scenes;
private readonly Transmitter m_transmitter;
// private readonly Thread m_clientThread;
private readonly IList<Session> m_sessions = new List<Session>();
private readonly IList<Session> m_sessionsToClient = new List<Session>();
private readonly IList<MXPClientView> m_sessionsToRemove = new List<MXPClientView>();
private readonly int m_port;
private readonly bool m_accountsAuthenticate;
private readonly String m_programName;
private readonly byte m_programMajorVersion;
private readonly byte m_programMinorVersion;
#endregion
#region Constructors
public MXPPacketServer(int port, Dictionary<UUID, Scene> scenes, bool accountsAuthenticate)
{
m_port = port;
m_accountsAuthenticate = accountsAuthenticate;
m_scenes = scenes;
m_programMinorVersion = 63;
m_programMajorVersion = 0;
m_programName = "OpenSimulator";
m_transmitter = new Transmitter(port);
StartListener();
}
public void StartListener()
{
m_log.Info("[MXP ClientStack] Transmitter starting on UDP server port: " + m_port);
m_transmitter.Startup();
m_log.Info("[MXP ClientStack] Transmitter started. MXP version: "+MxpConstants.ProtocolMajorVersion+"."+MxpConstants.ProtocolMinorVersion+" Source Revision: "+MxpConstants.ProtocolSourceRevision);
}
#endregion
#region Properties
/// <summary>
/// Number of sessions pending. (Process() accepts pending sessions).
/// </summary>
public int PendingSessionCount
{
get
{
return m_transmitter.PendingSessionCount;
}
}
/// <summary>
/// Number of connected sessions.
/// </summary>
public int SessionCount
{
get
{
return m_sessions.Count;
}
}
/// <summary>
/// Property reflecting whether client transmitter threads are alive.
/// </summary>
public bool IsTransmitterAlive
{
get
{
return m_transmitter != null && m_transmitter.IsAlive;
}
}
/// <summary>
/// Number of packets sent.
/// </summary>
public ulong PacketsSent
{
get
{
return m_transmitter != null ? m_transmitter.PacketsSent : 0;
}
}
/// <summary>
/// Number of packets received.
/// </summary>
public ulong PacketsReceived
{
get
{
return m_transmitter != null ? m_transmitter.PacketsReceived : 0;
}
}
/// <summary>
/// Bytes client has received so far.
/// </summary>
public ulong BytesReceived
{
get
{
return m_transmitter != null ? m_transmitter.BytesReceived : 0;
}
}
/// <summary>
/// Bytes client has sent so far.
/// </summary>
public ulong BytesSent
{
get
{
return m_transmitter != null ? m_transmitter.BytesSent : 0;
}
}
/// <summary>
/// Number of bytes received (bytes per second) during past second.
/// </summary>
public double ReceiveRate
{
get
{
return m_transmitter != null ? m_transmitter.ReceiveRate : 0;
}
}
/// <summary>
/// Number of bytes sent (bytes per second) during past second.
/// </summary>
public double SendRate
{
get
{
return m_transmitter != null ? m_transmitter.SendRate : 0;
}
}
#endregion
#region Session Management
public void Disconnect(Session session)
{
if (session.IsConnected)
{
Message message = MessageFactory.Current.ReserveMessage(typeof(LeaveRequestMessage));
session.Send(message);
MessageFactory.Current.ReleaseMessage(message);
}
else
{
throw new Exception("Not connected.");
}
}
#endregion
#region Processing
public void Process()
{
ProcessMessages();
Clean();
}
public void Clean()
{
foreach (MXPClientView clientView in m_clients)
{
if (clientView.Session.SessionState == SessionState.Disconnected)
{
m_sessionsToRemove.Add(clientView);
}
}
foreach (MXPClientView clientView in m_sessionsToRemove)
{
clientView.Scene.RemoveClient(clientView.AgentId);
clientView.OnClean();
m_clients.Remove(clientView);
m_sessions.Remove(clientView.Session);
}
m_sessionsToRemove.Clear();
}
public void ProcessMessages()
{
if (m_transmitter.PendingSessionCount > 0)
{
Session tmp = m_transmitter.AcceptPendingSession();
m_sessions.Add(tmp);
m_sessionsToClient.Add(tmp);
}
List<Session> tmpRemove = new List<Session>();
foreach (Session session in m_sessionsToClient)
{
while (session.AvailableMessages > 0)
{
Message message = session.Receive();
if (message.GetType() == typeof (JoinRequestMessage))
{
JoinRequestMessage joinRequestMessage = (JoinRequestMessage) message;
m_log.Info("[MXP ClientStack]: Session join request: " + session.SessionId + " (" +
(session.IsIncoming ? "from" : "to") + " " + session.RemoteEndPoint.Address + ":" +
session.RemoteEndPoint.Port + ")");
try
{
if (joinRequestMessage.BubbleId == Guid.Empty)
{
foreach (Scene scene in m_scenes.Values)
{
if (scene.RegionInfo.RegionName == joinRequestMessage.BubbleName)
{
m_log.Info("[MXP ClientStack]: Resolved region by name: " + joinRequestMessage.BubbleName + " (" + scene.RegionInfo.RegionID + ")");
joinRequestMessage.BubbleId = scene.RegionInfo.RegionID.Guid;
}
}
}
if (joinRequestMessage.BubbleId == Guid.Empty)
{
m_log.Warn("[MXP ClientStack]: Failed to resolve region by name: " + joinRequestMessage.BubbleName);
}
UUID sceneId = new UUID(joinRequestMessage.BubbleId);
bool regionExists = true;
if (!m_scenes.ContainsKey(sceneId))
{
m_log.Info("[MXP ClientStack]: No such region: " + sceneId);
regionExists = false;
}
UUID userId = UUID.Zero;
UserAccount account = null;
bool authorized = regionExists ? AuthoriseUser(joinRequestMessage.ParticipantName,
joinRequestMessage.ParticipantPassphrase,
new UUID(joinRequestMessage.BubbleId), out account)
: false;
if (authorized)
{
Scene scene = m_scenes[sceneId];
UUID mxpSessionID = UUID.Random();
string reason;
m_log.Debug("[MXP ClientStack]: Session join request success: " + session.SessionId + " (" +
(session.IsIncoming ? "from" : "to") + " " + session.RemoteEndPoint.Address + ":" +
session.RemoteEndPoint.Port + ")");
m_log.Debug("[MXP ClientStack]: Attaching UserAgent to UserProfile...");
UUID secureSession = UUID.Zero;
AttachUserAgentToUserProfile(account, session, mxpSessionID, sceneId, out secureSession);
m_log.Debug("[MXP ClientStack]: Attached UserAgent to UserProfile.");
m_log.Debug("[MXP ClientStack]: Preparing Scene to Connection...");
if (!PrepareSceneForConnection(mxpSessionID, secureSession, sceneId, account, out reason))
{
m_log.DebugFormat("[MXP ClientStack]: Scene refused connection: {0}", reason);
DeclineConnection(session, joinRequestMessage);
tmpRemove.Add(session);
continue;
}
m_log.Debug("[MXP ClientStack]: Prepared Scene to Connection.");
m_log.Debug("[MXP ClientStack]: Accepting connection...");
AcceptConnection(session, joinRequestMessage, mxpSessionID, userId);
m_log.Info("[MXP ClientStack]: Accepted connection.");
m_log.Debug("[MXP ClientStack]: Creating ClientView....");
MXPClientView client = new MXPClientView(session, mxpSessionID, userId, scene, account.FirstName, account.LastName);
m_clients.Add(client);
m_log.Debug("[MXP ClientStack]: Created ClientView.");
client.MXPSendSynchronizationBegin(m_scenes[new UUID(joinRequestMessage.BubbleId)].SceneContents.GetTotalObjectsCount());
m_log.Debug("[MXP ClientStack]: Starting ClientView...");
try
{
client.Start();
m_log.Debug("[MXP ClientStack]: Started ClientView.");
}
catch (Exception e)
{
m_log.Error(e);
}
m_log.Debug("[MXP ClientStack]: Connected");
}
else
{
m_log.Info("[MXP ClientStack]: Session join request failure: " + session.SessionId + " (" +
(session.IsIncoming ? "from" : "to") + " " + session.RemoteEndPoint.Address + ":" +
session.RemoteEndPoint.Port + ")");
DeclineConnection(session, joinRequestMessage);
}
}
catch (Exception e)
{
m_log.Error("[MXP ClientStack]: Session join request failure: " + session.SessionId + " (" +
(session.IsIncoming ? "from" : "to") + " " + session.RemoteEndPoint.Address + ":" +
session.RemoteEndPoint.Port + "): "+e.ToString()+" :"+e.StackTrace.ToString());
}
tmpRemove.Add(session);
}
}
}
foreach (Session session in tmpRemove)
{
m_sessionsToClient.Remove(session);
}
foreach (MXPClientView clientView in m_clients)
{
int messagesProcessedCount = 0;
Session session = clientView.Session;
while (session.AvailableMessages > 0)
{
Message message = session.Receive();
if (message.GetType() == typeof(LeaveRequestMessage))
{
LeaveResponseMessage leaveResponseMessage = (LeaveResponseMessage)MessageFactory.Current.ReserveMessage(
typeof(LeaveResponseMessage));
m_log.Debug("[MXP ClientStack]: Session leave request: " + session.SessionId + " (" + (session.IsIncoming ? "from" : "to") + " " + session.RemoteEndPoint.Address + ":" + session.RemoteEndPoint.Port + ")");
leaveResponseMessage.RequestMessageId = message.MessageId;
leaveResponseMessage.FailureCode = 0;
session.Send(leaveResponseMessage);
if (session.SessionState != SessionState.Disconnected)
{
session.SetStateDisconnected();
}
m_log.Debug("[MXP ClientStack]: Removing Client from Scene");
//clientView.Scene.RemoveClient(clientView.AgentId);
}
if (message.GetType() == typeof(LeaveResponseMessage))
{
LeaveResponseMessage leaveResponseMessage = (LeaveResponseMessage)message;
m_log.Debug("[MXP ClientStack]: Session leave response: " + session.SessionId + " (" + (session.IsIncoming ? "from" : "to") + " " + session.RemoteEndPoint.Address + ":" + session.RemoteEndPoint.Port + ")");
if (leaveResponseMessage.FailureCode == 0)
{
session.SetStateDisconnected();
}
m_log.Debug("[MXP ClientStack]: Removing Client from Scene");
//clientView.Scene.RemoveClient(clientView.AgentId);
}
else
{
clientView.MXPPRocessMessage(message);
}
MessageFactory.Current.ReleaseMessage(message);
messagesProcessedCount++;
if (messagesProcessedCount > 1000)
{
break;
}
}
}
}
private void AcceptConnection(Session session, JoinRequestMessage joinRequestMessage, UUID mxpSessionID, UUID userId)
{
JoinResponseMessage joinResponseMessage = (JoinResponseMessage)MessageFactory.Current.ReserveMessage(
typeof(JoinResponseMessage));
joinResponseMessage.RequestMessageId = joinRequestMessage.MessageId;
joinResponseMessage.FailureCode = MxpResponseCodes.SUCCESS;
joinResponseMessage.BubbleId = joinRequestMessage.BubbleId;
joinResponseMessage.ParticipantId = userId.Guid;
joinResponseMessage.AvatarId = userId.Guid;
joinResponseMessage.BubbleAssetCacheUrl = "http://" +
NetworkUtil.GetHostFor(session.RemoteEndPoint.Address,
m_scenes[
new UUID(joinRequestMessage.BubbleId)].
RegionInfo.
ExternalHostName) + ":" +
m_scenes[new UUID(joinRequestMessage.BubbleId)].RegionInfo.
HttpPort + "/assets/";
joinResponseMessage.BubbleName = m_scenes[new UUID(joinRequestMessage.BubbleId)].RegionInfo.RegionName;
joinResponseMessage.BubbleRange = 128;
joinResponseMessage.BubblePerceptionRange = 128 + 256;
joinResponseMessage.BubbleRealTime = 0;
joinResponseMessage.ProgramName = m_programName;
joinResponseMessage.ProgramMajorVersion = m_programMajorVersion;
joinResponseMessage.ProgramMinorVersion = m_programMinorVersion;
joinResponseMessage.ProtocolMajorVersion = MxpConstants.ProtocolMajorVersion;
joinResponseMessage.ProtocolMinorVersion = MxpConstants.ProtocolMinorVersion;
joinResponseMessage.ProtocolSourceRevision = MxpConstants.ProtocolSourceRevision;
session.Send(joinResponseMessage);
session.SetStateConnected();
}
private void DeclineConnection(Session session, Message joinRequestMessage)
{
JoinResponseMessage joinResponseMessage = (JoinResponseMessage)MessageFactory.Current.ReserveMessage(typeof(JoinResponseMessage));
joinResponseMessage.RequestMessageId = joinRequestMessage.MessageId;
joinResponseMessage.FailureCode = MxpResponseCodes.UNAUTHORIZED_OPERATION;
joinResponseMessage.ProgramName = m_programName;
joinResponseMessage.ProgramMajorVersion = m_programMajorVersion;
joinResponseMessage.ProgramMinorVersion = m_programMinorVersion;
joinResponseMessage.ProtocolMajorVersion = MxpConstants.ProtocolMajorVersion;
joinResponseMessage.ProtocolMinorVersion = MxpConstants.ProtocolMinorVersion;
joinResponseMessage.ProtocolSourceRevision = MxpConstants.ProtocolSourceRevision;
session.Send(joinResponseMessage);
session.SetStateDisconnected();
}
public bool AuthoriseUser(string participantName, string password, UUID sceneId, out UserAccount account)
{
UUID userId = UUID.Zero;
string firstName = "";
string lastName = "";
account = null;
string[] nameParts = participantName.Split(' ');
if (nameParts.Length != 2)
{
m_log.Error("[MXP ClientStack]: Login failed as user name is not formed of first and last name separated by space: " + participantName);
return false;
}
firstName = nameParts[0];
lastName = nameParts[1];
account = m_scenes[sceneId].UserAccountService.GetUserAccount(m_scenes[sceneId].RegionInfo.ScopeID, firstName, lastName);
if (account != null)
return (m_scenes[sceneId].AuthenticationService.Authenticate(account.PrincipalID, password, 1) != string.Empty);
return false;
}
private void AttachUserAgentToUserProfile(UserAccount account, Session session, UUID sessionId, UUID sceneId, out UUID secureSessionId)
{
secureSessionId = UUID.Random();
Scene scene = m_scenes[sceneId];
scene.PresenceService.LoginAgent(account.PrincipalID.ToString(), sessionId, secureSessionId);
}
private bool PrepareSceneForConnection(UUID sessionId, UUID secureSessionId, UUID sceneId, UserAccount account, out string reason)
{
Scene scene = m_scenes[sceneId];
AgentCircuitData agent = new AgentCircuitData();
agent.AgentID = account.PrincipalID;
agent.firstname = account.FirstName;
agent.lastname = account.LastName;
agent.SessionID = sessionId;
agent.SecureSessionID = secureSessionId;
agent.circuitcode = sessionId.CRC();
agent.BaseFolder = UUID.Zero;
agent.InventoryFolder = UUID.Zero;
agent.startpos = new Vector3(0, 0, 0); // TODO Fill in region start position
agent.CapsPath = "http://localhost/";
AvatarData avatar = scene.AvatarService.GetAvatar(account.PrincipalID);
if (avatar != null)
agent.Appearance = avatar.ToAvatarAppearance(account.PrincipalID); //userService.GetUserAppearance(userProfile.ID);
if (agent.Appearance == null)
{
m_log.WarnFormat("[INTER]: Appearance not found for {0} {1}. Creating default.", agent.firstname, agent.lastname);
agent.Appearance = new AvatarAppearance();
}
return scene.NewUserConnection(agent, 0, out reason);
}
public void PrintDebugInformation()
{
m_log.Info("[MXP ClientStack]: Statistics report");
m_log.Info("Pending Sessions: " + PendingSessionCount);
m_log.Info("Sessions: " + SessionCount + " (Clients: " + m_clients.Count + " )");
m_log.Info("Transmitter Alive?: " + IsTransmitterAlive);
m_log.Info("Packets Sent/Received: " + PacketsSent + " / " + PacketsReceived);
m_log.Info("Bytes Sent/Received: " + BytesSent + " / " + BytesReceived);
m_log.Info("Send/Receive Rate (bps): " + SendRate + " / " + ReceiveRate);
}
#endregion
}
}
File diff suppressed because it is too large Load Diff
@@ -1,630 +0,0 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
using pb = global::Google.ProtocolBuffers;
using pbc = global::Google.ProtocolBuffers.Collections;
using pbd = global::Google.ProtocolBuffers.Descriptors;
using scg = global::System.Collections.Generic;
namespace Sirikata.Protocol._PBJ_Internal {
public static partial class MessageHeader {
#region Extension registration
public static void RegisterAllExtensions(pb::ExtensionRegistry registry) {
}
#endregion
#region Static variables
internal static pbd::MessageDescriptor internal__static_Sirikata_Protocol__PBJ_Internal_Header__Descriptor;
internal static pb::FieldAccess.FieldAccessorTable<global::Sirikata.Protocol._PBJ_Internal.Header, global::Sirikata.Protocol._PBJ_Internal.Header.Builder> internal__static_Sirikata_Protocol__PBJ_Internal_Header__FieldAccessorTable;
#endregion
#region Descriptor
public static pbd::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbd::FileDescriptor descriptor;
static MessageHeader() {
byte[] descriptorData = global::System.Convert.FromBase64String(
"ChNNZXNzYWdlSGVhZGVyLnByb3RvEh9TaXJpa2F0YS5Qcm90b2NvbC5fUEJK" +
"X0ludGVybmFsIooDCgZIZWFkZXISFQoNc291cmNlX29iamVjdBgBIAEoDBIT" +
"Cgtzb3VyY2VfcG9ydBgDIAEoDRIVCgxzb3VyY2Vfc3BhY2UYgAwgASgMEhoK" +
"EmRlc3RpbmF0aW9uX29iamVjdBgCIAEoDBIYChBkZXN0aW5hdGlvbl9wb3J0" +
"GAQgASgNEhoKEWRlc3RpbmF0aW9uX3NwYWNlGIEMIAEoDBIKCgJpZBgHIAEo" +
"AxIQCghyZXBseV9pZBgIIAEoAxJMCg1yZXR1cm5fc3RhdHVzGIAOIAEoDjI0" +
"LlNpcmlrYXRhLlByb3RvY29sLl9QQkpfSW50ZXJuYWwuSGVhZGVyLlJldHVy" +
"blN0YXR1cyJ/CgxSZXR1cm5TdGF0dXMSCwoHU1VDQ0VTUxAAEhMKD05FVFdP" +
"UktfRkFJTFVSRRABEhMKD1RJTUVPVVRfRkFJTFVSRRADEhIKDlBST1RPQ09M" +
"X0VSUk9SEAQSEAoMUE9SVF9GQUlMVVJFEAUSEgoOVU5LTk9XTl9PQkpFQ1QQ" +
"Bg==");
pbd::FileDescriptor.InternalDescriptorAssigner assigner = delegate(pbd::FileDescriptor root) {
descriptor = root;
internal__static_Sirikata_Protocol__PBJ_Internal_Header__Descriptor = Descriptor.MessageTypes[0];
internal__static_Sirikata_Protocol__PBJ_Internal_Header__FieldAccessorTable =
new pb::FieldAccess.FieldAccessorTable<global::Sirikata.Protocol._PBJ_Internal.Header, global::Sirikata.Protocol._PBJ_Internal.Header.Builder>(internal__static_Sirikata_Protocol__PBJ_Internal_Header__Descriptor,
new string[] { "SourceObject", "SourcePort", "SourceSpace", "DestinationObject", "DestinationPort", "DestinationSpace", "Id", "ReplyId", "ReturnStatus", });
return null;
};
pbd::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData,
new pbd::FileDescriptor[] {
}, assigner);
}
#endregion
}
#region Messages
public sealed partial class Header : pb::GeneratedMessage<Header, Header.Builder> {
private static readonly Header defaultInstance = new Builder().BuildPartial();
public static Header DefaultInstance {
get { return defaultInstance; }
}
public override Header DefaultInstanceForType {
get { return defaultInstance; }
}
protected override Header ThisMessage {
get { return this; }
}
public static pbd::MessageDescriptor Descriptor {
get { return global::Sirikata.Protocol._PBJ_Internal.MessageHeader.internal__static_Sirikata_Protocol__PBJ_Internal_Header__Descriptor; }
}
protected override pb::FieldAccess.FieldAccessorTable<Header, Header.Builder> InternalFieldAccessors {
get { return global::Sirikata.Protocol._PBJ_Internal.MessageHeader.internal__static_Sirikata_Protocol__PBJ_Internal_Header__FieldAccessorTable; }
}
#region Nested types
public static class Types {
public enum ReturnStatus {
SUCCESS = 0,
NETWORK_FAILURE = 1,
TIMEOUT_FAILURE = 3,
PROTOCOL_ERROR = 4,
PORT_FAILURE = 5,
UNKNOWN_OBJECT = 6,
}
}
#endregion
public const int SourceObjectFieldNumber = 1;
private bool hasSourceObject;
private pb::ByteString sourceObject_ = pb::ByteString.Empty;
public bool HasSourceObject {
get { return hasSourceObject; }
}
public pb::ByteString SourceObject {
get { return sourceObject_; }
}
public const int SourcePortFieldNumber = 3;
private bool hasSourcePort;
private uint sourcePort_ = 0;
public bool HasSourcePort {
get { return hasSourcePort; }
}
[global::System.CLSCompliant(false)]
public uint SourcePort {
get { return sourcePort_; }
}
public const int SourceSpaceFieldNumber = 1536;
private bool hasSourceSpace;
private pb::ByteString sourceSpace_ = pb::ByteString.Empty;
public bool HasSourceSpace {
get { return hasSourceSpace; }
}
public pb::ByteString SourceSpace {
get { return sourceSpace_; }
}
public const int DestinationObjectFieldNumber = 2;
private bool hasDestinationObject;
private pb::ByteString destinationObject_ = pb::ByteString.Empty;
public bool HasDestinationObject {
get { return hasDestinationObject; }
}
public pb::ByteString DestinationObject {
get { return destinationObject_; }
}
public const int DestinationPortFieldNumber = 4;
private bool hasDestinationPort;
private uint destinationPort_ = 0;
public bool HasDestinationPort {
get { return hasDestinationPort; }
}
[global::System.CLSCompliant(false)]
public uint DestinationPort {
get { return destinationPort_; }
}
public const int DestinationSpaceFieldNumber = 1537;
private bool hasDestinationSpace;
private pb::ByteString destinationSpace_ = pb::ByteString.Empty;
public bool HasDestinationSpace {
get { return hasDestinationSpace; }
}
public pb::ByteString DestinationSpace {
get { return destinationSpace_; }
}
public const int IdFieldNumber = 7;
private bool hasId;
private long id_ = 0L;
public bool HasId {
get { return hasId; }
}
public long Id {
get { return id_; }
}
public const int ReplyIdFieldNumber = 8;
private bool hasReplyId;
private long replyId_ = 0L;
public bool HasReplyId {
get { return hasReplyId; }
}
public long ReplyId {
get { return replyId_; }
}
public const int ReturnStatusFieldNumber = 1792;
private bool hasReturnStatus;
private global::Sirikata.Protocol._PBJ_Internal.Header.Types.ReturnStatus returnStatus_ = global::Sirikata.Protocol._PBJ_Internal.Header.Types.ReturnStatus.SUCCESS;
public bool HasReturnStatus {
get { return hasReturnStatus; }
}
public global::Sirikata.Protocol._PBJ_Internal.Header.Types.ReturnStatus ReturnStatus {
get { return returnStatus_; }
}
public override bool IsInitialized {
get {
return true;
}
}
public override void WriteTo(pb::CodedOutputStream output) {
if (HasSourceObject) {
output.WriteBytes(1, SourceObject);
}
if (HasDestinationObject) {
output.WriteBytes(2, DestinationObject);
}
if (HasSourcePort) {
output.WriteUInt32(3, SourcePort);
}
if (HasDestinationPort) {
output.WriteUInt32(4, DestinationPort);
}
if (HasId) {
output.WriteInt64(7, Id);
}
if (HasReplyId) {
output.WriteInt64(8, ReplyId);
}
if (HasSourceSpace) {
output.WriteBytes(1536, SourceSpace);
}
if (HasDestinationSpace) {
output.WriteBytes(1537, DestinationSpace);
}
if (HasReturnStatus) {
output.WriteEnum(1792, (int) ReturnStatus);
}
UnknownFields.WriteTo(output);
}
private int memoizedSerializedSize = -1;
public override int SerializedSize {
get {
int size = memoizedSerializedSize;
if (size != -1) return size;
size = 0;
if (HasSourceObject) {
size += pb::CodedOutputStream.ComputeBytesSize(1, SourceObject);
}
if (HasSourcePort) {
size += pb::CodedOutputStream.ComputeUInt32Size(3, SourcePort);
}
if (HasSourceSpace) {
size += pb::CodedOutputStream.ComputeBytesSize(1536, SourceSpace);
}
if (HasDestinationObject) {
size += pb::CodedOutputStream.ComputeBytesSize(2, DestinationObject);
}
if (HasDestinationPort) {
size += pb::CodedOutputStream.ComputeUInt32Size(4, DestinationPort);
}
if (HasDestinationSpace) {
size += pb::CodedOutputStream.ComputeBytesSize(1537, DestinationSpace);
}
if (HasId) {
size += pb::CodedOutputStream.ComputeInt64Size(7, Id);
}
if (HasReplyId) {
size += pb::CodedOutputStream.ComputeInt64Size(8, ReplyId);
}
if (HasReturnStatus) {
size += pb::CodedOutputStream.ComputeEnumSize(1792, (int) ReturnStatus);
}
size += UnknownFields.SerializedSize;
memoizedSerializedSize = size;
return size;
}
}
public static Header ParseFrom(pb::ByteString data) {
return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
}
public static Header ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
}
public static Header ParseFrom(byte[] data) {
return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
}
public static Header ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
}
public static Header ParseFrom(global::System.IO.Stream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
public static Header ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Header ParseDelimitedFrom(global::System.IO.Stream input) {
return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
}
public static Header ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
public static Header ParseFrom(pb::CodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
public static Header ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(Header prototype) {
return (Builder) new Builder().MergeFrom(prototype);
}
public sealed partial class Builder : pb::GeneratedBuilder<Header, Builder> {
protected override Builder ThisBuilder {
get { return this; }
}
public Builder() {}
Header result = new Header();
protected override Header MessageBeingBuilt {
get { return result; }
}
public override Builder Clear() {
result = new Header();
return this;
}
public override Builder Clone() {
return new Builder().MergeFrom(result);
}
public override pbd::MessageDescriptor DescriptorForType {
get { return global::Sirikata.Protocol._PBJ_Internal.Header.Descriptor; }
}
public override Header DefaultInstanceForType {
get { return global::Sirikata.Protocol._PBJ_Internal.Header.DefaultInstance; }
}
public override Header BuildPartial() {
if (result == null) {
throw new global::System.InvalidOperationException("build() has already been called on this Builder");
}
Header returnMe = result;
result = null;
return returnMe;
}
public override Builder MergeFrom(pb::IMessage other) {
if (other is Header) {
return MergeFrom((Header) other);
} else {
base.MergeFrom(other);
return this;
}
}
public override Builder MergeFrom(Header other) {
if (other == global::Sirikata.Protocol._PBJ_Internal.Header.DefaultInstance) return this;
if (other.HasSourceObject) {
SourceObject = other.SourceObject;
}
if (other.HasSourcePort) {
SourcePort = other.SourcePort;
}
if (other.HasSourceSpace) {
SourceSpace = other.SourceSpace;
}
if (other.HasDestinationObject) {
DestinationObject = other.DestinationObject;
}
if (other.HasDestinationPort) {
DestinationPort = other.DestinationPort;
}
if (other.HasDestinationSpace) {
DestinationSpace = other.DestinationSpace;
}
if (other.HasId) {
Id = other.Id;
}
if (other.HasReplyId) {
ReplyId = other.ReplyId;
}
if (other.HasReturnStatus) {
ReturnStatus = other.ReturnStatus;
}
this.MergeUnknownFields(other.UnknownFields);
return this;
}
public override Builder MergeFrom(pb::CodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
while (true) {
uint tag = input.ReadTag();
switch (tag) {
case 0: {
if (unknownFields != null) {
this.UnknownFields = unknownFields.Build();
}
return this;
}
default: {
if (pb::WireFormat.IsEndGroupTag(tag)) {
if (unknownFields != null) {
this.UnknownFields = unknownFields.Build();
}
return this;
}
if (unknownFields == null) {
unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
}
ParseUnknownField(input, unknownFields, extensionRegistry, tag);
break;
}
case 10: {
SourceObject = input.ReadBytes();
break;
}
case 18: {
DestinationObject = input.ReadBytes();
break;
}
case 24: {
SourcePort = input.ReadUInt32();
break;
}
case 32: {
DestinationPort = input.ReadUInt32();
break;
}
case 56: {
Id = input.ReadInt64();
break;
}
case 64: {
ReplyId = input.ReadInt64();
break;
}
case 12290: {
SourceSpace = input.ReadBytes();
break;
}
case 12298: {
DestinationSpace = input.ReadBytes();
break;
}
case 14336: {
int rawValue = input.ReadEnum();
if (!global::System.Enum.IsDefined(typeof(global::Sirikata.Protocol._PBJ_Internal.Header.Types.ReturnStatus), rawValue)) {
if (unknownFields == null) {
unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
}
unknownFields.MergeVarintField(1792, (ulong) rawValue);
} else {
ReturnStatus = (global::Sirikata.Protocol._PBJ_Internal.Header.Types.ReturnStatus) rawValue;
}
break;
}
}
}
}
public bool HasSourceObject {
get { return result.HasSourceObject; }
}
public pb::ByteString SourceObject {
get { return result.SourceObject; }
set { SetSourceObject(value); }
}
public Builder SetSourceObject(pb::ByteString value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
result.hasSourceObject = true;
result.sourceObject_ = value;
return this;
}
public Builder ClearSourceObject() {
result.hasSourceObject = false;
result.sourceObject_ = pb::ByteString.Empty;
return this;
}
public bool HasSourcePort {
get { return result.HasSourcePort; }
}
[global::System.CLSCompliant(false)]
public uint SourcePort {
get { return result.SourcePort; }
set { SetSourcePort(value); }
}
[global::System.CLSCompliant(false)]
public Builder SetSourcePort(uint value) {
result.hasSourcePort = true;
result.sourcePort_ = value;
return this;
}
public Builder ClearSourcePort() {
result.hasSourcePort = false;
result.sourcePort_ = 0;
return this;
}
public bool HasSourceSpace {
get { return result.HasSourceSpace; }
}
public pb::ByteString SourceSpace {
get { return result.SourceSpace; }
set { SetSourceSpace(value); }
}
public Builder SetSourceSpace(pb::ByteString value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
result.hasSourceSpace = true;
result.sourceSpace_ = value;
return this;
}
public Builder ClearSourceSpace() {
result.hasSourceSpace = false;
result.sourceSpace_ = pb::ByteString.Empty;
return this;
}
public bool HasDestinationObject {
get { return result.HasDestinationObject; }
}
public pb::ByteString DestinationObject {
get { return result.DestinationObject; }
set { SetDestinationObject(value); }
}
public Builder SetDestinationObject(pb::ByteString value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
result.hasDestinationObject = true;
result.destinationObject_ = value;
return this;
}
public Builder ClearDestinationObject() {
result.hasDestinationObject = false;
result.destinationObject_ = pb::ByteString.Empty;
return this;
}
public bool HasDestinationPort {
get { return result.HasDestinationPort; }
}
[global::System.CLSCompliant(false)]
public uint DestinationPort {
get { return result.DestinationPort; }
set { SetDestinationPort(value); }
}
[global::System.CLSCompliant(false)]
public Builder SetDestinationPort(uint value) {
result.hasDestinationPort = true;
result.destinationPort_ = value;
return this;
}
public Builder ClearDestinationPort() {
result.hasDestinationPort = false;
result.destinationPort_ = 0;
return this;
}
public bool HasDestinationSpace {
get { return result.HasDestinationSpace; }
}
public pb::ByteString DestinationSpace {
get { return result.DestinationSpace; }
set { SetDestinationSpace(value); }
}
public Builder SetDestinationSpace(pb::ByteString value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
result.hasDestinationSpace = true;
result.destinationSpace_ = value;
return this;
}
public Builder ClearDestinationSpace() {
result.hasDestinationSpace = false;
result.destinationSpace_ = pb::ByteString.Empty;
return this;
}
public bool HasId {
get { return result.HasId; }
}
public long Id {
get { return result.Id; }
set { SetId(value); }
}
public Builder SetId(long value) {
result.hasId = true;
result.id_ = value;
return this;
}
public Builder ClearId() {
result.hasId = false;
result.id_ = 0L;
return this;
}
public bool HasReplyId {
get { return result.HasReplyId; }
}
public long ReplyId {
get { return result.ReplyId; }
set { SetReplyId(value); }
}
public Builder SetReplyId(long value) {
result.hasReplyId = true;
result.replyId_ = value;
return this;
}
public Builder ClearReplyId() {
result.hasReplyId = false;
result.replyId_ = 0L;
return this;
}
public bool HasReturnStatus {
get { return result.HasReturnStatus; }
}
public global::Sirikata.Protocol._PBJ_Internal.Header.Types.ReturnStatus ReturnStatus {
get { return result.ReturnStatus; }
set { SetReturnStatus(value); }
}
public Builder SetReturnStatus(global::Sirikata.Protocol._PBJ_Internal.Header.Types.ReturnStatus value) {
result.hasReturnStatus = true;
result.returnStatus_ = value;
return this;
}
public Builder ClearReturnStatus() {
result.hasReturnStatus = false;
result.returnStatus_ = global::Sirikata.Protocol._PBJ_Internal.Header.Types.ReturnStatus.SUCCESS;
return this;
}
}
static Header() {
object.ReferenceEquals(global::Sirikata.Protocol._PBJ_Internal.MessageHeader.Descriptor, null);
}
}
#endregion
}
@@ -1,339 +0,0 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using pbd = global::Google.ProtocolBuffers.Descriptors;
using pb = global::Google.ProtocolBuffers;
namespace Sirikata.Protocol {
public class Header : PBJ.IMessage {
protected _PBJ_Internal.Header super;
public _PBJ_Internal.Header _PBJSuper{ get { return super;} }
public Header() {
super=new _PBJ_Internal.Header();
}
public Header(_PBJ_Internal.Header reference) {
super=reference;
}
public static Header defaultInstance= new Header (_PBJ_Internal.Header.DefaultInstance);
public static Header DefaultInstance{
get {return defaultInstance;}
}
public static pbd.MessageDescriptor Descriptor {
get { return _PBJ_Internal.Header.Descriptor; } }
public static class Types {
public enum ReturnStatus {
SUCCESS=_PBJ_Internal.Header.Types.ReturnStatus.SUCCESS,
NETWORK_FAILURE=_PBJ_Internal.Header.Types.ReturnStatus.NETWORK_FAILURE,
TIMEOUT_FAILURE=_PBJ_Internal.Header.Types.ReturnStatus.TIMEOUT_FAILURE,
PROTOCOL_ERROR=_PBJ_Internal.Header.Types.ReturnStatus.PROTOCOL_ERROR,
PORT_FAILURE=_PBJ_Internal.Header.Types.ReturnStatus.PORT_FAILURE,
UNKNOWN_OBJECT=_PBJ_Internal.Header.Types.ReturnStatus.UNKNOWN_OBJECT
};
}
public static bool WithinReservedFieldTagRange(int field_tag) {
return false||(field_tag>=1&&field_tag<=8)||(field_tag>=1536&&field_tag<=2560)||(field_tag>=229376&&field_tag<=294912);
}
public static bool WithinExtensionFieldTagRange(int field_tag) {
return false;
}
public const int SourceObjectFieldTag=1;
public bool HasSourceObject{ get {return super.HasSourceObject&&PBJ._PBJ.ValidateUuid(super.SourceObject);} }
public PBJ.UUID SourceObject{ get {
if (HasSourceObject) {
return PBJ._PBJ.CastUuid(super.SourceObject);
} else {
return PBJ._PBJ.CastUuid();
}
}
}
public const int SourcePortFieldTag=3;
public bool HasSourcePort{ get {return super.HasSourcePort&&PBJ._PBJ.ValidateUint32(super.SourcePort);} }
public uint SourcePort{ get {
if (HasSourcePort) {
return PBJ._PBJ.CastUint32(super.SourcePort);
} else {
return PBJ._PBJ.CastUint32();
}
}
}
public const int SourceSpaceFieldTag=1536;
public bool HasSourceSpace{ get {return super.HasSourceSpace&&PBJ._PBJ.ValidateUuid(super.SourceSpace);} }
public PBJ.UUID SourceSpace{ get {
if (HasSourceSpace) {
return PBJ._PBJ.CastUuid(super.SourceSpace);
} else {
return PBJ._PBJ.CastUuid();
}
}
}
public const int DestinationObjectFieldTag=2;
public bool HasDestinationObject{ get {return super.HasDestinationObject&&PBJ._PBJ.ValidateUuid(super.DestinationObject);} }
public PBJ.UUID DestinationObject{ get {
if (HasDestinationObject) {
return PBJ._PBJ.CastUuid(super.DestinationObject);
} else {
return PBJ._PBJ.CastUuid();
}
}
}
public const int DestinationPortFieldTag=4;
public bool HasDestinationPort{ get {return super.HasDestinationPort&&PBJ._PBJ.ValidateUint32(super.DestinationPort);} }
public uint DestinationPort{ get {
if (HasDestinationPort) {
return PBJ._PBJ.CastUint32(super.DestinationPort);
} else {
return PBJ._PBJ.CastUint32();
}
}
}
public const int DestinationSpaceFieldTag=1537;
public bool HasDestinationSpace{ get {return super.HasDestinationSpace&&PBJ._PBJ.ValidateUuid(super.DestinationSpace);} }
public PBJ.UUID DestinationSpace{ get {
if (HasDestinationSpace) {
return PBJ._PBJ.CastUuid(super.DestinationSpace);
} else {
return PBJ._PBJ.CastUuid();
}
}
}
public const int IdFieldTag=7;
public bool HasId{ get {return super.HasId&&PBJ._PBJ.ValidateInt64(super.Id);} }
public long Id{ get {
if (HasId) {
return PBJ._PBJ.CastInt64(super.Id);
} else {
return PBJ._PBJ.CastInt64();
}
}
}
public const int ReplyIdFieldTag=8;
public bool HasReplyId{ get {return super.HasReplyId&&PBJ._PBJ.ValidateInt64(super.ReplyId);} }
public long ReplyId{ get {
if (HasReplyId) {
return PBJ._PBJ.CastInt64(super.ReplyId);
} else {
return PBJ._PBJ.CastInt64();
}
}
}
public const int ReturnStatusFieldTag=1792;
public bool HasReturnStatus{ get {return super.HasReturnStatus;} }
public Types.ReturnStatus ReturnStatus{ get {
if (HasReturnStatus) {
return (Types.ReturnStatus)super.ReturnStatus;
} else {
return new Types.ReturnStatus();
}
}
}
public override Google.ProtocolBuffers.IMessage _PBJISuper { get { return super; } }
public override PBJ.IMessage.IBuilder WeakCreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder() { return new Builder(); }
public static Builder CreateBuilder(Header prototype) {
return (Builder)new Builder().MergeFrom(prototype);
}
public static Header ParseFrom(pb::ByteString data) {
return new Header(_PBJ_Internal.Header.ParseFrom(data));
}
public static Header ParseFrom(pb::ByteString data, pb::ExtensionRegistry er) {
return new Header(_PBJ_Internal.Header.ParseFrom(data,er));
}
public static Header ParseFrom(byte[] data) {
return new Header(_PBJ_Internal.Header.ParseFrom(data));
}
public static Header ParseFrom(byte[] data, pb::ExtensionRegistry er) {
return new Header(_PBJ_Internal.Header.ParseFrom(data,er));
}
public static Header ParseFrom(global::System.IO.Stream data) {
return new Header(_PBJ_Internal.Header.ParseFrom(data));
}
public static Header ParseFrom(global::System.IO.Stream data, pb::ExtensionRegistry er) {
return new Header(_PBJ_Internal.Header.ParseFrom(data,er));
}
public static Header ParseFrom(pb::CodedInputStream data) {
return new Header(_PBJ_Internal.Header.ParseFrom(data));
}
public static Header ParseFrom(pb::CodedInputStream data, pb::ExtensionRegistry er) {
return new Header(_PBJ_Internal.Header.ParseFrom(data,er));
}
protected override bool _HasAllPBJFields{ get {
return true
;
} }
public bool IsInitialized { get {
return super.IsInitialized&&_HasAllPBJFields;
} }
public class Builder : global::PBJ.IMessage.IBuilder{
protected override bool _HasAllPBJFields{ get {
return true
;
} }
public bool IsInitialized { get {
return super.IsInitialized&&_HasAllPBJFields;
} }
protected _PBJ_Internal.Header.Builder super;
public override Google.ProtocolBuffers.IBuilder _PBJISuper { get { return super; } }
public _PBJ_Internal.Header.Builder _PBJSuper{ get { return super;} }
public Builder() {super = new _PBJ_Internal.Header.Builder();}
public Builder(_PBJ_Internal.Header.Builder other) {
super=other;
}
public Builder Clone() {return new Builder(super.Clone());}
public Builder MergeFrom(Header prototype) { super.MergeFrom(prototype._PBJSuper);return this;}
public Builder Clear() {super.Clear();return this;}
public Header BuildPartial() {return new Header(super.BuildPartial());}
public Header Build() {if (_HasAllPBJFields) return new Header(super.Build());return null;}
public pbd::MessageDescriptor DescriptorForType {
get { return Header.Descriptor; } }
public Builder ClearSourceObject() { super.ClearSourceObject();return this;}
public const int SourceObjectFieldTag=1;
public bool HasSourceObject{ get {return super.HasSourceObject&&PBJ._PBJ.ValidateUuid(super.SourceObject);} }
public PBJ.UUID SourceObject{ get {
if (HasSourceObject) {
return PBJ._PBJ.CastUuid(super.SourceObject);
} else {
return PBJ._PBJ.CastUuid();
}
}
set {
super.SourceObject=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearSourcePort() { super.ClearSourcePort();return this;}
public const int SourcePortFieldTag=3;
public bool HasSourcePort{ get {return super.HasSourcePort&&PBJ._PBJ.ValidateUint32(super.SourcePort);} }
public uint SourcePort{ get {
if (HasSourcePort) {
return PBJ._PBJ.CastUint32(super.SourcePort);
} else {
return PBJ._PBJ.CastUint32();
}
}
set {
super.SourcePort=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearSourceSpace() { super.ClearSourceSpace();return this;}
public const int SourceSpaceFieldTag=1536;
public bool HasSourceSpace{ get {return super.HasSourceSpace&&PBJ._PBJ.ValidateUuid(super.SourceSpace);} }
public PBJ.UUID SourceSpace{ get {
if (HasSourceSpace) {
return PBJ._PBJ.CastUuid(super.SourceSpace);
} else {
return PBJ._PBJ.CastUuid();
}
}
set {
super.SourceSpace=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearDestinationObject() { super.ClearDestinationObject();return this;}
public const int DestinationObjectFieldTag=2;
public bool HasDestinationObject{ get {return super.HasDestinationObject&&PBJ._PBJ.ValidateUuid(super.DestinationObject);} }
public PBJ.UUID DestinationObject{ get {
if (HasDestinationObject) {
return PBJ._PBJ.CastUuid(super.DestinationObject);
} else {
return PBJ._PBJ.CastUuid();
}
}
set {
super.DestinationObject=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearDestinationPort() { super.ClearDestinationPort();return this;}
public const int DestinationPortFieldTag=4;
public bool HasDestinationPort{ get {return super.HasDestinationPort&&PBJ._PBJ.ValidateUint32(super.DestinationPort);} }
public uint DestinationPort{ get {
if (HasDestinationPort) {
return PBJ._PBJ.CastUint32(super.DestinationPort);
} else {
return PBJ._PBJ.CastUint32();
}
}
set {
super.DestinationPort=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearDestinationSpace() { super.ClearDestinationSpace();return this;}
public const int DestinationSpaceFieldTag=1537;
public bool HasDestinationSpace{ get {return super.HasDestinationSpace&&PBJ._PBJ.ValidateUuid(super.DestinationSpace);} }
public PBJ.UUID DestinationSpace{ get {
if (HasDestinationSpace) {
return PBJ._PBJ.CastUuid(super.DestinationSpace);
} else {
return PBJ._PBJ.CastUuid();
}
}
set {
super.DestinationSpace=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearId() { super.ClearId();return this;}
public const int IdFieldTag=7;
public bool HasId{ get {return super.HasId&&PBJ._PBJ.ValidateInt64(super.Id);} }
public long Id{ get {
if (HasId) {
return PBJ._PBJ.CastInt64(super.Id);
} else {
return PBJ._PBJ.CastInt64();
}
}
set {
super.Id=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearReplyId() { super.ClearReplyId();return this;}
public const int ReplyIdFieldTag=8;
public bool HasReplyId{ get {return super.HasReplyId&&PBJ._PBJ.ValidateInt64(super.ReplyId);} }
public long ReplyId{ get {
if (HasReplyId) {
return PBJ._PBJ.CastInt64(super.ReplyId);
} else {
return PBJ._PBJ.CastInt64();
}
}
set {
super.ReplyId=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearReturnStatus() { super.ClearReturnStatus();return this;}
public const int ReturnStatusFieldTag=1792;
public bool HasReturnStatus{ get {return super.HasReturnStatus;} }
public Types.ReturnStatus ReturnStatus{ get {
if (HasReturnStatus) {
return (Types.ReturnStatus)super.ReturnStatus;
} else {
return new Types.ReturnStatus();
}
}
set {
super.ReturnStatus=((_PBJ_Internal.Header.Types.ReturnStatus)value);
}
}
}
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
-840
View File
@@ -1,840 +0,0 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
using pb = global::Google.ProtocolBuffers;
using pbc = global::Google.ProtocolBuffers.Collections;
using pbd = global::Google.ProtocolBuffers.Descriptors;
using scg = global::System.Collections.Generic;
namespace Sirikata.Physics.Protocol._PBJ_Internal {
public static partial class Physics {
#region Extension registration
public static void RegisterAllExtensions(pb::ExtensionRegistry registry) {
}
#endregion
#region Static variables
internal static pbd::MessageDescriptor internal__static_Sirikata_Physics_Protocol__PBJ_Internal_CollisionBegin__Descriptor;
internal static pb::FieldAccess.FieldAccessorTable<global::Sirikata.Physics.Protocol._PBJ_Internal.CollisionBegin, global::Sirikata.Physics.Protocol._PBJ_Internal.CollisionBegin.Builder> internal__static_Sirikata_Physics_Protocol__PBJ_Internal_CollisionBegin__FieldAccessorTable;
internal static pbd::MessageDescriptor internal__static_Sirikata_Physics_Protocol__PBJ_Internal_CollisionEnd__Descriptor;
internal static pb::FieldAccess.FieldAccessorTable<global::Sirikata.Physics.Protocol._PBJ_Internal.CollisionEnd, global::Sirikata.Physics.Protocol._PBJ_Internal.CollisionEnd.Builder> internal__static_Sirikata_Physics_Protocol__PBJ_Internal_CollisionEnd__FieldAccessorTable;
#endregion
#region Descriptor
public static pbd::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbd::FileDescriptor descriptor;
static Physics() {
byte[] descriptorData = global::System.Convert.FromBase64String(
"Cg1QaHlzaWNzLnByb3RvEidTaXJpa2F0YS5QaHlzaWNzLlByb3RvY29sLl9Q" +
"QkpfSW50ZXJuYWwiqAEKDkNvbGxpc2lvbkJlZ2luEhEKCXRpbWVzdGFtcBgC" +
"IAEoBhIZCg10aGlzX3Bvc2l0aW9uGAMgAygBQgIQARIaCg5vdGhlcl9wb3Np" +
"dGlvbhgEIAMoAUICEAESFwoLdGhpc19ub3JtYWwYBSADKAJCAhABEhMKB2lt" +
"cHVsc2UYBiADKAJCAhABEh4KFm90aGVyX29iamVjdF9yZWZlcmVuY2UYByAB" +
"KAwiQQoMQ29sbGlzaW9uRW5kEhEKCXRpbWVzdGFtcBgCIAEoBhIeChZvdGhl" +
"cl9vYmplY3RfcmVmZXJlbmNlGAYgASgM");
pbd::FileDescriptor.InternalDescriptorAssigner assigner = delegate(pbd::FileDescriptor root) {
descriptor = root;
internal__static_Sirikata_Physics_Protocol__PBJ_Internal_CollisionBegin__Descriptor = Descriptor.MessageTypes[0];
internal__static_Sirikata_Physics_Protocol__PBJ_Internal_CollisionBegin__FieldAccessorTable =
new pb::FieldAccess.FieldAccessorTable<global::Sirikata.Physics.Protocol._PBJ_Internal.CollisionBegin, global::Sirikata.Physics.Protocol._PBJ_Internal.CollisionBegin.Builder>(internal__static_Sirikata_Physics_Protocol__PBJ_Internal_CollisionBegin__Descriptor,
new string[] { "Timestamp", "ThisPosition", "OtherPosition", "ThisNormal", "Impulse", "OtherObjectReference", });
internal__static_Sirikata_Physics_Protocol__PBJ_Internal_CollisionEnd__Descriptor = Descriptor.MessageTypes[1];
internal__static_Sirikata_Physics_Protocol__PBJ_Internal_CollisionEnd__FieldAccessorTable =
new pb::FieldAccess.FieldAccessorTable<global::Sirikata.Physics.Protocol._PBJ_Internal.CollisionEnd, global::Sirikata.Physics.Protocol._PBJ_Internal.CollisionEnd.Builder>(internal__static_Sirikata_Physics_Protocol__PBJ_Internal_CollisionEnd__Descriptor,
new string[] { "Timestamp", "OtherObjectReference", });
return null;
};
pbd::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData,
new pbd::FileDescriptor[] {
}, assigner);
}
#endregion
}
#region Messages
public sealed partial class CollisionBegin : pb::GeneratedMessage<CollisionBegin, CollisionBegin.Builder> {
private static readonly CollisionBegin defaultInstance = new Builder().BuildPartial();
public static CollisionBegin DefaultInstance {
get { return defaultInstance; }
}
public override CollisionBegin DefaultInstanceForType {
get { return defaultInstance; }
}
protected override CollisionBegin ThisMessage {
get { return this; }
}
public static pbd::MessageDescriptor Descriptor {
get { return global::Sirikata.Physics.Protocol._PBJ_Internal.Physics.internal__static_Sirikata_Physics_Protocol__PBJ_Internal_CollisionBegin__Descriptor; }
}
protected override pb::FieldAccess.FieldAccessorTable<CollisionBegin, CollisionBegin.Builder> InternalFieldAccessors {
get { return global::Sirikata.Physics.Protocol._PBJ_Internal.Physics.internal__static_Sirikata_Physics_Protocol__PBJ_Internal_CollisionBegin__FieldAccessorTable; }
}
public const int TimestampFieldNumber = 2;
private bool hasTimestamp;
private ulong timestamp_ = 0;
public bool HasTimestamp {
get { return hasTimestamp; }
}
[global::System.CLSCompliant(false)]
public ulong Timestamp {
get { return timestamp_; }
}
public const int ThisPositionFieldNumber = 3;
private int thisPositionMemoizedSerializedSize;
private pbc::PopsicleList<double> thisPosition_ = new pbc::PopsicleList<double>();
public scg::IList<double> ThisPositionList {
get { return pbc::Lists.AsReadOnly(thisPosition_); }
}
public int ThisPositionCount {
get { return thisPosition_.Count; }
}
public double GetThisPosition(int index) {
return thisPosition_[index];
}
public const int OtherPositionFieldNumber = 4;
private int otherPositionMemoizedSerializedSize;
private pbc::PopsicleList<double> otherPosition_ = new pbc::PopsicleList<double>();
public scg::IList<double> OtherPositionList {
get { return pbc::Lists.AsReadOnly(otherPosition_); }
}
public int OtherPositionCount {
get { return otherPosition_.Count; }
}
public double GetOtherPosition(int index) {
return otherPosition_[index];
}
public const int ThisNormalFieldNumber = 5;
private int thisNormalMemoizedSerializedSize;
private pbc::PopsicleList<float> thisNormal_ = new pbc::PopsicleList<float>();
public scg::IList<float> ThisNormalList {
get { return pbc::Lists.AsReadOnly(thisNormal_); }
}
public int ThisNormalCount {
get { return thisNormal_.Count; }
}
public float GetThisNormal(int index) {
return thisNormal_[index];
}
public const int ImpulseFieldNumber = 6;
private int impulseMemoizedSerializedSize;
private pbc::PopsicleList<float> impulse_ = new pbc::PopsicleList<float>();
public scg::IList<float> ImpulseList {
get { return pbc::Lists.AsReadOnly(impulse_); }
}
public int ImpulseCount {
get { return impulse_.Count; }
}
public float GetImpulse(int index) {
return impulse_[index];
}
public const int OtherObjectReferenceFieldNumber = 7;
private bool hasOtherObjectReference;
private pb::ByteString otherObjectReference_ = pb::ByteString.Empty;
public bool HasOtherObjectReference {
get { return hasOtherObjectReference; }
}
public pb::ByteString OtherObjectReference {
get { return otherObjectReference_; }
}
public override bool IsInitialized {
get {
return true;
}
}
public override void WriteTo(pb::CodedOutputStream output) {
if (HasTimestamp) {
output.WriteFixed64(2, Timestamp);
}
if (thisPosition_.Count > 0) {
output.WriteRawVarint32(26);
output.WriteRawVarint32((uint) thisPositionMemoizedSerializedSize);
foreach (double element in thisPosition_) {
output.WriteDoubleNoTag(element);
}
}
if (otherPosition_.Count > 0) {
output.WriteRawVarint32(34);
output.WriteRawVarint32((uint) otherPositionMemoizedSerializedSize);
foreach (double element in otherPosition_) {
output.WriteDoubleNoTag(element);
}
}
if (thisNormal_.Count > 0) {
output.WriteRawVarint32(42);
output.WriteRawVarint32((uint) thisNormalMemoizedSerializedSize);
foreach (float element in thisNormal_) {
output.WriteFloatNoTag(element);
}
}
if (impulse_.Count > 0) {
output.WriteRawVarint32(50);
output.WriteRawVarint32((uint) impulseMemoizedSerializedSize);
foreach (float element in impulse_) {
output.WriteFloatNoTag(element);
}
}
if (HasOtherObjectReference) {
output.WriteBytes(7, OtherObjectReference);
}
UnknownFields.WriteTo(output);
}
private int memoizedSerializedSize = -1;
public override int SerializedSize {
get {
int size = memoizedSerializedSize;
if (size != -1) return size;
size = 0;
if (HasTimestamp) {
size += pb::CodedOutputStream.ComputeFixed64Size(2, Timestamp);
}
{
int dataSize = 0;
dataSize = 8 * thisPosition_.Count;
size += dataSize;
if (thisPosition_.Count!=0) size += 1 + pb::CodedOutputStream.ComputeInt32SizeNoTag(dataSize);
thisPositionMemoizedSerializedSize = dataSize;
}
{
int dataSize = 0;
dataSize = 8 * otherPosition_.Count;
size += dataSize;
if (otherPosition_.Count!=0) size += 1 + pb::CodedOutputStream.ComputeInt32SizeNoTag(dataSize);
otherPositionMemoizedSerializedSize = dataSize;
}
{
int dataSize = 0;
dataSize = 4 * thisNormal_.Count;
size += dataSize;
if (thisNormal_.Count!=0) size += 1 + pb::CodedOutputStream.ComputeInt32SizeNoTag(dataSize);
thisNormalMemoizedSerializedSize = dataSize;
}
{
int dataSize = 0;
dataSize = 4 * impulse_.Count;
size += dataSize;
if (impulse_.Count!=0) size += 1 + pb::CodedOutputStream.ComputeInt32SizeNoTag(dataSize);
impulseMemoizedSerializedSize = dataSize;
}
if (HasOtherObjectReference) {
size += pb::CodedOutputStream.ComputeBytesSize(7, OtherObjectReference);
}
size += UnknownFields.SerializedSize;
memoizedSerializedSize = size;
return size;
}
}
public static CollisionBegin ParseFrom(pb::ByteString data) {
return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
}
public static CollisionBegin ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
}
public static CollisionBegin ParseFrom(byte[] data) {
return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
}
public static CollisionBegin ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
}
public static CollisionBegin ParseFrom(global::System.IO.Stream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
public static CollisionBegin ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static CollisionBegin ParseDelimitedFrom(global::System.IO.Stream input) {
return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
}
public static CollisionBegin ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
public static CollisionBegin ParseFrom(pb::CodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
public static CollisionBegin ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(CollisionBegin prototype) {
return (Builder) new Builder().MergeFrom(prototype);
}
public sealed partial class Builder : pb::GeneratedBuilder<CollisionBegin, Builder> {
protected override Builder ThisBuilder {
get { return this; }
}
public Builder() {}
CollisionBegin result = new CollisionBegin();
protected override CollisionBegin MessageBeingBuilt {
get { return result; }
}
public override Builder Clear() {
result = new CollisionBegin();
return this;
}
public override Builder Clone() {
return new Builder().MergeFrom(result);
}
public override pbd::MessageDescriptor DescriptorForType {
get { return global::Sirikata.Physics.Protocol._PBJ_Internal.CollisionBegin.Descriptor; }
}
public override CollisionBegin DefaultInstanceForType {
get { return global::Sirikata.Physics.Protocol._PBJ_Internal.CollisionBegin.DefaultInstance; }
}
public override CollisionBegin BuildPartial() {
if (result == null) {
throw new global::System.InvalidOperationException("build() has already been called on this Builder");
}
result.thisPosition_.MakeReadOnly();
result.otherPosition_.MakeReadOnly();
result.thisNormal_.MakeReadOnly();
result.impulse_.MakeReadOnly();
CollisionBegin returnMe = result;
result = null;
return returnMe;
}
public override Builder MergeFrom(pb::IMessage other) {
if (other is CollisionBegin) {
return MergeFrom((CollisionBegin) other);
} else {
base.MergeFrom(other);
return this;
}
}
public override Builder MergeFrom(CollisionBegin other) {
if (other == global::Sirikata.Physics.Protocol._PBJ_Internal.CollisionBegin.DefaultInstance) return this;
if (other.HasTimestamp) {
Timestamp = other.Timestamp;
}
if (other.thisPosition_.Count != 0) {
base.AddRange(other.thisPosition_, result.thisPosition_);
}
if (other.otherPosition_.Count != 0) {
base.AddRange(other.otherPosition_, result.otherPosition_);
}
if (other.thisNormal_.Count != 0) {
base.AddRange(other.thisNormal_, result.thisNormal_);
}
if (other.impulse_.Count != 0) {
base.AddRange(other.impulse_, result.impulse_);
}
if (other.HasOtherObjectReference) {
OtherObjectReference = other.OtherObjectReference;
}
this.MergeUnknownFields(other.UnknownFields);
return this;
}
public override Builder MergeFrom(pb::CodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
while (true) {
uint tag = input.ReadTag();
switch (tag) {
case 0: {
if (unknownFields != null) {
this.UnknownFields = unknownFields.Build();
}
return this;
}
default: {
if (pb::WireFormat.IsEndGroupTag(tag)) {
if (unknownFields != null) {
this.UnknownFields = unknownFields.Build();
}
return this;
}
if (unknownFields == null) {
unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
}
ParseUnknownField(input, unknownFields, extensionRegistry, tag);
break;
}
case 17: {
Timestamp = input.ReadFixed64();
break;
}
case 26: {
int length = input.ReadInt32();
int limit = input.PushLimit(length);
while (!input.ReachedLimit) {
AddThisPosition(input.ReadDouble());
}
input.PopLimit(limit);
break;
}
case 34: {
int length = input.ReadInt32();
int limit = input.PushLimit(length);
while (!input.ReachedLimit) {
AddOtherPosition(input.ReadDouble());
}
input.PopLimit(limit);
break;
}
case 42: {
int length = input.ReadInt32();
int limit = input.PushLimit(length);
while (!input.ReachedLimit) {
AddThisNormal(input.ReadFloat());
}
input.PopLimit(limit);
break;
}
case 50: {
int length = input.ReadInt32();
int limit = input.PushLimit(length);
while (!input.ReachedLimit) {
AddImpulse(input.ReadFloat());
}
input.PopLimit(limit);
break;
}
case 58: {
OtherObjectReference = input.ReadBytes();
break;
}
}
}
}
public bool HasTimestamp {
get { return result.HasTimestamp; }
}
[global::System.CLSCompliant(false)]
public ulong Timestamp {
get { return result.Timestamp; }
set { SetTimestamp(value); }
}
[global::System.CLSCompliant(false)]
public Builder SetTimestamp(ulong value) {
result.hasTimestamp = true;
result.timestamp_ = value;
return this;
}
public Builder ClearTimestamp() {
result.hasTimestamp = false;
result.timestamp_ = 0;
return this;
}
public pbc::IPopsicleList<double> ThisPositionList {
get { return result.thisPosition_; }
}
public int ThisPositionCount {
get { return result.ThisPositionCount; }
}
public double GetThisPosition(int index) {
return result.GetThisPosition(index);
}
public Builder SetThisPosition(int index, double value) {
result.thisPosition_[index] = value;
return this;
}
public Builder AddThisPosition(double value) {
result.thisPosition_.Add(value);
return this;
}
public Builder AddRangeThisPosition(scg::IEnumerable<double> values) {
base.AddRange(values, result.thisPosition_);
return this;
}
public Builder ClearThisPosition() {
result.thisPosition_.Clear();
return this;
}
public pbc::IPopsicleList<double> OtherPositionList {
get { return result.otherPosition_; }
}
public int OtherPositionCount {
get { return result.OtherPositionCount; }
}
public double GetOtherPosition(int index) {
return result.GetOtherPosition(index);
}
public Builder SetOtherPosition(int index, double value) {
result.otherPosition_[index] = value;
return this;
}
public Builder AddOtherPosition(double value) {
result.otherPosition_.Add(value);
return this;
}
public Builder AddRangeOtherPosition(scg::IEnumerable<double> values) {
base.AddRange(values, result.otherPosition_);
return this;
}
public Builder ClearOtherPosition() {
result.otherPosition_.Clear();
return this;
}
public pbc::IPopsicleList<float> ThisNormalList {
get { return result.thisNormal_; }
}
public int ThisNormalCount {
get { return result.ThisNormalCount; }
}
public float GetThisNormal(int index) {
return result.GetThisNormal(index);
}
public Builder SetThisNormal(int index, float value) {
result.thisNormal_[index] = value;
return this;
}
public Builder AddThisNormal(float value) {
result.thisNormal_.Add(value);
return this;
}
public Builder AddRangeThisNormal(scg::IEnumerable<float> values) {
base.AddRange(values, result.thisNormal_);
return this;
}
public Builder ClearThisNormal() {
result.thisNormal_.Clear();
return this;
}
public pbc::IPopsicleList<float> ImpulseList {
get { return result.impulse_; }
}
public int ImpulseCount {
get { return result.ImpulseCount; }
}
public float GetImpulse(int index) {
return result.GetImpulse(index);
}
public Builder SetImpulse(int index, float value) {
result.impulse_[index] = value;
return this;
}
public Builder AddImpulse(float value) {
result.impulse_.Add(value);
return this;
}
public Builder AddRangeImpulse(scg::IEnumerable<float> values) {
base.AddRange(values, result.impulse_);
return this;
}
public Builder ClearImpulse() {
result.impulse_.Clear();
return this;
}
public bool HasOtherObjectReference {
get { return result.HasOtherObjectReference; }
}
public pb::ByteString OtherObjectReference {
get { return result.OtherObjectReference; }
set { SetOtherObjectReference(value); }
}
public Builder SetOtherObjectReference(pb::ByteString value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
result.hasOtherObjectReference = true;
result.otherObjectReference_ = value;
return this;
}
public Builder ClearOtherObjectReference() {
result.hasOtherObjectReference = false;
result.otherObjectReference_ = pb::ByteString.Empty;
return this;
}
}
static CollisionBegin() {
object.ReferenceEquals(global::Sirikata.Physics.Protocol._PBJ_Internal.Physics.Descriptor, null);
}
}
public sealed partial class CollisionEnd : pb::GeneratedMessage<CollisionEnd, CollisionEnd.Builder> {
private static readonly CollisionEnd defaultInstance = new Builder().BuildPartial();
public static CollisionEnd DefaultInstance {
get { return defaultInstance; }
}
public override CollisionEnd DefaultInstanceForType {
get { return defaultInstance; }
}
protected override CollisionEnd ThisMessage {
get { return this; }
}
public static pbd::MessageDescriptor Descriptor {
get { return global::Sirikata.Physics.Protocol._PBJ_Internal.Physics.internal__static_Sirikata_Physics_Protocol__PBJ_Internal_CollisionEnd__Descriptor; }
}
protected override pb::FieldAccess.FieldAccessorTable<CollisionEnd, CollisionEnd.Builder> InternalFieldAccessors {
get { return global::Sirikata.Physics.Protocol._PBJ_Internal.Physics.internal__static_Sirikata_Physics_Protocol__PBJ_Internal_CollisionEnd__FieldAccessorTable; }
}
public const int TimestampFieldNumber = 2;
private bool hasTimestamp;
private ulong timestamp_ = 0;
public bool HasTimestamp {
get { return hasTimestamp; }
}
[global::System.CLSCompliant(false)]
public ulong Timestamp {
get { return timestamp_; }
}
public const int OtherObjectReferenceFieldNumber = 6;
private bool hasOtherObjectReference;
private pb::ByteString otherObjectReference_ = pb::ByteString.Empty;
public bool HasOtherObjectReference {
get { return hasOtherObjectReference; }
}
public pb::ByteString OtherObjectReference {
get { return otherObjectReference_; }
}
public override bool IsInitialized {
get {
return true;
}
}
public override void WriteTo(pb::CodedOutputStream output) {
if (HasTimestamp) {
output.WriteFixed64(2, Timestamp);
}
if (HasOtherObjectReference) {
output.WriteBytes(6, OtherObjectReference);
}
UnknownFields.WriteTo(output);
}
private int memoizedSerializedSize = -1;
public override int SerializedSize {
get {
int size = memoizedSerializedSize;
if (size != -1) return size;
size = 0;
if (HasTimestamp) {
size += pb::CodedOutputStream.ComputeFixed64Size(2, Timestamp);
}
if (HasOtherObjectReference) {
size += pb::CodedOutputStream.ComputeBytesSize(6, OtherObjectReference);
}
size += UnknownFields.SerializedSize;
memoizedSerializedSize = size;
return size;
}
}
public static CollisionEnd ParseFrom(pb::ByteString data) {
return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
}
public static CollisionEnd ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
}
public static CollisionEnd ParseFrom(byte[] data) {
return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
}
public static CollisionEnd ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
}
public static CollisionEnd ParseFrom(global::System.IO.Stream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
public static CollisionEnd ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static CollisionEnd ParseDelimitedFrom(global::System.IO.Stream input) {
return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
}
public static CollisionEnd ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
public static CollisionEnd ParseFrom(pb::CodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
public static CollisionEnd ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(CollisionEnd prototype) {
return (Builder) new Builder().MergeFrom(prototype);
}
public sealed partial class Builder : pb::GeneratedBuilder<CollisionEnd, Builder> {
protected override Builder ThisBuilder {
get { return this; }
}
public Builder() {}
CollisionEnd result = new CollisionEnd();
protected override CollisionEnd MessageBeingBuilt {
get { return result; }
}
public override Builder Clear() {
result = new CollisionEnd();
return this;
}
public override Builder Clone() {
return new Builder().MergeFrom(result);
}
public override pbd::MessageDescriptor DescriptorForType {
get { return global::Sirikata.Physics.Protocol._PBJ_Internal.CollisionEnd.Descriptor; }
}
public override CollisionEnd DefaultInstanceForType {
get { return global::Sirikata.Physics.Protocol._PBJ_Internal.CollisionEnd.DefaultInstance; }
}
public override CollisionEnd BuildPartial() {
if (result == null) {
throw new global::System.InvalidOperationException("build() has already been called on this Builder");
}
CollisionEnd returnMe = result;
result = null;
return returnMe;
}
public override Builder MergeFrom(pb::IMessage other) {
if (other is CollisionEnd) {
return MergeFrom((CollisionEnd) other);
} else {
base.MergeFrom(other);
return this;
}
}
public override Builder MergeFrom(CollisionEnd other) {
if (other == global::Sirikata.Physics.Protocol._PBJ_Internal.CollisionEnd.DefaultInstance) return this;
if (other.HasTimestamp) {
Timestamp = other.Timestamp;
}
if (other.HasOtherObjectReference) {
OtherObjectReference = other.OtherObjectReference;
}
this.MergeUnknownFields(other.UnknownFields);
return this;
}
public override Builder MergeFrom(pb::CodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
while (true) {
uint tag = input.ReadTag();
switch (tag) {
case 0: {
if (unknownFields != null) {
this.UnknownFields = unknownFields.Build();
}
return this;
}
default: {
if (pb::WireFormat.IsEndGroupTag(tag)) {
if (unknownFields != null) {
this.UnknownFields = unknownFields.Build();
}
return this;
}
if (unknownFields == null) {
unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
}
ParseUnknownField(input, unknownFields, extensionRegistry, tag);
break;
}
case 17: {
Timestamp = input.ReadFixed64();
break;
}
case 50: {
OtherObjectReference = input.ReadBytes();
break;
}
}
}
}
public bool HasTimestamp {
get { return result.HasTimestamp; }
}
[global::System.CLSCompliant(false)]
public ulong Timestamp {
get { return result.Timestamp; }
set { SetTimestamp(value); }
}
[global::System.CLSCompliant(false)]
public Builder SetTimestamp(ulong value) {
result.hasTimestamp = true;
result.timestamp_ = value;
return this;
}
public Builder ClearTimestamp() {
result.hasTimestamp = false;
result.timestamp_ = 0;
return this;
}
public bool HasOtherObjectReference {
get { return result.HasOtherObjectReference; }
}
public pb::ByteString OtherObjectReference {
get { return result.OtherObjectReference; }
set { SetOtherObjectReference(value); }
}
public Builder SetOtherObjectReference(pb::ByteString value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
result.hasOtherObjectReference = true;
result.otherObjectReference_ = value;
return this;
}
public Builder ClearOtherObjectReference() {
result.hasOtherObjectReference = false;
result.otherObjectReference_ = pb::ByteString.Empty;
return this;
}
}
static CollisionEnd() {
object.ReferenceEquals(global::Sirikata.Physics.Protocol._PBJ_Internal.Physics.Descriptor, null);
}
}
#endregion
}
@@ -1,421 +0,0 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using pbd = global::Google.ProtocolBuffers.Descriptors;
using pb = global::Google.ProtocolBuffers;
namespace Sirikata.Physics.Protocol {
public class CollisionBegin : PBJ.IMessage {
protected _PBJ_Internal.CollisionBegin super;
public _PBJ_Internal.CollisionBegin _PBJSuper{ get { return super;} }
public CollisionBegin() {
super=new _PBJ_Internal.CollisionBegin();
}
public CollisionBegin(_PBJ_Internal.CollisionBegin reference) {
super=reference;
}
public static CollisionBegin defaultInstance= new CollisionBegin (_PBJ_Internal.CollisionBegin.DefaultInstance);
public static CollisionBegin DefaultInstance{
get {return defaultInstance;}
}
public static pbd.MessageDescriptor Descriptor {
get { return _PBJ_Internal.CollisionBegin.Descriptor; } }
public static class Types {
}
public static bool WithinReservedFieldTagRange(int field_tag) {
return false;
}
public static bool WithinExtensionFieldTagRange(int field_tag) {
return false;
}
public const int TimestampFieldTag=2;
public bool HasTimestamp{ get {return super.HasTimestamp&&PBJ._PBJ.ValidateTime(super.Timestamp);} }
public PBJ.Time Timestamp{ get {
if (HasTimestamp) {
return PBJ._PBJ.CastTime(super.Timestamp);
} else {
return PBJ._PBJ.CastTime();
}
}
}
public const int ThisPositionFieldTag=3;
public int ThisPositionCount { get { return super.ThisPositionCount/3;} }
public bool HasThisPosition(int index) { return true; }
public PBJ.Vector3d GetThisPosition(int index) {
if (HasThisPosition(index)) {
return PBJ._PBJ.CastVector3d(super.GetThisPosition(index*3+0),super.GetThisPosition(index*3+1),super.GetThisPosition(index*3+2));
} else {
return PBJ._PBJ.CastVector3d();
}
}
public const int OtherPositionFieldTag=4;
public int OtherPositionCount { get { return super.OtherPositionCount/3;} }
public bool HasOtherPosition(int index) { return true; }
public PBJ.Vector3d GetOtherPosition(int index) {
if (HasOtherPosition(index)) {
return PBJ._PBJ.CastVector3d(super.GetOtherPosition(index*3+0),super.GetOtherPosition(index*3+1),super.GetOtherPosition(index*3+2));
} else {
return PBJ._PBJ.CastVector3d();
}
}
public const int ThisNormalFieldTag=5;
public int ThisNormalCount { get { return super.ThisNormalCount/2;} }
public bool HasThisNormal(int index) { return true; }
public PBJ.Vector3f GetThisNormal(int index) {
if (HasThisNormal(index)) {
return PBJ._PBJ.CastNormal(super.GetThisNormal(index*2+0),super.GetThisNormal(index*2+1));
} else {
return PBJ._PBJ.CastNormal();
}
}
public const int ImpulseFieldTag=6;
public int ImpulseCount { get { return super.ImpulseCount;} }
public bool HasImpulse(int index) {return PBJ._PBJ.ValidateFloat(super.GetImpulse(index));}
public float Impulse(int index) {
return (float)PBJ._PBJ.CastFloat(super.GetImpulse(index));
}
public const int OtherObjectReferenceFieldTag=7;
public bool HasOtherObjectReference{ get {return super.HasOtherObjectReference&&PBJ._PBJ.ValidateUuid(super.OtherObjectReference);} }
public PBJ.UUID OtherObjectReference{ get {
if (HasOtherObjectReference) {
return PBJ._PBJ.CastUuid(super.OtherObjectReference);
} else {
return PBJ._PBJ.CastUuid();
}
}
}
public override Google.ProtocolBuffers.IMessage _PBJISuper { get { return super; } }
public override PBJ.IMessage.IBuilder WeakCreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder() { return new Builder(); }
public static Builder CreateBuilder(CollisionBegin prototype) {
return (Builder)new Builder().MergeFrom(prototype);
}
public static CollisionBegin ParseFrom(pb::ByteString data) {
return new CollisionBegin(_PBJ_Internal.CollisionBegin.ParseFrom(data));
}
public static CollisionBegin ParseFrom(pb::ByteString data, pb::ExtensionRegistry er) {
return new CollisionBegin(_PBJ_Internal.CollisionBegin.ParseFrom(data,er));
}
public static CollisionBegin ParseFrom(byte[] data) {
return new CollisionBegin(_PBJ_Internal.CollisionBegin.ParseFrom(data));
}
public static CollisionBegin ParseFrom(byte[] data, pb::ExtensionRegistry er) {
return new CollisionBegin(_PBJ_Internal.CollisionBegin.ParseFrom(data,er));
}
public static CollisionBegin ParseFrom(global::System.IO.Stream data) {
return new CollisionBegin(_PBJ_Internal.CollisionBegin.ParseFrom(data));
}
public static CollisionBegin ParseFrom(global::System.IO.Stream data, pb::ExtensionRegistry er) {
return new CollisionBegin(_PBJ_Internal.CollisionBegin.ParseFrom(data,er));
}
public static CollisionBegin ParseFrom(pb::CodedInputStream data) {
return new CollisionBegin(_PBJ_Internal.CollisionBegin.ParseFrom(data));
}
public static CollisionBegin ParseFrom(pb::CodedInputStream data, pb::ExtensionRegistry er) {
return new CollisionBegin(_PBJ_Internal.CollisionBegin.ParseFrom(data,er));
}
protected override bool _HasAllPBJFields{ get {
return true
;
} }
public bool IsInitialized { get {
return super.IsInitialized&&_HasAllPBJFields;
} }
public class Builder : global::PBJ.IMessage.IBuilder{
protected override bool _HasAllPBJFields{ get {
return true
;
} }
public bool IsInitialized { get {
return super.IsInitialized&&_HasAllPBJFields;
} }
protected _PBJ_Internal.CollisionBegin.Builder super;
public override Google.ProtocolBuffers.IBuilder _PBJISuper { get { return super; } }
public _PBJ_Internal.CollisionBegin.Builder _PBJSuper{ get { return super;} }
public Builder() {super = new _PBJ_Internal.CollisionBegin.Builder();}
public Builder(_PBJ_Internal.CollisionBegin.Builder other) {
super=other;
}
public Builder Clone() {return new Builder(super.Clone());}
public Builder MergeFrom(CollisionBegin prototype) { super.MergeFrom(prototype._PBJSuper);return this;}
public Builder Clear() {super.Clear();return this;}
public CollisionBegin BuildPartial() {return new CollisionBegin(super.BuildPartial());}
public CollisionBegin Build() {if (_HasAllPBJFields) return new CollisionBegin(super.Build());return null;}
public pbd::MessageDescriptor DescriptorForType {
get { return CollisionBegin.Descriptor; } }
public Builder ClearTimestamp() { super.ClearTimestamp();return this;}
public const int TimestampFieldTag=2;
public bool HasTimestamp{ get {return super.HasTimestamp&&PBJ._PBJ.ValidateTime(super.Timestamp);} }
public PBJ.Time Timestamp{ get {
if (HasTimestamp) {
return PBJ._PBJ.CastTime(super.Timestamp);
} else {
return PBJ._PBJ.CastTime();
}
}
set {
super.Timestamp=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearThisPosition() { super.ClearThisPosition();return this;}
public const int ThisPositionFieldTag=3;
public int ThisPositionCount { get { return super.ThisPositionCount/3;} }
public bool HasThisPosition(int index) { return true; }
public PBJ.Vector3d GetThisPosition(int index) {
if (HasThisPosition(index)) {
return PBJ._PBJ.CastVector3d(super.GetThisPosition(index*3+0),super.GetThisPosition(index*3+1),super.GetThisPosition(index*3+2));
} else {
return PBJ._PBJ.CastVector3d();
}
}
public Builder AddThisPosition(PBJ.Vector3d value) {
double[] _PBJtempArray=PBJ._PBJ.ConstructVector3d(value);
super.AddThisPosition(_PBJtempArray[0]);
super.AddThisPosition(_PBJtempArray[1]);
super.AddThisPosition(_PBJtempArray[2]);
return this;
}
public Builder SetThisPosition(int index,PBJ.Vector3d value) {
double[] _PBJtempArray=PBJ._PBJ.ConstructVector3d(value);
super.SetThisPosition(index*3+0,_PBJtempArray[0]);
super.SetThisPosition(index*3+1,_PBJtempArray[1]);
super.SetThisPosition(index*3+2,_PBJtempArray[2]);
return this;
}
public Builder ClearOtherPosition() { super.ClearOtherPosition();return this;}
public const int OtherPositionFieldTag=4;
public int OtherPositionCount { get { return super.OtherPositionCount/3;} }
public bool HasOtherPosition(int index) { return true; }
public PBJ.Vector3d GetOtherPosition(int index) {
if (HasOtherPosition(index)) {
return PBJ._PBJ.CastVector3d(super.GetOtherPosition(index*3+0),super.GetOtherPosition(index*3+1),super.GetOtherPosition(index*3+2));
} else {
return PBJ._PBJ.CastVector3d();
}
}
public Builder AddOtherPosition(PBJ.Vector3d value) {
double[] _PBJtempArray=PBJ._PBJ.ConstructVector3d(value);
super.AddOtherPosition(_PBJtempArray[0]);
super.AddOtherPosition(_PBJtempArray[1]);
super.AddOtherPosition(_PBJtempArray[2]);
return this;
}
public Builder SetOtherPosition(int index,PBJ.Vector3d value) {
double[] _PBJtempArray=PBJ._PBJ.ConstructVector3d(value);
super.SetOtherPosition(index*3+0,_PBJtempArray[0]);
super.SetOtherPosition(index*3+1,_PBJtempArray[1]);
super.SetOtherPosition(index*3+2,_PBJtempArray[2]);
return this;
}
public Builder ClearThisNormal() { super.ClearThisNormal();return this;}
public const int ThisNormalFieldTag=5;
public int ThisNormalCount { get { return super.ThisNormalCount/2;} }
public bool HasThisNormal(int index) { return true; }
public PBJ.Vector3f GetThisNormal(int index) {
if (HasThisNormal(index)) {
return PBJ._PBJ.CastNormal(super.GetThisNormal(index*2+0),super.GetThisNormal(index*2+1));
} else {
return PBJ._PBJ.CastNormal();
}
}
public Builder AddThisNormal(PBJ.Vector3f value) {
float[] _PBJtempArray=PBJ._PBJ.ConstructNormal(value);
super.AddThisNormal(_PBJtempArray[0]);
super.AddThisNormal(_PBJtempArray[1]);
return this;
}
public Builder SetThisNormal(int index,PBJ.Vector3f value) {
float[] _PBJtempArray=PBJ._PBJ.ConstructNormal(value);
super.SetThisNormal(index*2+0,_PBJtempArray[0]);
super.SetThisNormal(index*2+1,_PBJtempArray[1]);
return this;
}
public Builder ClearImpulse() { super.ClearImpulse();return this;}
public Builder SetImpulse(int index, float value) {
super.SetImpulse(index,PBJ._PBJ.Construct(value));
return this;
}
public const int ImpulseFieldTag=6;
public int ImpulseCount { get { return super.ImpulseCount;} }
public bool HasImpulse(int index) {return PBJ._PBJ.ValidateFloat(super.GetImpulse(index));}
public float Impulse(int index) {
return (float)PBJ._PBJ.CastFloat(super.GetImpulse(index));
}
public Builder AddImpulse(float value) {
super.AddImpulse(PBJ._PBJ.Construct(value));
return this;
}
public Builder ClearOtherObjectReference() { super.ClearOtherObjectReference();return this;}
public const int OtherObjectReferenceFieldTag=7;
public bool HasOtherObjectReference{ get {return super.HasOtherObjectReference&&PBJ._PBJ.ValidateUuid(super.OtherObjectReference);} }
public PBJ.UUID OtherObjectReference{ get {
if (HasOtherObjectReference) {
return PBJ._PBJ.CastUuid(super.OtherObjectReference);
} else {
return PBJ._PBJ.CastUuid();
}
}
set {
super.OtherObjectReference=(PBJ._PBJ.Construct(value));
}
}
}
}
}
namespace Sirikata.Physics.Protocol {
public class CollisionEnd : PBJ.IMessage {
protected _PBJ_Internal.CollisionEnd super;
public _PBJ_Internal.CollisionEnd _PBJSuper{ get { return super;} }
public CollisionEnd() {
super=new _PBJ_Internal.CollisionEnd();
}
public CollisionEnd(_PBJ_Internal.CollisionEnd reference) {
super=reference;
}
public static CollisionEnd defaultInstance= new CollisionEnd (_PBJ_Internal.CollisionEnd.DefaultInstance);
public static CollisionEnd DefaultInstance{
get {return defaultInstance;}
}
public static pbd.MessageDescriptor Descriptor {
get { return _PBJ_Internal.CollisionEnd.Descriptor; } }
public static class Types {
}
public static bool WithinReservedFieldTagRange(int field_tag) {
return false;
}
public static bool WithinExtensionFieldTagRange(int field_tag) {
return false;
}
public const int TimestampFieldTag=2;
public bool HasTimestamp{ get {return super.HasTimestamp&&PBJ._PBJ.ValidateTime(super.Timestamp);} }
public PBJ.Time Timestamp{ get {
if (HasTimestamp) {
return PBJ._PBJ.CastTime(super.Timestamp);
} else {
return PBJ._PBJ.CastTime();
}
}
}
public const int OtherObjectReferenceFieldTag=6;
public bool HasOtherObjectReference{ get {return super.HasOtherObjectReference&&PBJ._PBJ.ValidateUuid(super.OtherObjectReference);} }
public PBJ.UUID OtherObjectReference{ get {
if (HasOtherObjectReference) {
return PBJ._PBJ.CastUuid(super.OtherObjectReference);
} else {
return PBJ._PBJ.CastUuid();
}
}
}
public override Google.ProtocolBuffers.IMessage _PBJISuper { get { return super; } }
public override PBJ.IMessage.IBuilder WeakCreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder() { return new Builder(); }
public static Builder CreateBuilder(CollisionEnd prototype) {
return (Builder)new Builder().MergeFrom(prototype);
}
public static CollisionEnd ParseFrom(pb::ByteString data) {
return new CollisionEnd(_PBJ_Internal.CollisionEnd.ParseFrom(data));
}
public static CollisionEnd ParseFrom(pb::ByteString data, pb::ExtensionRegistry er) {
return new CollisionEnd(_PBJ_Internal.CollisionEnd.ParseFrom(data,er));
}
public static CollisionEnd ParseFrom(byte[] data) {
return new CollisionEnd(_PBJ_Internal.CollisionEnd.ParseFrom(data));
}
public static CollisionEnd ParseFrom(byte[] data, pb::ExtensionRegistry er) {
return new CollisionEnd(_PBJ_Internal.CollisionEnd.ParseFrom(data,er));
}
public static CollisionEnd ParseFrom(global::System.IO.Stream data) {
return new CollisionEnd(_PBJ_Internal.CollisionEnd.ParseFrom(data));
}
public static CollisionEnd ParseFrom(global::System.IO.Stream data, pb::ExtensionRegistry er) {
return new CollisionEnd(_PBJ_Internal.CollisionEnd.ParseFrom(data,er));
}
public static CollisionEnd ParseFrom(pb::CodedInputStream data) {
return new CollisionEnd(_PBJ_Internal.CollisionEnd.ParseFrom(data));
}
public static CollisionEnd ParseFrom(pb::CodedInputStream data, pb::ExtensionRegistry er) {
return new CollisionEnd(_PBJ_Internal.CollisionEnd.ParseFrom(data,er));
}
protected override bool _HasAllPBJFields{ get {
return true
;
} }
public bool IsInitialized { get {
return super.IsInitialized&&_HasAllPBJFields;
} }
public class Builder : global::PBJ.IMessage.IBuilder{
protected override bool _HasAllPBJFields{ get {
return true
;
} }
public bool IsInitialized { get {
return super.IsInitialized&&_HasAllPBJFields;
} }
protected _PBJ_Internal.CollisionEnd.Builder super;
public override Google.ProtocolBuffers.IBuilder _PBJISuper { get { return super; } }
public _PBJ_Internal.CollisionEnd.Builder _PBJSuper{ get { return super;} }
public Builder() {super = new _PBJ_Internal.CollisionEnd.Builder();}
public Builder(_PBJ_Internal.CollisionEnd.Builder other) {
super=other;
}
public Builder Clone() {return new Builder(super.Clone());}
public Builder MergeFrom(CollisionEnd prototype) { super.MergeFrom(prototype._PBJSuper);return this;}
public Builder Clear() {super.Clear();return this;}
public CollisionEnd BuildPartial() {return new CollisionEnd(super.BuildPartial());}
public CollisionEnd Build() {if (_HasAllPBJFields) return new CollisionEnd(super.Build());return null;}
public pbd::MessageDescriptor DescriptorForType {
get { return CollisionEnd.Descriptor; } }
public Builder ClearTimestamp() { super.ClearTimestamp();return this;}
public const int TimestampFieldTag=2;
public bool HasTimestamp{ get {return super.HasTimestamp&&PBJ._PBJ.ValidateTime(super.Timestamp);} }
public PBJ.Time Timestamp{ get {
if (HasTimestamp) {
return PBJ._PBJ.CastTime(super.Timestamp);
} else {
return PBJ._PBJ.CastTime();
}
}
set {
super.Timestamp=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearOtherObjectReference() { super.ClearOtherObjectReference();return this;}
public const int OtherObjectReferenceFieldTag=6;
public bool HasOtherObjectReference{ get {return super.HasOtherObjectReference&&PBJ._PBJ.ValidateUuid(super.OtherObjectReference);} }
public PBJ.UUID OtherObjectReference{ get {
if (HasOtherObjectReference) {
return PBJ._PBJ.CastUuid(super.OtherObjectReference);
} else {
return PBJ._PBJ.CastUuid();
}
}
set {
super.OtherObjectReference=(PBJ._PBJ.Construct(value));
}
}
}
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,856 +0,0 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
using pb = global::Google.ProtocolBuffers;
using pbc = global::Google.ProtocolBuffers.Collections;
using pbd = global::Google.ProtocolBuffers.Descriptors;
using scg = global::System.Collections.Generic;
namespace Sirikata.Subscription.Protocol._PBJ_Internal {
public static partial class Subscription {
#region Extension registration
public static void RegisterAllExtensions(pb::ExtensionRegistry registry) {
}
#endregion
#region Static variables
internal static pbd::MessageDescriptor internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Address__Descriptor;
internal static pb::FieldAccess.FieldAccessorTable<global::Sirikata.Subscription.Protocol._PBJ_Internal.Address, global::Sirikata.Subscription.Protocol._PBJ_Internal.Address.Builder> internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Address__FieldAccessorTable;
internal static pbd::MessageDescriptor internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Subscribe__Descriptor;
internal static pb::FieldAccess.FieldAccessorTable<global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscribe, global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscribe.Builder> internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Subscribe__FieldAccessorTable;
internal static pbd::MessageDescriptor internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Broadcast__Descriptor;
internal static pb::FieldAccess.FieldAccessorTable<global::Sirikata.Subscription.Protocol._PBJ_Internal.Broadcast, global::Sirikata.Subscription.Protocol._PBJ_Internal.Broadcast.Builder> internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Broadcast__FieldAccessorTable;
#endregion
#region Descriptor
public static pbd::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbd::FileDescriptor descriptor;
static Subscription() {
byte[] descriptorData = global::System.Convert.FromBase64String(
"ChJTdWJzY3JpcHRpb24ucHJvdG8SLFNpcmlrYXRhLlN1YnNjcmlwdGlvbi5Q" +
"cm90b2NvbC5fUEJKX0ludGVybmFsIiwKB0FkZHJlc3MSEAoIaG9zdG5hbWUY" +
"ASABKAkSDwoHc2VydmljZRgCIAEoCSKMAQoJU3Vic2NyaWJlElAKEWJyb2Fk" +
"Y2FzdF9hZGRyZXNzGAcgASgLMjUuU2lyaWthdGEuU3Vic2NyaXB0aW9uLlBy" +
"b3RvY29sLl9QQkpfSW50ZXJuYWwuQWRkcmVzcxIWCg5icm9hZGNhc3RfbmFt" +
"ZRgIIAEoDBIVCg11cGRhdGVfcGVyaW9kGAkgASgQIiMKCUJyb2FkY2FzdBIW" +
"Cg5icm9hZGNhc3RfbmFtZRgHIAEoDA==");
pbd::FileDescriptor.InternalDescriptorAssigner assigner = delegate(pbd::FileDescriptor root) {
descriptor = root;
internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Address__Descriptor = Descriptor.MessageTypes[0];
internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Address__FieldAccessorTable =
new pb::FieldAccess.FieldAccessorTable<global::Sirikata.Subscription.Protocol._PBJ_Internal.Address, global::Sirikata.Subscription.Protocol._PBJ_Internal.Address.Builder>(internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Address__Descriptor,
new string[] { "Hostname", "Service", });
internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Subscribe__Descriptor = Descriptor.MessageTypes[1];
internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Subscribe__FieldAccessorTable =
new pb::FieldAccess.FieldAccessorTable<global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscribe, global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscribe.Builder>(internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Subscribe__Descriptor,
new string[] { "BroadcastAddress", "BroadcastName", "UpdatePeriod", });
internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Broadcast__Descriptor = Descriptor.MessageTypes[2];
internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Broadcast__FieldAccessorTable =
new pb::FieldAccess.FieldAccessorTable<global::Sirikata.Subscription.Protocol._PBJ_Internal.Broadcast, global::Sirikata.Subscription.Protocol._PBJ_Internal.Broadcast.Builder>(internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Broadcast__Descriptor,
new string[] { "BroadcastName", });
return null;
};
pbd::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData,
new pbd::FileDescriptor[] {
}, assigner);
}
#endregion
}
#region Messages
public sealed partial class Address : pb::GeneratedMessage<Address, Address.Builder> {
private static readonly Address defaultInstance = new Builder().BuildPartial();
public static Address DefaultInstance {
get { return defaultInstance; }
}
public override Address DefaultInstanceForType {
get { return defaultInstance; }
}
protected override Address ThisMessage {
get { return this; }
}
public static pbd::MessageDescriptor Descriptor {
get { return global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscription.internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Address__Descriptor; }
}
protected override pb::FieldAccess.FieldAccessorTable<Address, Address.Builder> InternalFieldAccessors {
get { return global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscription.internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Address__FieldAccessorTable; }
}
public const int HostnameFieldNumber = 1;
private bool hasHostname;
private string hostname_ = "";
public bool HasHostname {
get { return hasHostname; }
}
public string Hostname {
get { return hostname_; }
}
public const int ServiceFieldNumber = 2;
private bool hasService;
private string service_ = "";
public bool HasService {
get { return hasService; }
}
public string Service {
get { return service_; }
}
public override bool IsInitialized {
get {
return true;
}
}
public override void WriteTo(pb::CodedOutputStream output) {
if (HasHostname) {
output.WriteString(1, Hostname);
}
if (HasService) {
output.WriteString(2, Service);
}
UnknownFields.WriteTo(output);
}
private int memoizedSerializedSize = -1;
public override int SerializedSize {
get {
int size = memoizedSerializedSize;
if (size != -1) return size;
size = 0;
if (HasHostname) {
size += pb::CodedOutputStream.ComputeStringSize(1, Hostname);
}
if (HasService) {
size += pb::CodedOutputStream.ComputeStringSize(2, Service);
}
size += UnknownFields.SerializedSize;
memoizedSerializedSize = size;
return size;
}
}
public static Address ParseFrom(pb::ByteString data) {
return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
}
public static Address ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
}
public static Address ParseFrom(byte[] data) {
return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
}
public static Address ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
}
public static Address ParseFrom(global::System.IO.Stream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
public static Address ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Address ParseDelimitedFrom(global::System.IO.Stream input) {
return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
}
public static Address ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
public static Address ParseFrom(pb::CodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
public static Address ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(Address prototype) {
return (Builder) new Builder().MergeFrom(prototype);
}
public sealed partial class Builder : pb::GeneratedBuilder<Address, Builder> {
protected override Builder ThisBuilder {
get { return this; }
}
public Builder() {}
Address result = new Address();
protected override Address MessageBeingBuilt {
get { return result; }
}
public override Builder Clear() {
result = new Address();
return this;
}
public override Builder Clone() {
return new Builder().MergeFrom(result);
}
public override pbd::MessageDescriptor DescriptorForType {
get { return global::Sirikata.Subscription.Protocol._PBJ_Internal.Address.Descriptor; }
}
public override Address DefaultInstanceForType {
get { return global::Sirikata.Subscription.Protocol._PBJ_Internal.Address.DefaultInstance; }
}
public override Address BuildPartial() {
if (result == null) {
throw new global::System.InvalidOperationException("build() has already been called on this Builder");
}
Address returnMe = result;
result = null;
return returnMe;
}
public override Builder MergeFrom(pb::IMessage other) {
if (other is Address) {
return MergeFrom((Address) other);
} else {
base.MergeFrom(other);
return this;
}
}
public override Builder MergeFrom(Address other) {
if (other == global::Sirikata.Subscription.Protocol._PBJ_Internal.Address.DefaultInstance) return this;
if (other.HasHostname) {
Hostname = other.Hostname;
}
if (other.HasService) {
Service = other.Service;
}
this.MergeUnknownFields(other.UnknownFields);
return this;
}
public override Builder MergeFrom(pb::CodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
while (true) {
uint tag = input.ReadTag();
switch (tag) {
case 0: {
if (unknownFields != null) {
this.UnknownFields = unknownFields.Build();
}
return this;
}
default: {
if (pb::WireFormat.IsEndGroupTag(tag)) {
if (unknownFields != null) {
this.UnknownFields = unknownFields.Build();
}
return this;
}
if (unknownFields == null) {
unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
}
ParseUnknownField(input, unknownFields, extensionRegistry, tag);
break;
}
case 10: {
Hostname = input.ReadString();
break;
}
case 18: {
Service = input.ReadString();
break;
}
}
}
}
public bool HasHostname {
get { return result.HasHostname; }
}
public string Hostname {
get { return result.Hostname; }
set { SetHostname(value); }
}
public Builder SetHostname(string value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
result.hasHostname = true;
result.hostname_ = value;
return this;
}
public Builder ClearHostname() {
result.hasHostname = false;
result.hostname_ = "";
return this;
}
public bool HasService {
get { return result.HasService; }
}
public string Service {
get { return result.Service; }
set { SetService(value); }
}
public Builder SetService(string value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
result.hasService = true;
result.service_ = value;
return this;
}
public Builder ClearService() {
result.hasService = false;
result.service_ = "";
return this;
}
}
static Address() {
object.ReferenceEquals(global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscription.Descriptor, null);
}
}
public sealed partial class Subscribe : pb::GeneratedMessage<Subscribe, Subscribe.Builder> {
private static readonly Subscribe defaultInstance = new Builder().BuildPartial();
public static Subscribe DefaultInstance {
get { return defaultInstance; }
}
public override Subscribe DefaultInstanceForType {
get { return defaultInstance; }
}
protected override Subscribe ThisMessage {
get { return this; }
}
public static pbd::MessageDescriptor Descriptor {
get { return global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscription.internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Subscribe__Descriptor; }
}
protected override pb::FieldAccess.FieldAccessorTable<Subscribe, Subscribe.Builder> InternalFieldAccessors {
get { return global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscription.internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Subscribe__FieldAccessorTable; }
}
public const int BroadcastAddressFieldNumber = 7;
private bool hasBroadcastAddress;
private global::Sirikata.Subscription.Protocol._PBJ_Internal.Address broadcastAddress_ = global::Sirikata.Subscription.Protocol._PBJ_Internal.Address.DefaultInstance;
public bool HasBroadcastAddress {
get { return hasBroadcastAddress; }
}
public global::Sirikata.Subscription.Protocol._PBJ_Internal.Address BroadcastAddress {
get { return broadcastAddress_; }
}
public const int BroadcastNameFieldNumber = 8;
private bool hasBroadcastName;
private pb::ByteString broadcastName_ = pb::ByteString.Empty;
public bool HasBroadcastName {
get { return hasBroadcastName; }
}
public pb::ByteString BroadcastName {
get { return broadcastName_; }
}
public const int UpdatePeriodFieldNumber = 9;
private bool hasUpdatePeriod;
private long updatePeriod_ = 0;
public bool HasUpdatePeriod {
get { return hasUpdatePeriod; }
}
public long UpdatePeriod {
get { return updatePeriod_; }
}
public override bool IsInitialized {
get {
return true;
}
}
public override void WriteTo(pb::CodedOutputStream output) {
if (HasBroadcastAddress) {
output.WriteMessage(7, BroadcastAddress);
}
if (HasBroadcastName) {
output.WriteBytes(8, BroadcastName);
}
if (HasUpdatePeriod) {
output.WriteSFixed64(9, UpdatePeriod);
}
UnknownFields.WriteTo(output);
}
private int memoizedSerializedSize = -1;
public override int SerializedSize {
get {
int size = memoizedSerializedSize;
if (size != -1) return size;
size = 0;
if (HasBroadcastAddress) {
size += pb::CodedOutputStream.ComputeMessageSize(7, BroadcastAddress);
}
if (HasBroadcastName) {
size += pb::CodedOutputStream.ComputeBytesSize(8, BroadcastName);
}
if (HasUpdatePeriod) {
size += pb::CodedOutputStream.ComputeSFixed64Size(9, UpdatePeriod);
}
size += UnknownFields.SerializedSize;
memoizedSerializedSize = size;
return size;
}
}
public static Subscribe ParseFrom(pb::ByteString data) {
return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
}
public static Subscribe ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
}
public static Subscribe ParseFrom(byte[] data) {
return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
}
public static Subscribe ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
}
public static Subscribe ParseFrom(global::System.IO.Stream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
public static Subscribe ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Subscribe ParseDelimitedFrom(global::System.IO.Stream input) {
return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
}
public static Subscribe ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
public static Subscribe ParseFrom(pb::CodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
public static Subscribe ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(Subscribe prototype) {
return (Builder) new Builder().MergeFrom(prototype);
}
public sealed partial class Builder : pb::GeneratedBuilder<Subscribe, Builder> {
protected override Builder ThisBuilder {
get { return this; }
}
public Builder() {}
Subscribe result = new Subscribe();
protected override Subscribe MessageBeingBuilt {
get { return result; }
}
public override Builder Clear() {
result = new Subscribe();
return this;
}
public override Builder Clone() {
return new Builder().MergeFrom(result);
}
public override pbd::MessageDescriptor DescriptorForType {
get { return global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscribe.Descriptor; }
}
public override Subscribe DefaultInstanceForType {
get { return global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscribe.DefaultInstance; }
}
public override Subscribe BuildPartial() {
if (result == null) {
throw new global::System.InvalidOperationException("build() has already been called on this Builder");
}
Subscribe returnMe = result;
result = null;
return returnMe;
}
public override Builder MergeFrom(pb::IMessage other) {
if (other is Subscribe) {
return MergeFrom((Subscribe) other);
} else {
base.MergeFrom(other);
return this;
}
}
public override Builder MergeFrom(Subscribe other) {
if (other == global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscribe.DefaultInstance) return this;
if (other.HasBroadcastAddress) {
MergeBroadcastAddress(other.BroadcastAddress);
}
if (other.HasBroadcastName) {
BroadcastName = other.BroadcastName;
}
if (other.HasUpdatePeriod) {
UpdatePeriod = other.UpdatePeriod;
}
this.MergeUnknownFields(other.UnknownFields);
return this;
}
public override Builder MergeFrom(pb::CodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
while (true) {
uint tag = input.ReadTag();
switch (tag) {
case 0: {
if (unknownFields != null) {
this.UnknownFields = unknownFields.Build();
}
return this;
}
default: {
if (pb::WireFormat.IsEndGroupTag(tag)) {
if (unknownFields != null) {
this.UnknownFields = unknownFields.Build();
}
return this;
}
if (unknownFields == null) {
unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
}
ParseUnknownField(input, unknownFields, extensionRegistry, tag);
break;
}
case 58: {
global::Sirikata.Subscription.Protocol._PBJ_Internal.Address.Builder subBuilder = global::Sirikata.Subscription.Protocol._PBJ_Internal.Address.CreateBuilder();
if (HasBroadcastAddress) {
subBuilder.MergeFrom(BroadcastAddress);
}
input.ReadMessage(subBuilder, extensionRegistry);
BroadcastAddress = subBuilder.BuildPartial();
break;
}
case 66: {
BroadcastName = input.ReadBytes();
break;
}
case 73: {
UpdatePeriod = input.ReadSFixed64();
break;
}
}
}
}
public bool HasBroadcastAddress {
get { return result.HasBroadcastAddress; }
}
public global::Sirikata.Subscription.Protocol._PBJ_Internal.Address BroadcastAddress {
get { return result.BroadcastAddress; }
set { SetBroadcastAddress(value); }
}
public Builder SetBroadcastAddress(global::Sirikata.Subscription.Protocol._PBJ_Internal.Address value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
result.hasBroadcastAddress = true;
result.broadcastAddress_ = value;
return this;
}
public Builder SetBroadcastAddress(global::Sirikata.Subscription.Protocol._PBJ_Internal.Address.Builder builderForValue) {
pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
result.hasBroadcastAddress = true;
result.broadcastAddress_ = builderForValue.Build();
return this;
}
public Builder MergeBroadcastAddress(global::Sirikata.Subscription.Protocol._PBJ_Internal.Address value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
if (result.HasBroadcastAddress &&
result.broadcastAddress_ != global::Sirikata.Subscription.Protocol._PBJ_Internal.Address.DefaultInstance) {
result.broadcastAddress_ = global::Sirikata.Subscription.Protocol._PBJ_Internal.Address.CreateBuilder(result.broadcastAddress_).MergeFrom(value).BuildPartial();
} else {
result.broadcastAddress_ = value;
}
result.hasBroadcastAddress = true;
return this;
}
public Builder ClearBroadcastAddress() {
result.hasBroadcastAddress = false;
result.broadcastAddress_ = global::Sirikata.Subscription.Protocol._PBJ_Internal.Address.DefaultInstance;
return this;
}
public bool HasBroadcastName {
get { return result.HasBroadcastName; }
}
public pb::ByteString BroadcastName {
get { return result.BroadcastName; }
set { SetBroadcastName(value); }
}
public Builder SetBroadcastName(pb::ByteString value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
result.hasBroadcastName = true;
result.broadcastName_ = value;
return this;
}
public Builder ClearBroadcastName() {
result.hasBroadcastName = false;
result.broadcastName_ = pb::ByteString.Empty;
return this;
}
public bool HasUpdatePeriod {
get { return result.HasUpdatePeriod; }
}
public long UpdatePeriod {
get { return result.UpdatePeriod; }
set { SetUpdatePeriod(value); }
}
public Builder SetUpdatePeriod(long value) {
result.hasUpdatePeriod = true;
result.updatePeriod_ = value;
return this;
}
public Builder ClearUpdatePeriod() {
result.hasUpdatePeriod = false;
result.updatePeriod_ = 0;
return this;
}
}
static Subscribe() {
object.ReferenceEquals(global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscription.Descriptor, null);
}
}
public sealed partial class Broadcast : pb::GeneratedMessage<Broadcast, Broadcast.Builder> {
private static readonly Broadcast defaultInstance = new Builder().BuildPartial();
public static Broadcast DefaultInstance {
get { return defaultInstance; }
}
public override Broadcast DefaultInstanceForType {
get { return defaultInstance; }
}
protected override Broadcast ThisMessage {
get { return this; }
}
public static pbd::MessageDescriptor Descriptor {
get { return global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscription.internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Broadcast__Descriptor; }
}
protected override pb::FieldAccess.FieldAccessorTable<Broadcast, Broadcast.Builder> InternalFieldAccessors {
get { return global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscription.internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Broadcast__FieldAccessorTable; }
}
public const int BroadcastNameFieldNumber = 7;
private bool hasBroadcastName;
private pb::ByteString broadcastName_ = pb::ByteString.Empty;
public bool HasBroadcastName {
get { return hasBroadcastName; }
}
public pb::ByteString BroadcastName {
get { return broadcastName_; }
}
public override bool IsInitialized {
get {
return true;
}
}
public override void WriteTo(pb::CodedOutputStream output) {
if (HasBroadcastName) {
output.WriteBytes(7, BroadcastName);
}
UnknownFields.WriteTo(output);
}
private int memoizedSerializedSize = -1;
public override int SerializedSize {
get {
int size = memoizedSerializedSize;
if (size != -1) return size;
size = 0;
if (HasBroadcastName) {
size += pb::CodedOutputStream.ComputeBytesSize(7, BroadcastName);
}
size += UnknownFields.SerializedSize;
memoizedSerializedSize = size;
return size;
}
}
public static Broadcast ParseFrom(pb::ByteString data) {
return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
}
public static Broadcast ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
}
public static Broadcast ParseFrom(byte[] data) {
return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
}
public static Broadcast ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
}
public static Broadcast ParseFrom(global::System.IO.Stream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
public static Broadcast ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Broadcast ParseDelimitedFrom(global::System.IO.Stream input) {
return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
}
public static Broadcast ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
public static Broadcast ParseFrom(pb::CodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
public static Broadcast ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(Broadcast prototype) {
return (Builder) new Builder().MergeFrom(prototype);
}
public sealed partial class Builder : pb::GeneratedBuilder<Broadcast, Builder> {
protected override Builder ThisBuilder {
get { return this; }
}
public Builder() {}
Broadcast result = new Broadcast();
protected override Broadcast MessageBeingBuilt {
get { return result; }
}
public override Builder Clear() {
result = new Broadcast();
return this;
}
public override Builder Clone() {
return new Builder().MergeFrom(result);
}
public override pbd::MessageDescriptor DescriptorForType {
get { return global::Sirikata.Subscription.Protocol._PBJ_Internal.Broadcast.Descriptor; }
}
public override Broadcast DefaultInstanceForType {
get { return global::Sirikata.Subscription.Protocol._PBJ_Internal.Broadcast.DefaultInstance; }
}
public override Broadcast BuildPartial() {
if (result == null) {
throw new global::System.InvalidOperationException("build() has already been called on this Builder");
}
Broadcast returnMe = result;
result = null;
return returnMe;
}
public override Builder MergeFrom(pb::IMessage other) {
if (other is Broadcast) {
return MergeFrom((Broadcast) other);
} else {
base.MergeFrom(other);
return this;
}
}
public override Builder MergeFrom(Broadcast other) {
if (other == global::Sirikata.Subscription.Protocol._PBJ_Internal.Broadcast.DefaultInstance) return this;
if (other.HasBroadcastName) {
BroadcastName = other.BroadcastName;
}
this.MergeUnknownFields(other.UnknownFields);
return this;
}
public override Builder MergeFrom(pb::CodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
while (true) {
uint tag = input.ReadTag();
switch (tag) {
case 0: {
if (unknownFields != null) {
this.UnknownFields = unknownFields.Build();
}
return this;
}
default: {
if (pb::WireFormat.IsEndGroupTag(tag)) {
if (unknownFields != null) {
this.UnknownFields = unknownFields.Build();
}
return this;
}
if (unknownFields == null) {
unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
}
ParseUnknownField(input, unknownFields, extensionRegistry, tag);
break;
}
case 58: {
BroadcastName = input.ReadBytes();
break;
}
}
}
}
public bool HasBroadcastName {
get { return result.HasBroadcastName; }
}
public pb::ByteString BroadcastName {
get { return result.BroadcastName; }
set { SetBroadcastName(value); }
}
public Builder SetBroadcastName(pb::ByteString value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
result.hasBroadcastName = true;
result.broadcastName_ = value;
return this;
}
public Builder ClearBroadcastName() {
result.hasBroadcastName = false;
result.broadcastName_ = pb::ByteString.Empty;
return this;
}
}
static Broadcast() {
object.ReferenceEquals(global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscription.Descriptor, null);
}
}
#endregion
}
@@ -1,431 +0,0 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using pbd = global::Google.ProtocolBuffers.Descriptors;
using pb = global::Google.ProtocolBuffers;
namespace Sirikata.Subscription.Protocol {
public class Address : PBJ.IMessage {
protected _PBJ_Internal.Address super;
public _PBJ_Internal.Address _PBJSuper{ get { return super;} }
public Address() {
super=new _PBJ_Internal.Address();
}
public Address(_PBJ_Internal.Address reference) {
super=reference;
}
public static Address defaultInstance= new Address (_PBJ_Internal.Address.DefaultInstance);
public static Address DefaultInstance{
get {return defaultInstance;}
}
public static pbd.MessageDescriptor Descriptor {
get { return _PBJ_Internal.Address.Descriptor; } }
public static class Types {
}
public static bool WithinReservedFieldTagRange(int field_tag) {
return false;
}
public static bool WithinExtensionFieldTagRange(int field_tag) {
return false;
}
public const int HostnameFieldTag=1;
public bool HasHostname{ get {return super.HasHostname&&PBJ._PBJ.ValidateString(super.Hostname);} }
public string Hostname{ get {
if (HasHostname) {
return PBJ._PBJ.CastString(super.Hostname);
} else {
return PBJ._PBJ.CastString();
}
}
}
public const int ServiceFieldTag=2;
public bool HasService{ get {return super.HasService&&PBJ._PBJ.ValidateString(super.Service);} }
public string Service{ get {
if (HasService) {
return PBJ._PBJ.CastString(super.Service);
} else {
return PBJ._PBJ.CastString();
}
}
}
public override Google.ProtocolBuffers.IMessage _PBJISuper { get { return super; } }
public override PBJ.IMessage.IBuilder WeakCreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder() { return new Builder(); }
public static Builder CreateBuilder(Address prototype) {
return (Builder)new Builder().MergeFrom(prototype);
}
public static Address ParseFrom(pb::ByteString data) {
return new Address(_PBJ_Internal.Address.ParseFrom(data));
}
public static Address ParseFrom(pb::ByteString data, pb::ExtensionRegistry er) {
return new Address(_PBJ_Internal.Address.ParseFrom(data,er));
}
public static Address ParseFrom(byte[] data) {
return new Address(_PBJ_Internal.Address.ParseFrom(data));
}
public static Address ParseFrom(byte[] data, pb::ExtensionRegistry er) {
return new Address(_PBJ_Internal.Address.ParseFrom(data,er));
}
public static Address ParseFrom(global::System.IO.Stream data) {
return new Address(_PBJ_Internal.Address.ParseFrom(data));
}
public static Address ParseFrom(global::System.IO.Stream data, pb::ExtensionRegistry er) {
return new Address(_PBJ_Internal.Address.ParseFrom(data,er));
}
public static Address ParseFrom(pb::CodedInputStream data) {
return new Address(_PBJ_Internal.Address.ParseFrom(data));
}
public static Address ParseFrom(pb::CodedInputStream data, pb::ExtensionRegistry er) {
return new Address(_PBJ_Internal.Address.ParseFrom(data,er));
}
protected override bool _HasAllPBJFields{ get {
return true
;
} }
public bool IsInitialized { get {
return super.IsInitialized&&_HasAllPBJFields;
} }
public class Builder : global::PBJ.IMessage.IBuilder{
protected override bool _HasAllPBJFields{ get {
return true
;
} }
public bool IsInitialized { get {
return super.IsInitialized&&_HasAllPBJFields;
} }
protected _PBJ_Internal.Address.Builder super;
public override Google.ProtocolBuffers.IBuilder _PBJISuper { get { return super; } }
public _PBJ_Internal.Address.Builder _PBJSuper{ get { return super;} }
public Builder() {super = new _PBJ_Internal.Address.Builder();}
public Builder(_PBJ_Internal.Address.Builder other) {
super=other;
}
public Builder Clone() {return new Builder(super.Clone());}
public Builder MergeFrom(Address prototype) { super.MergeFrom(prototype._PBJSuper);return this;}
public Builder Clear() {super.Clear();return this;}
public Address BuildPartial() {return new Address(super.BuildPartial());}
public Address Build() {if (_HasAllPBJFields) return new Address(super.Build());return null;}
public pbd::MessageDescriptor DescriptorForType {
get { return Address.Descriptor; } }
public Builder ClearHostname() { super.ClearHostname();return this;}
public const int HostnameFieldTag=1;
public bool HasHostname{ get {return super.HasHostname&&PBJ._PBJ.ValidateString(super.Hostname);} }
public string Hostname{ get {
if (HasHostname) {
return PBJ._PBJ.CastString(super.Hostname);
} else {
return PBJ._PBJ.CastString();
}
}
set {
super.Hostname=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearService() { super.ClearService();return this;}
public const int ServiceFieldTag=2;
public bool HasService{ get {return super.HasService&&PBJ._PBJ.ValidateString(super.Service);} }
public string Service{ get {
if (HasService) {
return PBJ._PBJ.CastString(super.Service);
} else {
return PBJ._PBJ.CastString();
}
}
set {
super.Service=(PBJ._PBJ.Construct(value));
}
}
}
}
}
namespace Sirikata.Subscription.Protocol {
public class Subscribe : PBJ.IMessage {
protected _PBJ_Internal.Subscribe super;
public _PBJ_Internal.Subscribe _PBJSuper{ get { return super;} }
public Subscribe() {
super=new _PBJ_Internal.Subscribe();
}
public Subscribe(_PBJ_Internal.Subscribe reference) {
super=reference;
}
public static Subscribe defaultInstance= new Subscribe (_PBJ_Internal.Subscribe.DefaultInstance);
public static Subscribe DefaultInstance{
get {return defaultInstance;}
}
public static pbd.MessageDescriptor Descriptor {
get { return _PBJ_Internal.Subscribe.Descriptor; } }
public static class Types {
}
public static bool WithinReservedFieldTagRange(int field_tag) {
return false||(field_tag>=1&&field_tag<=6)||(field_tag>=1536&&field_tag<=2560)||(field_tag>=229376&&field_tag<=294912);
}
public static bool WithinExtensionFieldTagRange(int field_tag) {
return false;
}
public const int BroadcastAddressFieldTag=7;
public bool HasBroadcastAddress{ get {return super.HasBroadcastAddress;} }
public Address BroadcastAddress{ get {
if (HasBroadcastAddress) {
return new Address(super.BroadcastAddress);
} else {
return new Address();
}
}
}
public const int BroadcastNameFieldTag=8;
public bool HasBroadcastName{ get {return super.HasBroadcastName&&PBJ._PBJ.ValidateUuid(super.BroadcastName);} }
public PBJ.UUID BroadcastName{ get {
if (HasBroadcastName) {
return PBJ._PBJ.CastUuid(super.BroadcastName);
} else {
return PBJ._PBJ.CastUuid();
}
}
}
public const int UpdatePeriodFieldTag=9;
public bool HasUpdatePeriod{ get {return super.HasUpdatePeriod&&PBJ._PBJ.ValidateDuration(super.UpdatePeriod);} }
public PBJ.Duration UpdatePeriod{ get {
if (HasUpdatePeriod) {
return PBJ._PBJ.CastDuration(super.UpdatePeriod);
} else {
return PBJ._PBJ.CastDuration();
}
}
}
public override Google.ProtocolBuffers.IMessage _PBJISuper { get { return super; } }
public override PBJ.IMessage.IBuilder WeakCreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder() { return new Builder(); }
public static Builder CreateBuilder(Subscribe prototype) {
return (Builder)new Builder().MergeFrom(prototype);
}
public static Subscribe ParseFrom(pb::ByteString data) {
return new Subscribe(_PBJ_Internal.Subscribe.ParseFrom(data));
}
public static Subscribe ParseFrom(pb::ByteString data, pb::ExtensionRegistry er) {
return new Subscribe(_PBJ_Internal.Subscribe.ParseFrom(data,er));
}
public static Subscribe ParseFrom(byte[] data) {
return new Subscribe(_PBJ_Internal.Subscribe.ParseFrom(data));
}
public static Subscribe ParseFrom(byte[] data, pb::ExtensionRegistry er) {
return new Subscribe(_PBJ_Internal.Subscribe.ParseFrom(data,er));
}
public static Subscribe ParseFrom(global::System.IO.Stream data) {
return new Subscribe(_PBJ_Internal.Subscribe.ParseFrom(data));
}
public static Subscribe ParseFrom(global::System.IO.Stream data, pb::ExtensionRegistry er) {
return new Subscribe(_PBJ_Internal.Subscribe.ParseFrom(data,er));
}
public static Subscribe ParseFrom(pb::CodedInputStream data) {
return new Subscribe(_PBJ_Internal.Subscribe.ParseFrom(data));
}
public static Subscribe ParseFrom(pb::CodedInputStream data, pb::ExtensionRegistry er) {
return new Subscribe(_PBJ_Internal.Subscribe.ParseFrom(data,er));
}
protected override bool _HasAllPBJFields{ get {
return true
;
} }
public bool IsInitialized { get {
return super.IsInitialized&&_HasAllPBJFields;
} }
public class Builder : global::PBJ.IMessage.IBuilder{
protected override bool _HasAllPBJFields{ get {
return true
;
} }
public bool IsInitialized { get {
return super.IsInitialized&&_HasAllPBJFields;
} }
protected _PBJ_Internal.Subscribe.Builder super;
public override Google.ProtocolBuffers.IBuilder _PBJISuper { get { return super; } }
public _PBJ_Internal.Subscribe.Builder _PBJSuper{ get { return super;} }
public Builder() {super = new _PBJ_Internal.Subscribe.Builder();}
public Builder(_PBJ_Internal.Subscribe.Builder other) {
super=other;
}
public Builder Clone() {return new Builder(super.Clone());}
public Builder MergeFrom(Subscribe prototype) { super.MergeFrom(prototype._PBJSuper);return this;}
public Builder Clear() {super.Clear();return this;}
public Subscribe BuildPartial() {return new Subscribe(super.BuildPartial());}
public Subscribe Build() {if (_HasAllPBJFields) return new Subscribe(super.Build());return null;}
public pbd::MessageDescriptor DescriptorForType {
get { return Subscribe.Descriptor; } }
public Builder ClearBroadcastAddress() { super.ClearBroadcastAddress();return this;}
public const int BroadcastAddressFieldTag=7;
public bool HasBroadcastAddress{ get {return super.HasBroadcastAddress;} }
public Address BroadcastAddress{ get {
if (HasBroadcastAddress) {
return new Address(super.BroadcastAddress);
} else {
return new Address();
}
}
set {
super.BroadcastAddress=value._PBJSuper;
}
}
public Builder ClearBroadcastName() { super.ClearBroadcastName();return this;}
public const int BroadcastNameFieldTag=8;
public bool HasBroadcastName{ get {return super.HasBroadcastName&&PBJ._PBJ.ValidateUuid(super.BroadcastName);} }
public PBJ.UUID BroadcastName{ get {
if (HasBroadcastName) {
return PBJ._PBJ.CastUuid(super.BroadcastName);
} else {
return PBJ._PBJ.CastUuid();
}
}
set {
super.BroadcastName=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearUpdatePeriod() { super.ClearUpdatePeriod();return this;}
public const int UpdatePeriodFieldTag=9;
public bool HasUpdatePeriod{ get {return super.HasUpdatePeriod&&PBJ._PBJ.ValidateDuration(super.UpdatePeriod);} }
public PBJ.Duration UpdatePeriod{ get {
if (HasUpdatePeriod) {
return PBJ._PBJ.CastDuration(super.UpdatePeriod);
} else {
return PBJ._PBJ.CastDuration();
}
}
set {
super.UpdatePeriod=(PBJ._PBJ.Construct(value));
}
}
}
}
}
namespace Sirikata.Subscription.Protocol {
public class Broadcast : PBJ.IMessage {
protected _PBJ_Internal.Broadcast super;
public _PBJ_Internal.Broadcast _PBJSuper{ get { return super;} }
public Broadcast() {
super=new _PBJ_Internal.Broadcast();
}
public Broadcast(_PBJ_Internal.Broadcast reference) {
super=reference;
}
public static Broadcast defaultInstance= new Broadcast (_PBJ_Internal.Broadcast.DefaultInstance);
public static Broadcast DefaultInstance{
get {return defaultInstance;}
}
public static pbd.MessageDescriptor Descriptor {
get { return _PBJ_Internal.Broadcast.Descriptor; } }
public static class Types {
}
public static bool WithinReservedFieldTagRange(int field_tag) {
return false||(field_tag>=1&&field_tag<=6)||(field_tag>=1536&&field_tag<=2560)||(field_tag>=229376&&field_tag<=294912);
}
public static bool WithinExtensionFieldTagRange(int field_tag) {
return false;
}
public const int BroadcastNameFieldTag=7;
public bool HasBroadcastName{ get {return super.HasBroadcastName&&PBJ._PBJ.ValidateUuid(super.BroadcastName);} }
public PBJ.UUID BroadcastName{ get {
if (HasBroadcastName) {
return PBJ._PBJ.CastUuid(super.BroadcastName);
} else {
return PBJ._PBJ.CastUuid();
}
}
}
public override Google.ProtocolBuffers.IMessage _PBJISuper { get { return super; } }
public override PBJ.IMessage.IBuilder WeakCreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder() { return new Builder(); }
public static Builder CreateBuilder(Broadcast prototype) {
return (Builder)new Builder().MergeFrom(prototype);
}
public static Broadcast ParseFrom(pb::ByteString data) {
return new Broadcast(_PBJ_Internal.Broadcast.ParseFrom(data));
}
public static Broadcast ParseFrom(pb::ByteString data, pb::ExtensionRegistry er) {
return new Broadcast(_PBJ_Internal.Broadcast.ParseFrom(data,er));
}
public static Broadcast ParseFrom(byte[] data) {
return new Broadcast(_PBJ_Internal.Broadcast.ParseFrom(data));
}
public static Broadcast ParseFrom(byte[] data, pb::ExtensionRegistry er) {
return new Broadcast(_PBJ_Internal.Broadcast.ParseFrom(data,er));
}
public static Broadcast ParseFrom(global::System.IO.Stream data) {
return new Broadcast(_PBJ_Internal.Broadcast.ParseFrom(data));
}
public static Broadcast ParseFrom(global::System.IO.Stream data, pb::ExtensionRegistry er) {
return new Broadcast(_PBJ_Internal.Broadcast.ParseFrom(data,er));
}
public static Broadcast ParseFrom(pb::CodedInputStream data) {
return new Broadcast(_PBJ_Internal.Broadcast.ParseFrom(data));
}
public static Broadcast ParseFrom(pb::CodedInputStream data, pb::ExtensionRegistry er) {
return new Broadcast(_PBJ_Internal.Broadcast.ParseFrom(data,er));
}
protected override bool _HasAllPBJFields{ get {
return true
;
} }
public bool IsInitialized { get {
return super.IsInitialized&&_HasAllPBJFields;
} }
public class Builder : global::PBJ.IMessage.IBuilder{
protected override bool _HasAllPBJFields{ get {
return true
;
} }
public bool IsInitialized { get {
return super.IsInitialized&&_HasAllPBJFields;
} }
protected _PBJ_Internal.Broadcast.Builder super;
public override Google.ProtocolBuffers.IBuilder _PBJISuper { get { return super; } }
public _PBJ_Internal.Broadcast.Builder _PBJSuper{ get { return super;} }
public Builder() {super = new _PBJ_Internal.Broadcast.Builder();}
public Builder(_PBJ_Internal.Broadcast.Builder other) {
super=other;
}
public Builder Clone() {return new Builder(super.Clone());}
public Builder MergeFrom(Broadcast prototype) { super.MergeFrom(prototype._PBJSuper);return this;}
public Builder Clear() {super.Clear();return this;}
public Broadcast BuildPartial() {return new Broadcast(super.BuildPartial());}
public Broadcast Build() {if (_HasAllPBJFields) return new Broadcast(super.Build());return null;}
public pbd::MessageDescriptor DescriptorForType {
get { return Broadcast.Descriptor; } }
public Builder ClearBroadcastName() { super.ClearBroadcastName();return this;}
public const int BroadcastNameFieldTag=7;
public bool HasBroadcastName{ get {return super.HasBroadcastName&&PBJ._PBJ.ValidateUuid(super.BroadcastName);} }
public PBJ.UUID BroadcastName{ get {
if (HasBroadcastName) {
return PBJ._PBJ.CastUuid(super.BroadcastName);
} else {
return PBJ._PBJ.CastUuid();
}
}
set {
super.BroadcastName=(PBJ._PBJ.Construct(value));
}
}
}
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
-454
View File
@@ -1,454 +0,0 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
using pb = global::Google.ProtocolBuffers;
using pbc = global::Google.ProtocolBuffers.Collections;
using pbd = global::Google.ProtocolBuffers.Descriptors;
using scg = global::System.Collections.Generic;
namespace Sirikata.Network.Protocol._PBJ_Internal {
public static partial class Time {
#region Extension registration
public static void RegisterAllExtensions(pb::ExtensionRegistry registry) {
}
#endregion
#region Static variables
internal static pbd::MessageDescriptor internal__static_Sirikata_Network_Protocol__PBJ_Internal_TimeSync__Descriptor;
internal static pb::FieldAccess.FieldAccessorTable<global::Sirikata.Network.Protocol._PBJ_Internal.TimeSync, global::Sirikata.Network.Protocol._PBJ_Internal.TimeSync.Builder> internal__static_Sirikata_Network_Protocol__PBJ_Internal_TimeSync__FieldAccessorTable;
#endregion
#region Descriptor
public static pbd::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbd::FileDescriptor descriptor;
static Time() {
byte[] descriptorData = global::System.Convert.FromBase64String(
"CgpUaW1lLnByb3RvEidTaXJpa2F0YS5OZXR3b3JrLlByb3RvY29sLl9QQkpf" +
"SW50ZXJuYWwirQEKCFRpbWVTeW5jEhMKC2NsaWVudF90aW1lGAkgASgGEhMK" +
"C3NlcnZlcl90aW1lGAogASgGEhIKCnN5bmNfcm91bmQYCyABKAQSFgoOcmV0" +
"dXJuX29wdGlvbnMYDiABKA0SEwoKcm91bmRfdHJpcBiBFCABKAYiNgoNUmV0" +
"dXJuT3B0aW9ucxISCg5SRVBMWV9SRUxJQUJMRRABEhEKDVJFUExZX09SREVS" +
"RUQQAg==");
pbd::FileDescriptor.InternalDescriptorAssigner assigner = delegate(pbd::FileDescriptor root) {
descriptor = root;
internal__static_Sirikata_Network_Protocol__PBJ_Internal_TimeSync__Descriptor = Descriptor.MessageTypes[0];
internal__static_Sirikata_Network_Protocol__PBJ_Internal_TimeSync__FieldAccessorTable =
new pb::FieldAccess.FieldAccessorTable<global::Sirikata.Network.Protocol._PBJ_Internal.TimeSync, global::Sirikata.Network.Protocol._PBJ_Internal.TimeSync.Builder>(internal__static_Sirikata_Network_Protocol__PBJ_Internal_TimeSync__Descriptor,
new string[] { "ClientTime", "ServerTime", "SyncRound", "ReturnOptions", "RoundTrip", });
return null;
};
pbd::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData,
new pbd::FileDescriptor[] {
}, assigner);
}
#endregion
}
#region Messages
public sealed partial class TimeSync : pb::GeneratedMessage<TimeSync, TimeSync.Builder> {
private static readonly TimeSync defaultInstance = new Builder().BuildPartial();
public static TimeSync DefaultInstance {
get { return defaultInstance; }
}
public override TimeSync DefaultInstanceForType {
get { return defaultInstance; }
}
protected override TimeSync ThisMessage {
get { return this; }
}
public static pbd::MessageDescriptor Descriptor {
get { return global::Sirikata.Network.Protocol._PBJ_Internal.Time.internal__static_Sirikata_Network_Protocol__PBJ_Internal_TimeSync__Descriptor; }
}
protected override pb::FieldAccess.FieldAccessorTable<TimeSync, TimeSync.Builder> InternalFieldAccessors {
get { return global::Sirikata.Network.Protocol._PBJ_Internal.Time.internal__static_Sirikata_Network_Protocol__PBJ_Internal_TimeSync__FieldAccessorTable; }
}
#region Nested types
public static class Types {
public enum ReturnOptions {
REPLY_RELIABLE = 1,
REPLY_ORDERED = 2,
}
}
#endregion
public const int ClientTimeFieldNumber = 9;
private bool hasClientTime;
private ulong clientTime_ = 0;
public bool HasClientTime {
get { return hasClientTime; }
}
[global::System.CLSCompliant(false)]
public ulong ClientTime {
get { return clientTime_; }
}
public const int ServerTimeFieldNumber = 10;
private bool hasServerTime;
private ulong serverTime_ = 0;
public bool HasServerTime {
get { return hasServerTime; }
}
[global::System.CLSCompliant(false)]
public ulong ServerTime {
get { return serverTime_; }
}
public const int SyncRoundFieldNumber = 11;
private bool hasSyncRound;
private ulong syncRound_ = 0UL;
public bool HasSyncRound {
get { return hasSyncRound; }
}
[global::System.CLSCompliant(false)]
public ulong SyncRound {
get { return syncRound_; }
}
public const int ReturnOptionsFieldNumber = 14;
private bool hasReturnOptions;
private uint returnOptions_ = 0;
public bool HasReturnOptions {
get { return hasReturnOptions; }
}
[global::System.CLSCompliant(false)]
public uint ReturnOptions {
get { return returnOptions_; }
}
public const int RoundTripFieldNumber = 2561;
private bool hasRoundTrip;
private ulong roundTrip_ = 0;
public bool HasRoundTrip {
get { return hasRoundTrip; }
}
[global::System.CLSCompliant(false)]
public ulong RoundTrip {
get { return roundTrip_; }
}
public override bool IsInitialized {
get {
return true;
}
}
public override void WriteTo(pb::CodedOutputStream output) {
if (HasClientTime) {
output.WriteFixed64(9, ClientTime);
}
if (HasServerTime) {
output.WriteFixed64(10, ServerTime);
}
if (HasSyncRound) {
output.WriteUInt64(11, SyncRound);
}
if (HasReturnOptions) {
output.WriteUInt32(14, ReturnOptions);
}
if (HasRoundTrip) {
output.WriteFixed64(2561, RoundTrip);
}
UnknownFields.WriteTo(output);
}
private int memoizedSerializedSize = -1;
public override int SerializedSize {
get {
int size = memoizedSerializedSize;
if (size != -1) return size;
size = 0;
if (HasClientTime) {
size += pb::CodedOutputStream.ComputeFixed64Size(9, ClientTime);
}
if (HasServerTime) {
size += pb::CodedOutputStream.ComputeFixed64Size(10, ServerTime);
}
if (HasSyncRound) {
size += pb::CodedOutputStream.ComputeUInt64Size(11, SyncRound);
}
if (HasReturnOptions) {
size += pb::CodedOutputStream.ComputeUInt32Size(14, ReturnOptions);
}
if (HasRoundTrip) {
size += pb::CodedOutputStream.ComputeFixed64Size(2561, RoundTrip);
}
size += UnknownFields.SerializedSize;
memoizedSerializedSize = size;
return size;
}
}
public static TimeSync ParseFrom(pb::ByteString data) {
return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
}
public static TimeSync ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
}
public static TimeSync ParseFrom(byte[] data) {
return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
}
public static TimeSync ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
}
public static TimeSync ParseFrom(global::System.IO.Stream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
public static TimeSync ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static TimeSync ParseDelimitedFrom(global::System.IO.Stream input) {
return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
}
public static TimeSync ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
public static TimeSync ParseFrom(pb::CodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
public static TimeSync ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(TimeSync prototype) {
return (Builder) new Builder().MergeFrom(prototype);
}
public sealed partial class Builder : pb::GeneratedBuilder<TimeSync, Builder> {
protected override Builder ThisBuilder {
get { return this; }
}
public Builder() {}
TimeSync result = new TimeSync();
protected override TimeSync MessageBeingBuilt {
get { return result; }
}
public override Builder Clear() {
result = new TimeSync();
return this;
}
public override Builder Clone() {
return new Builder().MergeFrom(result);
}
public override pbd::MessageDescriptor DescriptorForType {
get { return global::Sirikata.Network.Protocol._PBJ_Internal.TimeSync.Descriptor; }
}
public override TimeSync DefaultInstanceForType {
get { return global::Sirikata.Network.Protocol._PBJ_Internal.TimeSync.DefaultInstance; }
}
public override TimeSync BuildPartial() {
if (result == null) {
throw new global::System.InvalidOperationException("build() has already been called on this Builder");
}
TimeSync returnMe = result;
result = null;
return returnMe;
}
public override Builder MergeFrom(pb::IMessage other) {
if (other is TimeSync) {
return MergeFrom((TimeSync) other);
} else {
base.MergeFrom(other);
return this;
}
}
public override Builder MergeFrom(TimeSync other) {
if (other == global::Sirikata.Network.Protocol._PBJ_Internal.TimeSync.DefaultInstance) return this;
if (other.HasClientTime) {
ClientTime = other.ClientTime;
}
if (other.HasServerTime) {
ServerTime = other.ServerTime;
}
if (other.HasSyncRound) {
SyncRound = other.SyncRound;
}
if (other.HasReturnOptions) {
ReturnOptions = other.ReturnOptions;
}
if (other.HasRoundTrip) {
RoundTrip = other.RoundTrip;
}
this.MergeUnknownFields(other.UnknownFields);
return this;
}
public override Builder MergeFrom(pb::CodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
while (true) {
uint tag = input.ReadTag();
switch (tag) {
case 0: {
if (unknownFields != null) {
this.UnknownFields = unknownFields.Build();
}
return this;
}
default: {
if (pb::WireFormat.IsEndGroupTag(tag)) {
if (unknownFields != null) {
this.UnknownFields = unknownFields.Build();
}
return this;
}
if (unknownFields == null) {
unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
}
ParseUnknownField(input, unknownFields, extensionRegistry, tag);
break;
}
case 73: {
ClientTime = input.ReadFixed64();
break;
}
case 81: {
ServerTime = input.ReadFixed64();
break;
}
case 88: {
SyncRound = input.ReadUInt64();
break;
}
case 112: {
ReturnOptions = input.ReadUInt32();
break;
}
case 20489: {
RoundTrip = input.ReadFixed64();
break;
}
}
}
}
public bool HasClientTime {
get { return result.HasClientTime; }
}
[global::System.CLSCompliant(false)]
public ulong ClientTime {
get { return result.ClientTime; }
set { SetClientTime(value); }
}
[global::System.CLSCompliant(false)]
public Builder SetClientTime(ulong value) {
result.hasClientTime = true;
result.clientTime_ = value;
return this;
}
public Builder ClearClientTime() {
result.hasClientTime = false;
result.clientTime_ = 0;
return this;
}
public bool HasServerTime {
get { return result.HasServerTime; }
}
[global::System.CLSCompliant(false)]
public ulong ServerTime {
get { return result.ServerTime; }
set { SetServerTime(value); }
}
[global::System.CLSCompliant(false)]
public Builder SetServerTime(ulong value) {
result.hasServerTime = true;
result.serverTime_ = value;
return this;
}
public Builder ClearServerTime() {
result.hasServerTime = false;
result.serverTime_ = 0;
return this;
}
public bool HasSyncRound {
get { return result.HasSyncRound; }
}
[global::System.CLSCompliant(false)]
public ulong SyncRound {
get { return result.SyncRound; }
set { SetSyncRound(value); }
}
[global::System.CLSCompliant(false)]
public Builder SetSyncRound(ulong value) {
result.hasSyncRound = true;
result.syncRound_ = value;
return this;
}
public Builder ClearSyncRound() {
result.hasSyncRound = false;
result.syncRound_ = 0UL;
return this;
}
public bool HasReturnOptions {
get { return result.HasReturnOptions; }
}
[global::System.CLSCompliant(false)]
public uint ReturnOptions {
get { return result.ReturnOptions; }
set { SetReturnOptions(value); }
}
[global::System.CLSCompliant(false)]
public Builder SetReturnOptions(uint value) {
result.hasReturnOptions = true;
result.returnOptions_ = value;
return this;
}
public Builder ClearReturnOptions() {
result.hasReturnOptions = false;
result.returnOptions_ = 0;
return this;
}
public bool HasRoundTrip {
get { return result.HasRoundTrip; }
}
[global::System.CLSCompliant(false)]
public ulong RoundTrip {
get { return result.RoundTrip; }
set { SetRoundTrip(value); }
}
[global::System.CLSCompliant(false)]
public Builder SetRoundTrip(ulong value) {
result.hasRoundTrip = true;
result.roundTrip_ = value;
return this;
}
public Builder ClearRoundTrip() {
result.hasRoundTrip = false;
result.roundTrip_ = 0;
return this;
}
}
static TimeSync() {
object.ReferenceEquals(global::Sirikata.Network.Protocol._PBJ_Internal.Time.Descriptor, null);
}
}
#endregion
}
@@ -1,245 +0,0 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using pbd = global::Google.ProtocolBuffers.Descriptors;
using pb = global::Google.ProtocolBuffers;
namespace Sirikata.Network.Protocol {
public class TimeSync : PBJ.IMessage {
protected _PBJ_Internal.TimeSync super;
public _PBJ_Internal.TimeSync _PBJSuper{ get { return super;} }
public TimeSync() {
super=new _PBJ_Internal.TimeSync();
}
public TimeSync(_PBJ_Internal.TimeSync reference) {
super=reference;
}
public static TimeSync defaultInstance= new TimeSync (_PBJ_Internal.TimeSync.DefaultInstance);
public static TimeSync DefaultInstance{
get {return defaultInstance;}
}
public static pbd.MessageDescriptor Descriptor {
get { return _PBJ_Internal.TimeSync.Descriptor; } }
public static class Types {
public enum ReturnOptions {
REPLY_RELIABLE=_PBJ_Internal.TimeSync.Types.ReturnOptions.REPLY_RELIABLE,
REPLY_ORDERED=_PBJ_Internal.TimeSync.Types.ReturnOptions.REPLY_ORDERED
};
}
public static bool WithinReservedFieldTagRange(int field_tag) {
return false||(field_tag>=1&&field_tag<=8)||(field_tag>=1536&&field_tag<=2560)||(field_tag>=229376&&field_tag<=294912);
}
public static bool WithinExtensionFieldTagRange(int field_tag) {
return false;
}
public const int ClientTimeFieldTag=9;
public bool HasClientTime{ get {return super.HasClientTime&&PBJ._PBJ.ValidateTime(super.ClientTime);} }
public PBJ.Time ClientTime{ get {
if (HasClientTime) {
return PBJ._PBJ.CastTime(super.ClientTime);
} else {
return PBJ._PBJ.CastTime();
}
}
}
public const int ServerTimeFieldTag=10;
public bool HasServerTime{ get {return super.HasServerTime&&PBJ._PBJ.ValidateTime(super.ServerTime);} }
public PBJ.Time ServerTime{ get {
if (HasServerTime) {
return PBJ._PBJ.CastTime(super.ServerTime);
} else {
return PBJ._PBJ.CastTime();
}
}
}
public const int SyncRoundFieldTag=11;
public bool HasSyncRound{ get {return super.HasSyncRound&&PBJ._PBJ.ValidateUint64(super.SyncRound);} }
public ulong SyncRound{ get {
if (HasSyncRound) {
return PBJ._PBJ.CastUint64(super.SyncRound);
} else {
return PBJ._PBJ.CastUint64();
}
}
}
public const int ReturnOptionsFieldTag=14;
public bool HasReturnOptions { get {
if (!super.HasReturnOptions) return false;
return PBJ._PBJ.ValidateFlags(super.ReturnOptions,(ulong)Types.ReturnOptions.REPLY_RELIABLE|(ulong)Types.ReturnOptions.REPLY_ORDERED);
} }
public uint ReturnOptions{ get {
if (HasReturnOptions) {
return (uint)PBJ._PBJ.CastFlags(super.ReturnOptions,(ulong)Types.ReturnOptions.REPLY_RELIABLE|(ulong)Types.ReturnOptions.REPLY_ORDERED);
} else {
return (uint)PBJ._PBJ.CastFlags((ulong)Types.ReturnOptions.REPLY_RELIABLE|(ulong)Types.ReturnOptions.REPLY_ORDERED);
}
}
}
public const int RoundTripFieldTag=2561;
public bool HasRoundTrip{ get {return super.HasRoundTrip&&PBJ._PBJ.ValidateTime(super.RoundTrip);} }
public PBJ.Time RoundTrip{ get {
if (HasRoundTrip) {
return PBJ._PBJ.CastTime(super.RoundTrip);
} else {
return PBJ._PBJ.CastTime();
}
}
}
public override Google.ProtocolBuffers.IMessage _PBJISuper { get { return super; } }
public override PBJ.IMessage.IBuilder WeakCreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder() { return new Builder(); }
public static Builder CreateBuilder(TimeSync prototype) {
return (Builder)new Builder().MergeFrom(prototype);
}
public static TimeSync ParseFrom(pb::ByteString data) {
return new TimeSync(_PBJ_Internal.TimeSync.ParseFrom(data));
}
public static TimeSync ParseFrom(pb::ByteString data, pb::ExtensionRegistry er) {
return new TimeSync(_PBJ_Internal.TimeSync.ParseFrom(data,er));
}
public static TimeSync ParseFrom(byte[] data) {
return new TimeSync(_PBJ_Internal.TimeSync.ParseFrom(data));
}
public static TimeSync ParseFrom(byte[] data, pb::ExtensionRegistry er) {
return new TimeSync(_PBJ_Internal.TimeSync.ParseFrom(data,er));
}
public static TimeSync ParseFrom(global::System.IO.Stream data) {
return new TimeSync(_PBJ_Internal.TimeSync.ParseFrom(data));
}
public static TimeSync ParseFrom(global::System.IO.Stream data, pb::ExtensionRegistry er) {
return new TimeSync(_PBJ_Internal.TimeSync.ParseFrom(data,er));
}
public static TimeSync ParseFrom(pb::CodedInputStream data) {
return new TimeSync(_PBJ_Internal.TimeSync.ParseFrom(data));
}
public static TimeSync ParseFrom(pb::CodedInputStream data, pb::ExtensionRegistry er) {
return new TimeSync(_PBJ_Internal.TimeSync.ParseFrom(data,er));
}
protected override bool _HasAllPBJFields{ get {
return true
;
} }
public bool IsInitialized { get {
return super.IsInitialized&&_HasAllPBJFields;
} }
public class Builder : global::PBJ.IMessage.IBuilder{
protected override bool _HasAllPBJFields{ get {
return true
;
} }
public bool IsInitialized { get {
return super.IsInitialized&&_HasAllPBJFields;
} }
protected _PBJ_Internal.TimeSync.Builder super;
public override Google.ProtocolBuffers.IBuilder _PBJISuper { get { return super; } }
public _PBJ_Internal.TimeSync.Builder _PBJSuper{ get { return super;} }
public Builder() {super = new _PBJ_Internal.TimeSync.Builder();}
public Builder(_PBJ_Internal.TimeSync.Builder other) {
super=other;
}
public Builder Clone() {return new Builder(super.Clone());}
public Builder MergeFrom(TimeSync prototype) { super.MergeFrom(prototype._PBJSuper);return this;}
public Builder Clear() {super.Clear();return this;}
public TimeSync BuildPartial() {return new TimeSync(super.BuildPartial());}
public TimeSync Build() {if (_HasAllPBJFields) return new TimeSync(super.Build());return null;}
public pbd::MessageDescriptor DescriptorForType {
get { return TimeSync.Descriptor; } }
public Builder ClearClientTime() { super.ClearClientTime();return this;}
public const int ClientTimeFieldTag=9;
public bool HasClientTime{ get {return super.HasClientTime&&PBJ._PBJ.ValidateTime(super.ClientTime);} }
public PBJ.Time ClientTime{ get {
if (HasClientTime) {
return PBJ._PBJ.CastTime(super.ClientTime);
} else {
return PBJ._PBJ.CastTime();
}
}
set {
super.ClientTime=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearServerTime() { super.ClearServerTime();return this;}
public const int ServerTimeFieldTag=10;
public bool HasServerTime{ get {return super.HasServerTime&&PBJ._PBJ.ValidateTime(super.ServerTime);} }
public PBJ.Time ServerTime{ get {
if (HasServerTime) {
return PBJ._PBJ.CastTime(super.ServerTime);
} else {
return PBJ._PBJ.CastTime();
}
}
set {
super.ServerTime=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearSyncRound() { super.ClearSyncRound();return this;}
public const int SyncRoundFieldTag=11;
public bool HasSyncRound{ get {return super.HasSyncRound&&PBJ._PBJ.ValidateUint64(super.SyncRound);} }
public ulong SyncRound{ get {
if (HasSyncRound) {
return PBJ._PBJ.CastUint64(super.SyncRound);
} else {
return PBJ._PBJ.CastUint64();
}
}
set {
super.SyncRound=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearReturnOptions() { super.ClearReturnOptions();return this;}
public const int ReturnOptionsFieldTag=14;
public bool HasReturnOptions { get {
if (!super.HasReturnOptions) return false;
return PBJ._PBJ.ValidateFlags(super.ReturnOptions,(ulong)Types.ReturnOptions.REPLY_RELIABLE|(ulong)Types.ReturnOptions.REPLY_ORDERED);
} }
public uint ReturnOptions{ get {
if (HasReturnOptions) {
return (uint)PBJ._PBJ.CastFlags(super.ReturnOptions,(ulong)Types.ReturnOptions.REPLY_RELIABLE|(ulong)Types.ReturnOptions.REPLY_ORDERED);
} else {
return (uint)PBJ._PBJ.CastFlags((ulong)Types.ReturnOptions.REPLY_RELIABLE|(ulong)Types.ReturnOptions.REPLY_ORDERED);
}
}
set {
super.ReturnOptions=((value));
}
}
public Builder ClearRoundTrip() { super.ClearRoundTrip();return this;}
public const int RoundTripFieldTag=2561;
public bool HasRoundTrip{ get {return super.HasRoundTrip&&PBJ._PBJ.ValidateTime(super.RoundTrip);} }
public PBJ.Time RoundTrip{ get {
if (HasRoundTrip) {
return PBJ._PBJ.CastTime(super.RoundTrip);
} else {
return PBJ._PBJ.CastTime();
}
}
set {
super.RoundTrip=(PBJ._PBJ.Construct(value));
}
}
}
}
}
-139
View File
@@ -1,139 +0,0 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
// THIS MODULE USES CODE FROM SIRIKATA, THE SIRIKATA LICENSE IS BELOW
/*
Sirikata is Licensed using the revised BSD license.
If you have any questions, contact Patrick Horn at <patrick.horn@gmail.com>
Copyright (c) 2008, the Sirikata developers (see AUTHORS file for credit).
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
* Neither the name of Sirikata nor the names of its contributors may
be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections.Generic;
using System.Net;
using System.Net.Sockets;
using Nini.Config;
using OpenMetaverse;
using OpenSim.Client.Sirikata.ClientStack;
using OpenSim.Framework;
using OpenSim.Framework.Servers;
using OpenSim.Framework.Servers.HttpServer;
using OpenSim.Region.Framework.Interfaces;
using OpenSim.Region.Framework.Scenes;
namespace OpenSim.Client.Sirikata
{
class SirikataModule : IRegionModule
{
private bool m_enabled = false;
private TcpListener m_listener;
private bool m_running = true;
private List<Scene> m_scenes = new List<Scene>();
private Dictionary<UUID,SirikataClientView> m_clients = new Dictionary<UUID, SirikataClientView>();
#region Implementation of IRegionModule
public void Initialise(Scene scene, IConfigSource source)
{
lock (m_scenes)
m_scenes.Add(scene);
}
public void PostInitialise()
{
if (!m_enabled)
return;
m_listener = new TcpListener(IPAddress.Any, 5943);
}
private void ListenLoop()
{
while (m_running)
{
m_listener.BeginAcceptTcpClient(AcceptSocket, m_listener);
}
}
private void AcceptSocket(IAsyncResult ar)
{
TcpListener listener = (TcpListener) ar.AsyncState;
TcpClient client = listener.EndAcceptTcpClient(ar);
SirikataClientView clientView = new SirikataClientView(client);
lock (m_clients)
m_clients.Add(clientView.SessionId, clientView);
}
public void Close()
{
}
public string Name
{
get { return "Sirikata ClientStack Module"; }
}
public bool IsSharedModule
{
get { return true; }
}
#endregion
}
}
File diff suppressed because it is too large Load Diff
-133
View File
@@ -1,133 +0,0 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections.Generic;
using System.Text;
using Nini.Config;
using OpenMetaverse;
using OpenSim.Client.VWoHTTP.ClientStack;
using OpenSim.Framework;
using OpenSim.Framework.Servers;
using OpenSim.Framework.Servers.HttpServer;
using OpenSim.Region.Framework.Interfaces;
using OpenSim.Region.Framework.Scenes;
namespace OpenSim.Client.VWoHTTP
{
class VWoHTTPModule : IRegionModule, IHttpAgentHandler
{
private bool m_disabled = true;
private IHttpServer m_httpd;
private readonly List<Scene> m_scenes = new List<Scene>();
private Dictionary<UUID, VWHClientView> m_clients = new Dictionary<UUID, VWHClientView>();
#region Implementation of IRegionModule
public void Initialise(Scene scene, IConfigSource source)
{
if (m_disabled)
return;
m_scenes.Add(scene);
m_httpd = MainServer.Instance;
}
public void PostInitialise()
{
if (m_disabled)
return;
m_httpd.AddAgentHandler("vwohttp", this);
}
public void Close()
{
if (m_disabled)
return;
m_httpd.RemoveAgentHandler("vwohttp", this);
}
public string Name
{
get { return "VWoHTTP ClientStack"; }
}
public bool IsSharedModule
{
get { return true; }
}
#endregion
#region Implementation of IHttpAgentHandler
public bool Handle(OSHttpRequest req, OSHttpResponse resp)
{
string[] urlparts = req.Url.AbsolutePath.Split(new char[] {'/'}, StringSplitOptions.RemoveEmptyEntries);
if (urlparts.Length < 2)
return false;
if (urlparts[1] == "connect")
{
UUID sessID = UUID.Random();
VWHClientView client = new VWHClientView(sessID, UUID.Random(), "VWoHTTPClient", m_scenes[0]);
m_clients.Add(sessID, client);
return true;
}
else
{
if (urlparts.Length < 3)
return false;
UUID sessionID;
if (!UUID.TryParse(urlparts[1], out sessionID))
return false;
if (!m_clients.ContainsKey(sessionID))
return false;
return m_clients[sessionID].ProcessInMsg(req, resp);
}
}
public bool Match(OSHttpRequest req, OSHttpResponse resp)
{
return req.Url.ToString().Contains("vwohttp");
}
#endregion
}
}
+1
View File
@@ -33,6 +33,7 @@ using System.IO;
using System.Xml;
using System.Collections.Generic;
using OpenSim.Server.Base;
using OpenSim.Framework;
using OpenSim.Framework.Console;
using OpenMetaverse;
+29 -2
View File
@@ -1,4 +1,31 @@
using System;
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections.Generic;
using System.Text;
using OpenMetaverse;
@@ -17,7 +44,7 @@ namespace OpenSim.Data
/// <returns></returns>
public static UUID FromDB(object id)
{
if( (id == null) || (id == DBNull.Value))
if ((id == null) || (id == DBNull.Value))
return UUID.Zero;
if (id.GetType() == typeof(Guid))
-11
View File
@@ -40,15 +40,4 @@ namespace OpenSim.Data
void Initialise(string connect);
bool Delete(string id);
}
public class AssetDataInitialiser : PluginInitialiserBase
{
private string connect;
public AssetDataInitialiser (string s) { connect = s; }
public override void Initialise (IPlugin plugin)
{
IAssetDataPlugin p = plugin as IAssetDataPlugin;
p.Initialise (connect);
}
}
}
+3 -1
View File
@@ -34,7 +34,7 @@ namespace OpenSim.Data
{
public class FriendsData
{
public UUID PrincipalID;
public string PrincipalID;
public string Friend;
public Dictionary<string, string> Data;
}
@@ -46,6 +46,8 @@ namespace OpenSim.Data
{
bool Store(FriendsData data);
bool Delete(UUID ownerID, string friend);
bool Delete(string ownerID, string friend);
FriendsData[] GetFriends(UUID principalID);
FriendsData[] GetFriends(string principalID);
}
}
-11
View File
@@ -155,15 +155,4 @@ namespace OpenSim.Data
/// </returns>
List<InventoryItemBase> fetchActiveGestures(UUID avatarID);
}
public class InventoryDataInitialiser : PluginInitialiserBase
{
private string connect;
public InventoryDataInitialiser (string s) { connect = s; }
public override void Initialise (IPlugin plugin)
{
IInventoryDataPlugin p = plugin as IInventoryDataPlugin;
p.Initialise (connect);
}
}
}
+1
View File
@@ -49,6 +49,7 @@ namespace OpenSim.Data
bool Store(PresenceData data);
PresenceData Get(UUID sessionID);
PresenceData Verify(UUID s_sessionID);
void LogoutRegionAgents(UUID regionID);
bool ReportAgent(UUID sessionID, UUID regionID);
PresenceData[] Get(string field, string data);
+43
View File
@@ -37,10 +37,30 @@ namespace OpenSim.Data
public UUID RegionID;
public UUID ScopeID;
public string RegionName;
/// <summary>
/// The position in meters of this region.
/// </summary>
public int posX;
/// <summary>
/// The position in meters of this region.
/// </summary>
public int posY;
public int sizeX;
public int sizeY;
/// <summary>
/// Return the x-coordinate of this region.
/// </summary>
public int coordX { get { return posX / (int)Constants.RegionSize; } }
/// <summary>
/// Return the y-coordinate of this region.
/// </summary>
public int coordY { get { return posY / (int)Constants.RegionSize; } }
public Dictionary<string, object> Data;
}
@@ -62,6 +82,7 @@ namespace OpenSim.Data
List<RegionData> GetDefaultRegions(UUID scopeID);
List<RegionData> GetFallbackRegions(UUID scopeID, int x, int y);
List<RegionData> GetHyperlinks(UUID scopeID);
}
[Flags]
@@ -78,4 +99,26 @@ namespace OpenSim.Data
Authenticate = 256, // Require authentication
Hyperlink = 512 // Record represents a HG link
}
public class RegionDataDistanceCompare : IComparer<RegionData>
{
private Vector2 m_origin;
public RegionDataDistanceCompare(int x, int y)
{
m_origin = new Vector2(x, y);
}
public int Compare(RegionData regionA, RegionData regionB)
{
Vector2 vectorA = new Vector2(regionA.posX, regionA.posY);
Vector2 vectorB = new Vector2(regionB.posX, regionB.posY);
return Math.Sign(VectorDistance(m_origin, vectorA) - VectorDistance(m_origin, vectorB));
}
private float VectorDistance(Vector2 x, Vector2 y)
{
return (x - y).Length();
}
}
}
@@ -25,27 +25,23 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System.IO;
using System.Collections.Generic;
using OpenMetaverse;
using OpenSim.Framework;
using OpenSim.Region.Framework.Scenes;
namespace OpenSim.Region.Examples.SimpleModule
namespace OpenSim.Data
{
public class FileSystemObject : SceneObjectGroup
/// <summary>
/// This interface exists to distinguish between the normal IAssetDataPlugin and the one used by XAssetService
/// for now.
/// </summary>
public interface IXAssetDataPlugin : IPlugin
{
public FileSystemObject(FileInfo fileInfo, Vector3 pos)
: base(UUID.Zero, pos, PrimitiveBaseShape.Default)
{
Text = fileInfo.Name;
}
protected override bool InSceneBackup
{
get
{
return false;
}
}
AssetBase GetAsset(UUID uuid);
void StoreAsset(AssetBase asset);
bool ExistsAsset(UUID uuid);
List<AssetMetadata> FetchAssetMetadataSet(int start, int count);
void Initialise(string connect);
bool Delete(string id);
}
}
}
+29
View File
@@ -74,9 +74,38 @@ namespace OpenSim.Data
bool StoreFolder(XInventoryFolder folder);
bool StoreItem(XInventoryItem item);
/// <summary>
/// Delete folders where field == val
/// </summary>
/// <param name="field"></param>
/// <param name="val"></param>
/// <returns>true if the delete was successful, false if it was not</returns>
bool DeleteFolders(string field, string val);
/// <summary>
/// Delete folders where field1 == val1, field2 == val2...
/// </summary>
/// <param name="fields"></param>
/// <param name="vals"></param>
/// <returns>true if the delete was successful, false if it was not</returns>
bool DeleteFolders(string[] fields, string[] vals);
/// <summary>
/// Delete items where field == val
/// </summary>
/// <param name="field"></param>
/// <param name="val"></param>
/// <returns>true if the delete was successful, false if it was not</returns>
bool DeleteItems(string field, string val);
/// <summary>
/// Delete items where field1 == val1, field2 == val2...
/// </summary>
/// <param name="fields"></param>
/// <param name="vals"></param>
/// <returns>true if the delete was successful, false if it was not</returns>
bool DeleteItems(string[] fields, string[] vals);
bool MoveItem(string id, string newParent);
XInventoryItem[] GetActiveGestures(UUID principalID);
int GetAssetPermissions(UUID principalID, UUID assetID);
+1 -1
View File
@@ -43,7 +43,7 @@ namespace OpenSim.Data.MSSQL
public class MSSQLAvatarData : MSSQLGenericTableHandler<AvatarBaseData>,
IAvatarData
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
public MSSQLAvatarData(string connectionString, string realm) :
base(connectionString, realm, "Avatar")
+267 -58
View File
@@ -41,7 +41,7 @@ namespace OpenSim.Data.MSSQL
{
private const string _migrationStore = "EstateStore";
private static readonly ILog _Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private MSSQLManager _Database;
private string m_connectionString;
@@ -50,6 +50,15 @@ namespace OpenSim.Data.MSSQL
#region Public methods
public MSSQLEstateStore()
{
}
public MSSQLEstateStore(string connectionString)
{
Initialise(connectionString);
}
/// <summary>
/// Initialises the estatedata class.
/// </summary>
@@ -63,7 +72,12 @@ namespace OpenSim.Data.MSSQL
}
//Migration settings
_Database.CheckMigration(_migrationStore);
using (SqlConnection conn = new SqlConnection(m_connectionString))
{
conn.Open();
Migration m = new Migration(conn, GetType().Assembly, "EstateStore");
m.Update();
}
//Interesting way to get parameters! Maybe implement that also with other types
Type t = typeof(EstateSettings);
@@ -103,19 +117,19 @@ namespace OpenSim.Data.MSSQL
{
FieldInfo f = _FieldMap[name];
object v = reader[name];
if (f.FieldType == typeof(bool) )
if (f.FieldType == typeof(bool))
{
f.SetValue(es, Convert.ToInt32(v) != 0);
}
else if (f.FieldType == typeof(UUID) )
else if (f.FieldType == typeof(UUID))
{
f.SetValue(es, new UUID((Guid)v)); // uuid);
}
else if (f.FieldType == typeof(string))
else if (f.FieldType == typeof(string))
{
f.SetValue(es, v.ToString());
}
else if (f.FieldType == typeof(UInt32))
else if (f.FieldType == typeof(UInt32))
{
f.SetValue(es, Convert.ToUInt32(v));
}
@@ -134,55 +148,10 @@ namespace OpenSim.Data.MSSQL
}
}
if (insertEstate && create)
{
List<string> names = new List<string>(FieldList);
names.Remove("EstateID");
sql = string.Format("insert into estate_settings ({0}) values ( @{1})", String.Join(",", names.ToArray()), String.Join(", @", names.ToArray()));
//_Log.Debug("[DB ESTATE]: SQL: " + sql);
using (SqlConnection conn = new SqlConnection(m_connectionString))
using (SqlCommand insertCommand = new SqlCommand(sql, conn))
{
insertCommand.CommandText = sql + " SET @ID = SCOPE_IDENTITY()";
foreach (string name in names)
{
insertCommand.Parameters.Add(_Database.CreateParameter("@" + name, _FieldMap[name].GetValue(es)));
}
SqlParameter idParameter = new SqlParameter("@ID", SqlDbType.Int);
idParameter.Direction = ParameterDirection.Output;
insertCommand.Parameters.Add(idParameter);
conn.Open();
insertCommand.ExecuteNonQuery();
es.EstateID = Convert.ToUInt32(idParameter.Value);
}
sql = "INSERT INTO [estate_map] ([RegionID] ,[EstateID]) VALUES (@RegionID, @EstateID)";
using (SqlConnection conn = new SqlConnection(m_connectionString))
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.Add(_Database.CreateParameter("@RegionID", regionID));
cmd.Parameters.Add(_Database.CreateParameter("@EstateID", es.EstateID));
// This will throw on dupe key
try
{
conn.Open();
cmd.ExecuteNonQuery();
}
catch (Exception e)
{
_Log.DebugFormat("[ESTATE DB]: Error inserting regionID and EstateID in estate_map: {0}", e);
}
}
//TODO check if this is needed??
es.Save();
DoCreate(es);
LinkRegion(regionID, (int)es.EstateID);
}
LoadBanList(es);
@@ -196,6 +165,53 @@ namespace OpenSim.Data.MSSQL
return es;
}
public EstateSettings CreateNewEstate()
{
EstateSettings es = new EstateSettings();
es.OnSave += StoreEstateSettings;
DoCreate(es);
LoadBanList(es);
es.EstateManagers = LoadUUIDList(es.EstateID, "estate_managers");
es.EstateAccess = LoadUUIDList(es.EstateID, "estate_users");
es.EstateGroups = LoadUUIDList(es.EstateID, "estate_groups");
return es;
}
private void DoCreate(EstateSettings es)
{
List<string> names = new List<string>(FieldList);
names.Remove("EstateID");
string sql = string.Format("insert into estate_settings ({0}) values ( @{1})", String.Join(",", names.ToArray()), String.Join(", @", names.ToArray()));
//_Log.Debug("[DB ESTATE]: SQL: " + sql);
using (SqlConnection conn = new SqlConnection(m_connectionString))
using (SqlCommand insertCommand = new SqlCommand(sql, conn))
{
insertCommand.CommandText = sql + " SET @ID = SCOPE_IDENTITY()";
foreach (string name in names)
{
insertCommand.Parameters.Add(_Database.CreateParameter("@" + name, _FieldMap[name].GetValue(es)));
}
SqlParameter idParameter = new SqlParameter("@ID", SqlDbType.Int);
idParameter.Direction = ParameterDirection.Output;
insertCommand.Parameters.Add(idParameter);
conn.Open();
insertCommand.ExecuteNonQuery();
es.EstateID = Convert.ToUInt32(idParameter.Value);
}
//TODO check if this is needed??
es.Save();
}
/// <summary>
/// Stores the estate settings.
/// </summary>
@@ -301,12 +317,12 @@ namespace OpenSim.Data.MSSQL
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "delete from estateban where EstateID = @EstateID";
cmd.CommandText = "delete from estateban where EstateID = @EstateID";
cmd.Parameters.AddWithValue("@EstateID", (int)es.EstateID);
cmd.ExecuteNonQuery();
//Insert after
cmd.CommandText = "insert into estateban (EstateID, bannedUUID) values ( @EstateID, @bannedUUID )";
cmd.CommandText = "insert into estateban (EstateID, bannedUUID,bannedIp, bannedIpHostMask, bannedNameMask) values ( @EstateID, @bannedUUID, '','','' )";
cmd.Parameters.AddWithValue("@bannedUUID", Guid.Empty);
foreach (EstateBan b in es.EstateBans)
{
@@ -341,26 +357,219 @@ namespace OpenSim.Data.MSSQL
public EstateSettings LoadEstateSettings(int estateID)
{
return new EstateSettings();
EstateSettings es = new EstateSettings();
string sql = "select estate_settings." + String.Join(",estate_settings.", FieldList) + " from estate_settings where EstateID = @EstateID";
using (SqlConnection conn = new SqlConnection(m_connectionString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddWithValue("@EstateID", (int)estateID);
using (SqlDataReader reader = cmd.ExecuteReader())
{
if (reader.Read())
{
foreach (string name in FieldList)
{
FieldInfo f = _FieldMap[name];
object v = reader[name];
if (f.FieldType == typeof(bool))
{
f.SetValue(es, Convert.ToInt32(v) != 0);
}
else if (f.FieldType == typeof(UUID))
{
f.SetValue(es, new UUID((Guid)v)); // uuid);
}
else if (f.FieldType == typeof(string))
{
f.SetValue(es, v.ToString());
}
else if (f.FieldType == typeof(UInt32))
{
f.SetValue(es, Convert.ToUInt32(v));
}
else if (f.FieldType == typeof(Single))
{
f.SetValue(es, Convert.ToSingle(v));
}
else
f.SetValue(es, v);
}
}
}
}
}
LoadBanList(es);
es.EstateManagers = LoadUUIDList(es.EstateID, "estate_managers");
es.EstateAccess = LoadUUIDList(es.EstateID, "estate_users");
es.EstateGroups = LoadUUIDList(es.EstateID, "estate_groups");
//Set event
es.OnSave += StoreEstateSettings;
return es;
}
public List<EstateSettings> LoadEstateSettingsAll()
{
List<EstateSettings> allEstateSettings = new List<EstateSettings>();
List<int> allEstateIds = GetEstatesAll();
foreach (int estateId in allEstateIds)
allEstateSettings.Add(LoadEstateSettings(estateId));
return allEstateSettings;
}
public List<int> GetEstates(string search)
{
return new List<int>();
List<int> result = new List<int>();
string sql = "select estateID from estate_settings where EstateName = @EstateName";
using (SqlConnection conn = new SqlConnection(m_connectionString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddWithValue("@EstateName", search);
using (IDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
result.Add(Convert.ToInt32(reader["EstateID"]));
}
reader.Close();
}
}
}
return result;
}
public List<int> GetEstatesAll()
{
List<int> result = new List<int>();
string sql = "select estateID from estate_settings";
using (SqlConnection conn = new SqlConnection(m_connectionString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
using (IDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
result.Add(Convert.ToInt32(reader["EstateID"]));
}
reader.Close();
}
}
}
return result;
}
public List<int> GetEstatesByOwner(UUID ownerID)
{
List<int> result = new List<int>();
string sql = "select estateID from estate_settings where EstateOwner = @EstateOwner";
using (SqlConnection conn = new SqlConnection(m_connectionString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddWithValue("@EstateOwner", ownerID);
using (IDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
result.Add(Convert.ToInt32(reader["EstateID"]));
}
reader.Close();
}
}
}
return result;
}
public bool LinkRegion(UUID regionID, int estateID)
{
string deleteSQL = "delete from estate_map where RegionID = @RegionID";
string insertSQL = "insert into estate_map values (@RegionID, @EstateID)";
using (SqlConnection conn = new SqlConnection(m_connectionString))
{
conn.Open();
SqlTransaction transaction = conn.BeginTransaction();
try
{
using (SqlCommand cmd = new SqlCommand(deleteSQL, conn))
{
cmd.Transaction = transaction;
cmd.Parameters.AddWithValue("@RegionID", regionID.Guid);
cmd.ExecuteNonQuery();
}
using (SqlCommand cmd = new SqlCommand(insertSQL, conn))
{
cmd.Transaction = transaction;
cmd.Parameters.AddWithValue("@RegionID", regionID.Guid);
cmd.Parameters.AddWithValue("@EstateID", estateID);
int ret = cmd.ExecuteNonQuery();
if (ret != 0)
transaction.Commit();
else
transaction.Rollback();
return (ret != 0);
}
}
catch (Exception ex)
{
m_log.Error("[REGION DB]: LinkRegion failed: " + ex.Message);
transaction.Rollback();
}
}
return false;
}
public List<UUID> GetRegions(int estateID)
{
return new List<UUID>();
List<UUID> result = new List<UUID>();
string sql = "select RegionID from estate_map where EstateID = @EstateID";
using (SqlConnection conn = new SqlConnection(m_connectionString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddWithValue("@EstateID", estateID);
using (IDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
result.Add(DBGuid.FromDB(reader["RegionID"]));
}
reader.Close();
}
}
}
return result;
}
public bool DeleteEstate(int estateID)
{
// TODO: Implementation!
return false;
}
#endregion
+16
View File
@@ -51,6 +51,11 @@ namespace OpenSim.Data.MSSQL
}
public bool Delete(UUID principalID, string friend)
{
return Delete(principalID.ToString(), friend);
}
public bool Delete(string principalID, string friend)
{
using (SqlConnection conn = new SqlConnection(m_ConnectionString))
using (SqlCommand cmd = new SqlCommand())
@@ -67,6 +72,11 @@ namespace OpenSim.Data.MSSQL
}
public FriendsData[] GetFriends(UUID principalID)
{
return GetFriends(principalID.ToString());
}
public FriendsData[] GetFriends(string principalID)
{
using (SqlConnection conn = new SqlConnection(m_ConnectionString))
using (SqlCommand cmd = new SqlCommand())
@@ -79,5 +89,11 @@ namespace OpenSim.Data.MSSQL
return DoQuery(cmd);
}
}
public FriendsData[] GetFriends(Guid principalID)
{
return GetFriends(principalID.ToString());
}
}
}
+38 -13
View File
@@ -40,8 +40,8 @@ namespace OpenSim.Data.MSSQL
{
public class MSSQLGenericTableHandler<T> where T : class, new()
{
private static readonly ILog m_log =
LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
// private static readonly ILog m_log =
// LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
protected string m_ConnectionString;
protected MSSQLManager m_database; //used for parameter type translation
@@ -56,15 +56,15 @@ namespace OpenSim.Data.MSSQL
string realm, string storeName)
{
m_Realm = realm;
m_ConnectionString = connectionString;
if (storeName != String.Empty)
{
Assembly assem = GetType().Assembly;
m_ConnectionString = connectionString;
using (SqlConnection conn = new SqlConnection(m_ConnectionString))
{
conn.Open();
Migration m = new Migration(conn, assem, storeName);
Migration m = new Migration(conn, GetType().Assembly, storeName);
m.Update();
}
@@ -168,14 +168,13 @@ namespace OpenSim.Data.MSSQL
protected T[] DoQuery(SqlCommand cmd)
{
List<T> result = new List<T>();
using (SqlDataReader reader = cmd.ExecuteReader())
{
if (reader == null)
return new T[0];
CheckColumnNames(reader);
List<T> result = new List<T>();
CheckColumnNames(reader);
while (reader.Read())
{
@@ -262,6 +261,15 @@ namespace OpenSim.Data.MSSQL
{
names.Add(fi.Name);
values.Add("@" + fi.Name);
// Temporarily return more information about what field is unexpectedly null for
// http://opensimulator.org/mantis/view.php?id=5403. This might be due to a bug in the
// InventoryTransferModule or we may be required to substitute a DBNull here.
if (fi.GetValue(row) == null)
throw new NullReferenceException(
string.Format(
"[MSSQL GENERIC TABLE HANDLER]: Trying to store field {0} for {1} which is unexpectedly null",
fi.Name, row));
if (constraintFields.Count > 0 && constraintFields.Contains(fi.Name))
{
constraints.Add(new KeyValuePair<string, string>(fi.Name, fi.GetValue(row).ToString()));
@@ -335,16 +343,33 @@ namespace OpenSim.Data.MSSQL
}
}
public virtual bool Delete(string field, string val)
public virtual bool Delete(string field, string key)
{
return Delete(new string[] { field }, new string[] { key });
}
public virtual bool Delete(string[] fields, string[] keys)
{
if (fields.Length != keys.Length)
return false;
List<string> terms = new List<string>();
using (SqlConnection conn = new SqlConnection(m_ConnectionString))
using (SqlCommand cmd = new SqlCommand())
{
string deleteCommand = String.Format("DELETE FROM {0} WHERE [{1}] = @{1}", m_Realm, field);
cmd.CommandText = deleteCommand;
cmd.Parameters.Add(m_database.CreateParameter(field, val));
for (int i = 0; i < fields.Length; i++)
{
cmd.Parameters.Add(m_database.CreateParameter(fields[i], keys[i]));
terms.Add("[" + fields[i] + "] = @" + fields[i]);
}
string where = String.Join(" AND ", terms.ToArray());
string query = String.Format("DELETE FROM {0} WHERE {1}", m_Realm, where);
cmd.Connection = conn;
cmd.CommandText = query;
conn.Open();
if (cmd.ExecuteNonQuery() > 0)
+1 -1
View File
@@ -43,7 +43,7 @@ namespace OpenSim.Data.MSSQL
public class MSSQLGridUserData : MSSQLGenericTableHandler<GridUserData>,
IGridUserData
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
public MSSQLGridUserData(string connectionString, string realm) :
base(connectionString, realm, "GridUserStore")
+1 -1
View File
@@ -813,7 +813,7 @@ namespace OpenSim.Data.MSSQL
{
try
{
using (SqlCommand command = new SqlCommand("DELETE FROM inventoryfolders WHERE folderID=@folderID", connection))
using (SqlCommand command = new SqlCommand("DELETE FROM inventoryfolders WHERE folderID=@folderID and type=-1", connection))
{
command.Parameters.Add(database.CreateParameter("folderID", folderID));
+6 -3
View File
@@ -41,7 +41,7 @@ namespace OpenSim.Data.MSSQL
/// </summary>
public class MSSQLManager
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
/// <summary>
/// Connection string for ADO.net
@@ -104,6 +104,11 @@ namespace OpenSim.Data.MSSQL
{
return SqlDbType.BigInt;
}
if (type == typeof(DateTime))
{
return SqlDbType.DateTime;
}
return SqlDbType.VarChar;
}
@@ -180,8 +185,6 @@ namespace OpenSim.Data.MSSQL
return parameter;
}
private static readonly Dictionary<string, string> emptyDictionary = new Dictionary<string, string>();
/// <summary>
/// Checks if we need to do some migrations to the database
/// </summary>
+32 -3
View File
@@ -29,16 +29,19 @@ using System;
using System.Data;
using System.Data.Common;
using System.Reflection;
using System.Data.SqlClient;
namespace OpenSim.Data.MSSQL
{
public class MSSQLMigration : Migration
{
public MSSQLMigration(DbConnection conn, Assembly assem, string type) : base(conn, assem, type)
public MSSQLMigration(DbConnection conn, Assembly assem, string type)
: base(conn, assem, type)
{
}
public MSSQLMigration(DbConnection conn, Assembly assem, string subtype, string type) : base(conn, assem, subtype, type)
public MSSQLMigration(DbConnection conn, Assembly assem, string subtype, string type)
: base(conn, assem, subtype, type)
{
}
@@ -61,10 +64,36 @@ namespace OpenSim.Data.MSSQL
}
catch
{
// Something went wrong, so we're version 0
// Return -1 to indicate table does not exist
return -1;
}
}
return version;
}
protected override void ExecuteScript(DbConnection conn, string[] script)
{
if (!(conn is SqlConnection))
{
base.ExecuteScript(conn, script);
return;
}
foreach (string sql in script)
{
try
{
using (SqlCommand cmd = new SqlCommand(sql, (SqlConnection)conn))
{
cmd.ExecuteNonQuery();
}
}
catch (Exception)
{
throw new Exception(sql);
}
}
}
}
}
+12 -1
View File
@@ -43,7 +43,7 @@ namespace OpenSim.Data.MSSQL
public class MSSQLPresenceData : MSSQLGenericTableHandler<PresenceData>,
IPresenceData
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
public MSSQLPresenceData(string connectionString, string realm) :
base(connectionString, realm, "Presence")
@@ -61,6 +61,17 @@ namespace OpenSim.Data.MSSQL
return ret[0];
}
public PresenceData Verify(UUID s_sessionID)
{
PresenceData[] ret = Get("SecureSessionID",
s_sessionID.ToString());
if (ret.Length == 0)
return null;
return ret[0];
}
public void LogoutRegionAgents(UUID regionID)
{
using (SqlConnection conn = new SqlConnection(m_ConnectionString))
+17 -14
View File
@@ -70,6 +70,7 @@ namespace OpenSim.Data.MSSQL
string sql = "select * from ["+m_Realm+"] where regionName like @regionName";
if (scopeID != UUID.Zero)
sql += " and ScopeID = @scopeID";
sql += " order by regionName";
using (SqlConnection conn = new SqlConnection(m_ConnectionString))
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
@@ -310,23 +311,26 @@ namespace OpenSim.Data.MSSQL
public List<RegionData> GetDefaultRegions(UUID scopeID)
{
string sql = "SELECT * FROM [" + m_Realm + "] WHERE (flags & 1) <> 0";
if (scopeID != UUID.Zero)
sql += " AND ScopeID = @scopeID";
using (SqlConnection conn = new SqlConnection(m_ConnectionString))
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.Add(m_database.CreateParameter("@scopeID", scopeID));
conn.Open();
return RunCommand(cmd);
}
return Get((int)RegionFlags.DefaultRegion, scopeID);
}
public List<RegionData> GetFallbackRegions(UUID scopeID, int x, int y)
{
string sql = "SELECT * FROM [" + m_Realm + "] WHERE (flags & 2) <> 0";
List<RegionData> regions = Get((int)RegionFlags.FallbackRegion, scopeID);
RegionDataDistanceCompare distanceComparer = new RegionDataDistanceCompare(x, y);
regions.Sort(distanceComparer);
return regions;
}
public List<RegionData> GetHyperlinks(UUID scopeID)
{
return Get((int)RegionFlags.Hyperlink, scopeID);
}
private List<RegionData> Get(int regionFlags, UUID scopeID)
{
string sql = "SELECT * FROM [" + m_Realm + "] WHERE (flags & " + regionFlags.ToString() + ") <> 0";
if (scopeID != UUID.Zero)
sql += " AND ScopeID = @scopeID";
@@ -335,7 +339,6 @@ namespace OpenSim.Data.MSSQL
{
cmd.Parameters.Add(m_database.CreateParameter("@scopeID", scopeID));
conn.Open();
// TODO: distance-sort results
return RunCommand(cmd);
}
}
@@ -43,7 +43,7 @@ namespace OpenSim.Data.MSSQL
/// <summary>
/// A MSSQL Interface for the Region Server.
/// </summary>
public class MSSQLRegionDataStore : IRegionDataStore
public class MSSQLSimulationData : ISimulationDataStore
{
private const string _migrationStore = "RegionStore";
@@ -55,6 +55,20 @@ namespace OpenSim.Data.MSSQL
/// </summary>
private MSSQLManager _Database;
private string m_connectionString;
protected virtual Assembly Assembly
{
get { return GetType().Assembly; }
}
public MSSQLSimulationData()
{
}
public MSSQLSimulationData(string connectionString)
{
Initialise(connectionString);
}
/// <summary>
/// Initialises the region datastore
/// </summary>
@@ -64,9 +78,13 @@ namespace OpenSim.Data.MSSQL
m_connectionString = connectionString;
_Database = new MSSQLManager(connectionString);
//Migration settings
_Database.CheckMigration(_migrationStore);
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
//New Migration settings
Migration m = new Migration(conn, Assembly, "RegionStore");
m.Update();
}
}
/// <summary>
@@ -89,7 +107,6 @@ namespace OpenSim.Data.MSSQL
Dictionary<UUID, SceneObjectGroup> objects = new Dictionary<UUID, SceneObjectGroup>();
SceneObjectGroup grp = null;
string sql = "SELECT *, " +
"sort = CASE WHEN prims.UUID = prims.SceneGroupID THEN 0 ELSE 1 END " +
"FROM prims " +
@@ -205,7 +222,7 @@ namespace OpenSim.Data.MSSQL
{
command.Parameters.Clear();
command.Parameters.Add(_Database.CreateParameter("@PrimID", objectPart.UUID));
List<TaskInventoryItem> inventory = new List<TaskInventoryItem>();
using (SqlDataReader reader = command.ExecuteReader())
@@ -232,7 +249,15 @@ namespace OpenSim.Data.MSSQL
/// <param name="regionUUID"></param>
public void StoreObject(SceneObjectGroup obj, UUID regionUUID)
{
_Log.InfoFormat("[MSSQL]: Adding/Changing SceneObjectGroup: {0} to region: {1}, object has {2} prims.", obj.UUID, regionUUID, obj.Children.Count);
uint flags = obj.RootPart.GetEffectiveObjectFlags();
// Eligibility check
//
if ((flags & (uint)PrimFlags.Temporary) != 0)
return;
if ((flags & (uint)PrimFlags.TemporaryOnRez) != 0)
return;
_Log.DebugFormat("[MSSQL]: Adding/Changing SceneObjectGroup: {0} to region: {1}, object has {2} prims.", obj.UUID, regionUUID, obj.Parts.Length);
using (SqlConnection conn = new SqlConnection(m_connectionString))
{
@@ -241,7 +266,7 @@ namespace OpenSim.Data.MSSQL
try
{
foreach (SceneObjectPart sceneObjectPart in obj.Children.Values)
foreach (SceneObjectPart sceneObjectPart in obj.Parts)
{
//Update prim
using (SqlCommand sqlCommand = conn.CreateCommand())
@@ -291,7 +316,6 @@ namespace OpenSim.Data.MSSQL
}
}
}
}
/// <summary>
@@ -327,7 +351,7 @@ IF EXISTS (SELECT UUID FROM prims WHERE UUID = @UUID)
ScriptAccessPin = @ScriptAccessPin, AllowedDrop = @AllowedDrop, DieAtEdge = @DieAtEdge, SalePrice = @SalePrice,
SaleType = @SaleType, ColorR = @ColorR, ColorG = @ColorG, ColorB = @ColorB, ColorA = @ColorA, ParticleSystem = @ParticleSystem,
ClickAction = @ClickAction, Material = @Material, CollisionSound = @CollisionSound, CollisionSoundVolume = @CollisionSoundVolume, PassTouches = @PassTouches,
LinkNumber = @LinkNumber
LinkNumber = @LinkNumber, MediaURL = @MediaURL
WHERE UUID = @UUID
END
ELSE
@@ -342,7 +366,7 @@ ELSE
PayPrice, PayButton1, PayButton2, PayButton3, PayButton4, LoopedSound, LoopedSoundGain, TextureAnimation, OmegaX,
OmegaY, OmegaZ, CameraEyeOffsetX, CameraEyeOffsetY, CameraEyeOffsetZ, CameraAtOffsetX, CameraAtOffsetY, CameraAtOffsetZ,
ForceMouselook, ScriptAccessPin, AllowedDrop, DieAtEdge, SalePrice, SaleType, ColorR, ColorG, ColorB, ColorA,
ParticleSystem, ClickAction, Material, CollisionSound, CollisionSoundVolume, PassTouches, LinkNumber
ParticleSystem, ClickAction, Material, CollisionSound, CollisionSoundVolume, PassTouches, LinkNumber, MediaURL
) VALUES (
@UUID, @CreationDate, @Name, @Text, @Description, @SitName, @TouchName, @ObjectFlags, @OwnerMask, @NextOwnerMask, @GroupMask,
@EveryoneMask, @BaseMask, @PositionX, @PositionY, @PositionZ, @GroupPositionX, @GroupPositionY, @GroupPositionZ, @VelocityX,
@@ -352,7 +376,7 @@ ELSE
@PayPrice, @PayButton1, @PayButton2, @PayButton3, @PayButton4, @LoopedSound, @LoopedSoundGain, @TextureAnimation, @OmegaX,
@OmegaY, @OmegaZ, @CameraEyeOffsetX, @CameraEyeOffsetY, @CameraEyeOffsetZ, @CameraAtOffsetX, @CameraAtOffsetY, @CameraAtOffsetZ,
@ForceMouselook, @ScriptAccessPin, @AllowedDrop, @DieAtEdge, @SalePrice, @SaleType, @ColorR, @ColorG, @ColorB, @ColorA,
@ParticleSystem, @ClickAction, @Material, @CollisionSound, @CollisionSoundVolume, @PassTouches, @LinkNumber
@ParticleSystem, @ClickAction, @Material, @CollisionSound, @CollisionSoundVolume, @PassTouches, @LinkNumber, @MediaURL
)
END";
@@ -385,7 +409,7 @@ IF EXISTS (SELECT UUID FROM primshapes WHERE UUID = @UUID)
PathSkew = @PathSkew, PathCurve = @PathCurve, PathRadiusOffset = @PathRadiusOffset, PathRevolutions = @PathRevolutions,
PathTaperX = @PathTaperX, PathTaperY = @PathTaperY, PathTwist = @PathTwist, PathTwistBegin = @PathTwistBegin,
ProfileBegin = @ProfileBegin, ProfileEnd = @ProfileEnd, ProfileCurve = @ProfileCurve, ProfileHollow = @ProfileHollow,
Texture = @Texture, ExtraParams = @ExtraParams, State = @State
Texture = @Texture, ExtraParams = @ExtraParams, State = @State, Media = @Media
WHERE UUID = @UUID
END
ELSE
@@ -394,11 +418,11 @@ ELSE
primshapes (
UUID, Shape, ScaleX, ScaleY, ScaleZ, PCode, PathBegin, PathEnd, PathScaleX, PathScaleY, PathShearX, PathShearY,
PathSkew, PathCurve, PathRadiusOffset, PathRevolutions, PathTaperX, PathTaperY, PathTwist, PathTwistBegin, ProfileBegin,
ProfileEnd, ProfileCurve, ProfileHollow, Texture, ExtraParams, State
ProfileEnd, ProfileCurve, ProfileHollow, Texture, ExtraParams, State, Media
) VALUES (
@UUID, @Shape, @ScaleX, @ScaleY, @ScaleZ, @PCode, @PathBegin, @PathEnd, @PathScaleX, @PathScaleY, @PathShearX, @PathShearY,
@PathSkew, @PathCurve, @PathRadiusOffset, @PathRevolutions, @PathTaperX, @PathTaperY, @PathTwist, @PathTwistBegin, @ProfileBegin,
@ProfileEnd, @ProfileCurve, @ProfileHollow, @Texture, @ExtraParams, @State
@ProfileEnd, @ProfileCurve, @ProfileHollow, @Texture, @ExtraParams, @State, @Media
)
END";
@@ -484,12 +508,11 @@ ELSE
using (SqlConnection conn = new SqlConnection(m_connectionString))
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
conn.Open();
foreach (TaskInventoryItem taskItem in items)
{
cmd.Parameters.AddRange(CreatePrimInventoryParameters(taskItem));
conn.Open();
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
}
}
@@ -640,9 +663,9 @@ ELSE
//Insert new values
string sql = @"INSERT INTO [land]
([UUID],[RegionUUID],[LocalLandID],[Bitmap],[Name],[Description],[OwnerUUID],[IsGroupOwned],[Area],[AuctionID],[Category],[ClaimDate],[ClaimPrice],[GroupUUID],[SalePrice],[LandStatus],[LandFlags],[LandingType],[MediaAutoScale],[MediaTextureUUID],[MediaURL],[MusicURL],[PassHours],[PassPrice],[SnapshotUUID],[UserLocationX],[UserLocationY],[UserLocationZ],[UserLookAtX],[UserLookAtY],[UserLookAtZ],[AuthbuyerID],[OtherCleanTime],[Dwell])
([UUID],[RegionUUID],[LocalLandID],[Bitmap],[Name],[Description],[OwnerUUID],[IsGroupOwned],[Area],[AuctionID],[Category],[ClaimDate],[ClaimPrice],[GroupUUID],[SalePrice],[LandStatus],[LandFlags],[LandingType],[MediaAutoScale],[MediaTextureUUID],[MediaURL],[MusicURL],[PassHours],[PassPrice],[SnapshotUUID],[UserLocationX],[UserLocationY],[UserLocationZ],[UserLookAtX],[UserLookAtY],[UserLookAtZ],[AuthbuyerID],[OtherCleanTime])
VALUES
(@UUID,@RegionUUID,@LocalLandID,@Bitmap,@Name,@Description,@OwnerUUID,@IsGroupOwned,@Area,@AuctionID,@Category,@ClaimDate,@ClaimPrice,@GroupUUID,@SalePrice,@LandStatus,@LandFlags,@LandingType,@MediaAutoScale,@MediaTextureUUID,@MediaURL,@MusicURL,@PassHours,@PassPrice,@SnapshotUUID,@UserLocationX,@UserLocationY,@UserLocationZ,@UserLookAtX,@UserLookAtY,@UserLookAtZ,@AuthbuyerID,@OtherCleanTime,@Dwell)";
(@UUID,@RegionUUID,@LocalLandID,@Bitmap,@Name,@Description,@OwnerUUID,@IsGroupOwned,@Area,@AuctionID,@Category,@ClaimDate,@ClaimPrice,@GroupUUID,@SalePrice,@LandStatus,@LandFlags,@LandingType,@MediaAutoScale,@MediaTextureUUID,@MediaURL,@MusicURL,@PassHours,@PassPrice,@SnapshotUUID,@UserLocationX,@UserLocationY,@UserLocationZ,@UserLookAtX,@UserLookAtY,@UserLookAtZ,@AuthbuyerID,@OtherCleanTime)";
using (SqlConnection conn = new SqlConnection(m_connectionString))
using (SqlCommand cmd = new SqlCommand(sql, conn))
@@ -652,13 +675,13 @@ VALUES
cmd.ExecuteNonQuery();
}
sql = "INSERT INTO [landaccesslist] ([LandUUID],[AccessUUID],[Flags]) VALUES (@LandUUID,@AccessUUID,@Flags)";
sql = "INSERT INTO [landaccesslist] ([LandUUID],[AccessUUID],[Flags],[Expires]) VALUES (@LandUUID,@AccessUUID,@Flags,@Expires)";
using (SqlConnection conn = new SqlConnection(m_connectionString))
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
conn.Open();
foreach (ParcelManager.ParcelAccessEntry parcelAccessEntry in parcel.LandData.ParcelAccessList)
foreach (LandAccessEntry parcelAccessEntry in parcel.LandData.ParcelAccessList)
{
cmd.Parameters.AddRange(CreateLandAccessParameters(parcelAccessEntry, parcel.RegionUUID));
@@ -693,13 +716,470 @@ VALUES
}
public RegionLightShareData LoadRegionWindlightSettings(UUID regionUUID)
{
//This connector doesn't support the windlight module yet
//Return default LL windlight settings
return new RegionLightShareData();
RegionLightShareData nWP = new RegionLightShareData();
nWP.OnSave += StoreRegionWindlightSettings;
string sql = "select * from [regionwindlight] where region_id = @regionID";
using (SqlConnection conn = new SqlConnection(m_connectionString))
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.Add(_Database.CreateParameter("@regionID", regionUUID));
conn.Open();
using (SqlDataReader result = cmd.ExecuteReader())
{
if (!result.Read())
{
//No result, so store our default windlight profile and return it
nWP.regionID = regionUUID;
StoreRegionWindlightSettings(nWP);
return nWP;
}
else
{
nWP.regionID = DBGuid.FromDB(result["region_id"]);
nWP.waterColor.X = Convert.ToSingle(result["water_color_r"]);
nWP.waterColor.Y = Convert.ToSingle(result["water_color_g"]);
nWP.waterColor.Z = Convert.ToSingle(result["water_color_b"]);
nWP.waterFogDensityExponent = Convert.ToSingle(result["water_fog_density_exponent"]);
nWP.underwaterFogModifier = Convert.ToSingle(result["underwater_fog_modifier"]);
nWP.reflectionWaveletScale.X = Convert.ToSingle(result["reflection_wavelet_scale_1"]);
nWP.reflectionWaveletScale.Y = Convert.ToSingle(result["reflection_wavelet_scale_2"]);
nWP.reflectionWaveletScale.Z = Convert.ToSingle(result["reflection_wavelet_scale_3"]);
nWP.fresnelScale = Convert.ToSingle(result["fresnel_scale"]);
nWP.fresnelOffset = Convert.ToSingle(result["fresnel_offset"]);
nWP.refractScaleAbove = Convert.ToSingle(result["refract_scale_above"]);
nWP.refractScaleBelow = Convert.ToSingle(result["refract_scale_below"]);
nWP.blurMultiplier = Convert.ToSingle(result["blur_multiplier"]);
nWP.bigWaveDirection.X = Convert.ToSingle(result["big_wave_direction_x"]);
nWP.bigWaveDirection.Y = Convert.ToSingle(result["big_wave_direction_y"]);
nWP.littleWaveDirection.X = Convert.ToSingle(result["little_wave_direction_x"]);
nWP.littleWaveDirection.Y = Convert.ToSingle(result["little_wave_direction_y"]);
UUID.TryParse(result["normal_map_texture"].ToString(), out nWP.normalMapTexture);
nWP.horizon.X = Convert.ToSingle(result["horizon_r"]);
nWP.horizon.Y = Convert.ToSingle(result["horizon_g"]);
nWP.horizon.Z = Convert.ToSingle(result["horizon_b"]);
nWP.horizon.W = Convert.ToSingle(result["horizon_i"]);
nWP.hazeHorizon = Convert.ToSingle(result["haze_horizon"]);
nWP.blueDensity.X = Convert.ToSingle(result["blue_density_r"]);
nWP.blueDensity.Y = Convert.ToSingle(result["blue_density_g"]);
nWP.blueDensity.Z = Convert.ToSingle(result["blue_density_b"]);
nWP.blueDensity.W = Convert.ToSingle(result["blue_density_i"]);
nWP.hazeDensity = Convert.ToSingle(result["haze_density"]);
nWP.densityMultiplier = Convert.ToSingle(result["density_multiplier"]);
nWP.distanceMultiplier = Convert.ToSingle(result["distance_multiplier"]);
nWP.maxAltitude = Convert.ToUInt16(result["max_altitude"]);
nWP.sunMoonColor.X = Convert.ToSingle(result["sun_moon_color_r"]);
nWP.sunMoonColor.Y = Convert.ToSingle(result["sun_moon_color_g"]);
nWP.sunMoonColor.Z = Convert.ToSingle(result["sun_moon_color_b"]);
nWP.sunMoonColor.W = Convert.ToSingle(result["sun_moon_color_i"]);
nWP.sunMoonPosition = Convert.ToSingle(result["sun_moon_position"]);
nWP.ambient.X = Convert.ToSingle(result["ambient_r"]);
nWP.ambient.Y = Convert.ToSingle(result["ambient_g"]);
nWP.ambient.Z = Convert.ToSingle(result["ambient_b"]);
nWP.ambient.W = Convert.ToSingle(result["ambient_i"]);
nWP.eastAngle = Convert.ToSingle(result["east_angle"]);
nWP.sunGlowFocus = Convert.ToSingle(result["sun_glow_focus"]);
nWP.sunGlowSize = Convert.ToSingle(result["sun_glow_size"]);
nWP.sceneGamma = Convert.ToSingle(result["scene_gamma"]);
nWP.starBrightness = Convert.ToSingle(result["star_brightness"]);
nWP.cloudColor.X = Convert.ToSingle(result["cloud_color_r"]);
nWP.cloudColor.Y = Convert.ToSingle(result["cloud_color_g"]);
nWP.cloudColor.Z = Convert.ToSingle(result["cloud_color_b"]);
nWP.cloudColor.W = Convert.ToSingle(result["cloud_color_i"]);
nWP.cloudXYDensity.X = Convert.ToSingle(result["cloud_x"]);
nWP.cloudXYDensity.Y = Convert.ToSingle(result["cloud_y"]);
nWP.cloudXYDensity.Z = Convert.ToSingle(result["cloud_density"]);
nWP.cloudCoverage = Convert.ToSingle(result["cloud_coverage"]);
nWP.cloudScale = Convert.ToSingle(result["cloud_scale"]);
nWP.cloudDetailXYDensity.X = Convert.ToSingle(result["cloud_detail_x"]);
nWP.cloudDetailXYDensity.Y = Convert.ToSingle(result["cloud_detail_y"]);
nWP.cloudDetailXYDensity.Z = Convert.ToSingle(result["cloud_detail_density"]);
nWP.cloudScrollX = Convert.ToSingle(result["cloud_scroll_x"]);
nWP.cloudScrollXLock = Convert.ToBoolean(result["cloud_scroll_x_lock"]);
nWP.cloudScrollY = Convert.ToSingle(result["cloud_scroll_y"]);
nWP.cloudScrollYLock = Convert.ToBoolean(result["cloud_scroll_y_lock"]);
nWP.drawClassicClouds = Convert.ToBoolean(result["draw_classic_clouds"]);
nWP.valid = true;
}
}
}
return nWP;
}
public void RemoveRegionWindlightSettings(UUID regionID)
{
string sql = "delete from [regionwindlight] where region_id = @region_id";
using (SqlConnection conn = new SqlConnection(m_connectionString))
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
conn.Open();
cmd.Parameters.Add(_Database.CreateParameter("@region_id", regionID));
cmd.ExecuteNonQuery();
}
}
public void StoreRegionWindlightSettings(RegionLightShareData wl)
{
//This connector doesn't support the windlight module yet
string sql = "select count (region_id) from regionwindlight where region_id = @region_id";
bool exists = false;
using (SqlConnection conn = new SqlConnection(m_connectionString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.Add(_Database.CreateParameter("@region_id", wl.regionID));
exists = (int)cmd.ExecuteScalar() > 0;
}
}
if (exists)
{
RemoveRegionWindlightSettings(wl.regionID);
}
// sql insert
sql = @"INSERT INTO [regionwindlight]
([region_id]
,[water_color_r]
,[water_color_g]
,[water_color_b]
,[water_fog_density_exponent]
,[underwater_fog_modifier]
,[reflection_wavelet_scale_1]
,[reflection_wavelet_scale_2]
,[reflection_wavelet_scale_3]
,[fresnel_scale]
,[fresnel_offset]
,[refract_scale_above]
,[refract_scale_below]
,[blur_multiplier]
,[big_wave_direction_x]
,[big_wave_direction_y]
,[little_wave_direction_x]
,[little_wave_direction_y]
,[normal_map_texture]
,[horizon_r]
,[horizon_g]
,[horizon_b]
,[horizon_i]
,[haze_horizon]
,[blue_density_r]
,[blue_density_g]
,[blue_density_b]
,[blue_density_i]
,[haze_density]
,[density_multiplier]
,[distance_multiplier]
,[max_altitude]
,[sun_moon_color_r]
,[sun_moon_color_g]
,[sun_moon_color_b]
,[sun_moon_color_i]
,[sun_moon_position]
,[ambient_r]
,[ambient_g]
,[ambient_b]
,[ambient_i]
,[east_angle]
,[sun_glow_focus]
,[sun_glow_size]
,[scene_gamma]
,[star_brightness]
,[cloud_color_r]
,[cloud_color_g]
,[cloud_color_b]
,[cloud_color_i]
,[cloud_x]
,[cloud_y]
,[cloud_density]
,[cloud_coverage]
,[cloud_scale]
,[cloud_detail_x]
,[cloud_detail_y]
,[cloud_detail_density]
,[cloud_scroll_x]
,[cloud_scroll_x_lock]
,[cloud_scroll_y]
,[cloud_scroll_y_lock]
,[draw_classic_clouds])
VALUES
(@region_id
,@water_color_r
,@water_color_g
,@water_color_b
,@water_fog_density_exponent
,@underwater_fog_modifier
,@reflection_wavelet_scale_1
,@reflection_wavelet_scale_2
,@reflection_wavelet_scale_3
,@fresnel_scale
,@fresnel_offset
,@refract_scale_above
,@refract_scale_below
,@blur_multiplier
,@big_wave_direction_x
,@big_wave_direction_y
,@little_wave_direction_x
,@little_wave_direction_y
,@normal_map_texture
,@horizon_r
,@horizon_g
,@horizon_b
,@horizon_i
,@haze_horizon
,@blue_density_r
,@blue_density_g
,@blue_density_b
,@blue_density_i
,@haze_density
,@density_multiplier
,@distance_multiplier
,@max_altitude
,@sun_moon_color_r
,@sun_moon_color_g
,@sun_moon_color_b
,@sun_moon_color_i
,@sun_moon_position
,@ambient_r
,@ambient_g
,@ambient_b
,@ambient_i
,@east_angle
,@sun_glow_focus
,@sun_glow_size
,@scene_gamma
,@star_brightness
,@cloud_color_r
,@cloud_color_g
,@cloud_color_b
,@cloud_color_i
,@cloud_x
,@cloud_y
,@cloud_density
,@cloud_coverage
,@cloud_scale
,@cloud_detail_x
,@cloud_detail_y
,@cloud_detail_density
,@cloud_scroll_x
,@cloud_scroll_x_lock
,@cloud_scroll_y
,@cloud_scroll_y_lock
,@draw_classic_clouds)";
using (SqlConnection conn = new SqlConnection(m_connectionString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.Add(_Database.CreateParameter("region_id", wl.regionID));
cmd.Parameters.Add(_Database.CreateParameter("water_color_r", wl.waterColor.X));
cmd.Parameters.Add(_Database.CreateParameter("water_color_g", wl.waterColor.Y));
cmd.Parameters.Add(_Database.CreateParameter("water_color_b", wl.waterColor.Z));
cmd.Parameters.Add(_Database.CreateParameter("water_fog_density_exponent", wl.waterFogDensityExponent));
cmd.Parameters.Add(_Database.CreateParameter("underwater_fog_modifier", wl.underwaterFogModifier));
cmd.Parameters.Add(_Database.CreateParameter("reflection_wavelet_scale_1", wl.reflectionWaveletScale.X));
cmd.Parameters.Add(_Database.CreateParameter("reflection_wavelet_scale_2", wl.reflectionWaveletScale.Y));
cmd.Parameters.Add(_Database.CreateParameter("reflection_wavelet_scale_3", wl.reflectionWaveletScale.Z));
cmd.Parameters.Add(_Database.CreateParameter("fresnel_scale", wl.fresnelScale));
cmd.Parameters.Add(_Database.CreateParameter("fresnel_offset", wl.fresnelOffset));
cmd.Parameters.Add(_Database.CreateParameter("refract_scale_above", wl.refractScaleAbove));
cmd.Parameters.Add(_Database.CreateParameter("refract_scale_below", wl.refractScaleBelow));
cmd.Parameters.Add(_Database.CreateParameter("blur_multiplier", wl.blurMultiplier));
cmd.Parameters.Add(_Database.CreateParameter("big_wave_direction_x", wl.bigWaveDirection.X));
cmd.Parameters.Add(_Database.CreateParameter("big_wave_direction_y", wl.bigWaveDirection.Y));
cmd.Parameters.Add(_Database.CreateParameter("little_wave_direction_x", wl.littleWaveDirection.X));
cmd.Parameters.Add(_Database.CreateParameter("little_wave_direction_y", wl.littleWaveDirection.Y));
cmd.Parameters.Add(_Database.CreateParameter("normal_map_texture", wl.normalMapTexture));
cmd.Parameters.Add(_Database.CreateParameter("horizon_r", wl.horizon.X));
cmd.Parameters.Add(_Database.CreateParameter("horizon_g", wl.horizon.Y));
cmd.Parameters.Add(_Database.CreateParameter("horizon_b", wl.horizon.Z));
cmd.Parameters.Add(_Database.CreateParameter("horizon_i", wl.horizon.W));
cmd.Parameters.Add(_Database.CreateParameter("haze_horizon", wl.hazeHorizon));
cmd.Parameters.Add(_Database.CreateParameter("blue_density_r", wl.blueDensity.X));
cmd.Parameters.Add(_Database.CreateParameter("blue_density_g", wl.blueDensity.Y));
cmd.Parameters.Add(_Database.CreateParameter("blue_density_b", wl.blueDensity.Z));
cmd.Parameters.Add(_Database.CreateParameter("blue_density_i", wl.blueDensity.W));
cmd.Parameters.Add(_Database.CreateParameter("haze_density", wl.hazeDensity));
cmd.Parameters.Add(_Database.CreateParameter("density_multiplier", wl.densityMultiplier));
cmd.Parameters.Add(_Database.CreateParameter("distance_multiplier", wl.distanceMultiplier));
cmd.Parameters.Add(_Database.CreateParameter("max_altitude", wl.maxAltitude));
cmd.Parameters.Add(_Database.CreateParameter("sun_moon_color_r", wl.sunMoonColor.X));
cmd.Parameters.Add(_Database.CreateParameter("sun_moon_color_g", wl.sunMoonColor.Y));
cmd.Parameters.Add(_Database.CreateParameter("sun_moon_color_b", wl.sunMoonColor.Z));
cmd.Parameters.Add(_Database.CreateParameter("sun_moon_color_i", wl.sunMoonColor.W));
cmd.Parameters.Add(_Database.CreateParameter("sun_moon_position", wl.sunMoonPosition));
cmd.Parameters.Add(_Database.CreateParameter("ambient_r", wl.ambient.X));
cmd.Parameters.Add(_Database.CreateParameter("ambient_g", wl.ambient.Y));
cmd.Parameters.Add(_Database.CreateParameter("ambient_b", wl.ambient.Z));
cmd.Parameters.Add(_Database.CreateParameter("ambient_i", wl.ambient.W));
cmd.Parameters.Add(_Database.CreateParameter("east_angle", wl.eastAngle));
cmd.Parameters.Add(_Database.CreateParameter("sun_glow_focus", wl.sunGlowFocus));
cmd.Parameters.Add(_Database.CreateParameter("sun_glow_size", wl.sunGlowSize));
cmd.Parameters.Add(_Database.CreateParameter("scene_gamma", wl.sceneGamma));
cmd.Parameters.Add(_Database.CreateParameter("star_brightness", wl.starBrightness));
cmd.Parameters.Add(_Database.CreateParameter("cloud_color_r", wl.cloudColor.X));
cmd.Parameters.Add(_Database.CreateParameter("cloud_color_g", wl.cloudColor.Y));
cmd.Parameters.Add(_Database.CreateParameter("cloud_color_b", wl.cloudColor.Z));
cmd.Parameters.Add(_Database.CreateParameter("cloud_color_i", wl.cloudColor.W));
cmd.Parameters.Add(_Database.CreateParameter("cloud_x", wl.cloudXYDensity.X));
cmd.Parameters.Add(_Database.CreateParameter("cloud_y", wl.cloudXYDensity.Y));
cmd.Parameters.Add(_Database.CreateParameter("cloud_density", wl.cloudXYDensity.Z));
cmd.Parameters.Add(_Database.CreateParameter("cloud_coverage", wl.cloudCoverage));
cmd.Parameters.Add(_Database.CreateParameter("cloud_scale", wl.cloudScale));
cmd.Parameters.Add(_Database.CreateParameter("cloud_detail_x", wl.cloudDetailXYDensity.X));
cmd.Parameters.Add(_Database.CreateParameter("cloud_detail_y", wl.cloudDetailXYDensity.Y));
cmd.Parameters.Add(_Database.CreateParameter("cloud_detail_density", wl.cloudDetailXYDensity.Z));
cmd.Parameters.Add(_Database.CreateParameter("cloud_scroll_x", wl.cloudScrollX));
cmd.Parameters.Add(_Database.CreateParameter("cloud_scroll_x_lock", wl.cloudScrollXLock));
cmd.Parameters.Add(_Database.CreateParameter("cloud_scroll_y", wl.cloudScrollY));
cmd.Parameters.Add(_Database.CreateParameter("cloud_scroll_y_lock", wl.cloudScrollYLock));
cmd.Parameters.Add(_Database.CreateParameter("draw_classic_clouds", wl.drawClassicClouds));
cmd.ExecuteNonQuery();
}
}
#region update
// }
// else
// {
// // sql update
// sql = @"UPDATE [OpenSim].[dbo].[regionwindlight]
// SET [region_id] = @region_id
// ,[water_color_r] = @water_color_r
// ,[water_color_g] = @water_color_g
// ,[water_color_b] = @water_color_b
// ,[water_fog_density_exponent] = @water_fog_density_exponent
// ,[underwater_fog_modifier] = @underwater_fog_modifier
// ,[reflection_wavelet_scale_1] = @reflection_wavelet_scale_1
// ,[reflection_wavelet_scale_2] = @reflection_wavelet_scale_2
// ,[reflection_wavelet_scale_3] = @reflection_wavelet_scale_3
// ,[fresnel_scale] = @fresnel_scale
// ,[fresnel_offset] = @fresnel_offset
// ,[refract_scale_above] = @refract_scale_above
// ,[refract_scale_below] = @refract_scale_below
// ,[blur_multiplier] = @blur_multiplier
// ,[big_wave_direction_x] = @big_wave_direction_x
// ,[big_wave_direction_y] = @big_wave_direction_y
// ,[little_wave_direction_x] = @little_wave_direction_x
// ,[little_wave_direction_y] = @little_wave_direction_y
// ,[normal_map_texture] = @normal_map_texture
// ,[horizon_r] = @horizon_r
// ,[horizon_g] = @horizon_g
// ,[horizon_b] = @horizon_b
// ,[horizon_i] = @horizon_i
// ,[haze_horizon] = @haze_horizon
// ,[blue_density_r] = @blue_density_r
// ,[blue_density_g] = @blue_density_g
// ,[blue_density_b] = @blue_density_b
// ,[blue_density_i] = @blue_density_i
// ,[haze_density] = @haze_density
// ,[density_multiplier] = @density_multiplier
// ,[distance_multiplier] = @distance_multiplier
// ,[max_altitude] = @max_altitude
// ,[sun_moon_color_r] = @sun_moon_color_r
// ,[sun_moon_color_g] = @sun_moon_color_g
// ,[sun_moon_color_b] = @sun_moon_color_b
// ,[sun_moon_color_i] = @sun_moon_color_i
// ,[sun_moon_position] = @sun_moon_position
// ,[ambient_r] = @ambient_r
// ,[ambient_g] = @ambient_g
// ,[ambient_b] = @ambient_b
// ,[ambient_i] = @ambient_i
// ,[east_angle] = @east_angle
// ,[sun_glow_focus] = @sun_glow_focus
// ,[sun_glow_size] = @sun_glow_size
// ,[scene_gamma] = @scene_gamma
// ,[star_brightness] = @star_brightness
// ,[cloud_color_r] = @cloud_color_r
// ,[cloud_color_g] = @cloud_color_g
// ,[cloud_color_b] = @cloud_color_b
// ,[cloud_color_i] = @cloud_color_i
// ,[cloud_x] = @cloud_x
// ,[cloud_y] = @cloud_y
// ,[cloud_density] = @cloud_density
// ,[cloud_coverage] = @cloud_coverage
// ,[cloud_scale] = @cloud_scale
// ,[cloud_detail_x] = @cloud_detail_x
// ,[cloud_detail_y] = @cloud_detail_y
// ,[cloud_detail_density] = @cloud_detail_density
// ,[cloud_scroll_x] = @cloud_scroll_x
// ,[cloud_scroll_x_lock] = @cloud_scroll_x_lock
// ,[cloud_scroll_y] = @cloud_scroll_y
// ,[cloud_scroll_y_lock] = @cloud_scroll_y_lock
// ,[draw_classic_clouds] = @draw_classic_clouds
// WHERE region_id = @region_id";
// using (SqlConnection conn = new SqlConnection(m_connectionString))
// {
// conn.Open();
// using (SqlCommand cmd = new SqlCommand(sql, conn))
// {
// cmd.Parameters.AddWithValue("region_id", wl.regionID);
// cmd.Parameters.AddWithValue("water_color_r", wl.waterColor.X);
// cmd.Parameters.AddWithValue("water_color_g", wl.waterColor.Y);
// cmd.Parameters.AddWithValue("water_color_b", wl.waterColor.Z);
// cmd.Parameters.AddWithValue("water_fog_density_exponent", wl.waterFogDensityExponent);
// cmd.Parameters.AddWithValue("underwater_fog_modifier", wl.underwaterFogModifier);
// cmd.Parameters.AddWithValue("reflection_wavelet_scale_1", wl.reflectionWaveletScale.X);
// cmd.Parameters.AddWithValue("reflection_wavelet_scale_2", wl.reflectionWaveletScale.Y);
// cmd.Parameters.AddWithValue("reflection_wavelet_scale_3", wl.reflectionWaveletScale.Z);
// cmd.Parameters.AddWithValue("fresnel_scale", wl.fresnelScale);
// cmd.Parameters.AddWithValue("fresnel_offset", wl.fresnelOffset);
// cmd.Parameters.AddWithValue("refract_scale_above", wl.refractScaleAbove);
// cmd.Parameters.AddWithValue("refract_scale_below", wl.refractScaleBelow);
// cmd.Parameters.AddWithValue("blur_multiplier", wl.blurMultiplier);
// cmd.Parameters.AddWithValue("big_wave_direction_x", wl.bigWaveDirection.X);
// cmd.Parameters.AddWithValue("big_wave_direction_y", wl.bigWaveDirection.Y);
// cmd.Parameters.AddWithValue("little_wave_direction_x", wl.littleWaveDirection.X);
// cmd.Parameters.AddWithValue("little_wave_direction_y", wl.littleWaveDirection.Y);
// cmd.Parameters.AddWithValue("normal_map_texture", wl.normalMapTexture);
// cmd.Parameters.AddWithValue("horizon_r", wl.horizon.X);
// cmd.Parameters.AddWithValue("horizon_g", wl.horizon.Y);
// cmd.Parameters.AddWithValue("horizon_b", wl.horizon.Z);
// cmd.Parameters.AddWithValue("horizon_i", wl.horizon.W);
// cmd.Parameters.AddWithValue("haze_horizon", wl.hazeHorizon);
// cmd.Parameters.AddWithValue("blue_density_r", wl.blueDensity.X);
// cmd.Parameters.AddWithValue("blue_density_g", wl.blueDensity.Y);
// cmd.Parameters.AddWithValue("blue_density_b", wl.blueDensity.Z);
// cmd.Parameters.AddWithValue("blue_density_i", wl.blueDensity.W);
// cmd.Parameters.AddWithValue("haze_density", wl.hazeDensity);
// cmd.Parameters.AddWithValue("density_multiplier", wl.densityMultiplier);
// cmd.Parameters.AddWithValue("distance_multiplier", wl.distanceMultiplier);
// cmd.Parameters.AddWithValue("max_altitude", wl.maxAltitude);
// cmd.Parameters.AddWithValue("sun_moon_color_r", wl.sunMoonColor.X);
// cmd.Parameters.AddWithValue("sun_moon_color_g", wl.sunMoonColor.Y);
// cmd.Parameters.AddWithValue("sun_moon_color_b", wl.sunMoonColor.Z);
// cmd.Parameters.AddWithValue("sun_moon_color_i", wl.sunMoonColor.W);
// cmd.Parameters.AddWithValue("sun_moon_position", wl.sunMoonPosition);
// cmd.Parameters.AddWithValue("ambient_r", wl.ambient.X);
// cmd.Parameters.AddWithValue("ambient_g", wl.ambient.Y);
// cmd.Parameters.AddWithValue("ambient_b", wl.ambient.Z);
// cmd.Parameters.AddWithValue("ambient_i", wl.ambient.W);
// cmd.Parameters.AddWithValue("east_angle", wl.eastAngle);
// cmd.Parameters.AddWithValue("sun_glow_focus", wl.sunGlowFocus);
// cmd.Parameters.AddWithValue("sun_glow_size", wl.sunGlowSize);
// cmd.Parameters.AddWithValue("scene_gamma", wl.sceneGamma);
// cmd.Parameters.AddWithValue("star_brightness", wl.starBrightness);
// cmd.Parameters.AddWithValue("cloud_color_r", wl.cloudColor.X);
// cmd.Parameters.AddWithValue("cloud_color_g", wl.cloudColor.Y);
// cmd.Parameters.AddWithValue("cloud_color_b", wl.cloudColor.Z);
// cmd.Parameters.AddWithValue("cloud_color_i", wl.cloudColor.W);
// cmd.Parameters.AddWithValue("cloud_x", wl.cloudXYDensity.X);
// cmd.Parameters.AddWithValue("cloud_y", wl.cloudXYDensity.Y);
// cmd.Parameters.AddWithValue("cloud_density", wl.cloudXYDensity.Z);
// cmd.Parameters.AddWithValue("cloud_coverage", wl.cloudCoverage);
// cmd.Parameters.AddWithValue("cloud_scale", wl.cloudScale);
// cmd.Parameters.AddWithValue("cloud_detail_x", wl.cloudDetailXYDensity.X);
// cmd.Parameters.AddWithValue("cloud_detail_y", wl.cloudDetailXYDensity.Y);
// cmd.Parameters.AddWithValue("cloud_detail_density", wl.cloudDetailXYDensity.Z);
// cmd.Parameters.AddWithValue("cloud_scroll_x", wl.cloudScrollX);
// cmd.Parameters.AddWithValue("cloud_scroll_x_lock", wl.cloudScrollXLock);
// cmd.Parameters.AddWithValue("cloud_scroll_y", wl.cloudScrollY);
// cmd.Parameters.AddWithValue("cloud_scroll_y_lock", wl.cloudScrollYLock);
// cmd.Parameters.AddWithValue("draw_classic_clouds", wl.drawClassicClouds);
// cmd.ExecuteNonQuery();
// }
// }
// }
#endregion
}
/// <summary>
/// Loads the settings of a region.
@@ -735,6 +1215,8 @@ VALUES
//Store new values
StoreNewRegionSettings(regionSettings);
LoadSpawnPoints(regionSettings);
return regionSettings;
}
@@ -772,7 +1254,7 @@ VALUES
,[elevation_1_ne] = @elevation_1_ne ,[elevation_2_ne] = @elevation_2_ne ,[elevation_1_se] = @elevation_1_se ,[elevation_2_se] = @elevation_2_se
,[elevation_1_sw] = @elevation_1_sw ,[elevation_2_sw] = @elevation_2_sw ,[water_height] = @water_height ,[terrain_raise_limit] = @terrain_raise_limit
,[terrain_lower_limit] = @terrain_lower_limit ,[use_estate_sun] = @use_estate_sun ,[fixed_sun] = @fixed_sun ,[sun_position] = @sun_position
,[covenant] = @covenant , [sunvectorx] = @sunvectorx, [sunvectory] = @sunvectory, [sunvectorz] = @sunvectorz, [Sandbox] = @Sandbox, [loaded_creation_datetime] = @loaded_creation_datetime, [loaded_creation_id] = @loaded_creation_id
,[covenant] = @covenant ,[covenant_datetime] = @covenant_datetime, [sunvectorx] = @sunvectorx, [sunvectory] = @sunvectory, [sunvectorz] = @sunvectorz, [Sandbox] = @Sandbox, [loaded_creation_datetime] = @loaded_creation_datetime, [loaded_creation_id] = @loaded_creation_id, [map_tile_id] = @TerrainImageID, [telehubobject] = @telehubobject, [parcel_tile_id] = @ParcelImageID
WHERE [regionUUID] = @regionUUID";
using (SqlConnection conn = new SqlConnection(m_connectionString))
@@ -783,6 +1265,7 @@ VALUES
cmd.ExecuteNonQuery();
}
}
SaveSpawnPoints(regionSettings);
}
public void Shutdown()
@@ -827,14 +1310,14 @@ VALUES
[block_show_in_search],[agent_limit],[object_bonus],[maturity],[disable_scripts],[disable_collisions],[disable_physics],
[terrain_texture_1],[terrain_texture_2],[terrain_texture_3],[terrain_texture_4],[elevation_1_nw],[elevation_2_nw],[elevation_1_ne],
[elevation_2_ne],[elevation_1_se],[elevation_2_se],[elevation_1_sw],[elevation_2_sw],[water_height],[terrain_raise_limit],
[terrain_lower_limit],[use_estate_sun],[fixed_sun],[sun_position],[covenant],[sunvectorx], [sunvectory], [sunvectorz],[Sandbox], [loaded_creation_datetime], [loaded_creation_id]
[terrain_lower_limit],[use_estate_sun],[fixed_sun],[sun_position],[covenant],[covenant_datetime],[sunvectorx], [sunvectory], [sunvectorz],[Sandbox], [loaded_creation_datetime], [loaded_creation_id]
)
VALUES
(@regionUUID,@block_terraform,@block_fly,@allow_damage,@restrict_pushing,@allow_land_resell,@allow_land_join_divide,
@block_show_in_search,@agent_limit,@object_bonus,@maturity,@disable_scripts,@disable_collisions,@disable_physics,
@terrain_texture_1,@terrain_texture_2,@terrain_texture_3,@terrain_texture_4,@elevation_1_nw,@elevation_2_nw,@elevation_1_ne,
@elevation_2_ne,@elevation_1_se,@elevation_2_se,@elevation_1_sw,@elevation_2_sw,@water_height,@terrain_raise_limit,
@terrain_lower_limit,@use_estate_sun,@fixed_sun,@sun_position,@covenant,@sunvectorx,@sunvectory, @sunvectorz, @Sandbox, @loaded_creation_datetime, @loaded_creation_id)";
@terrain_lower_limit,@use_estate_sun,@fixed_sun,@sun_position,@covenant, @covenant_datetime, @sunvectorx,@sunvectory, @sunvectorz, @Sandbox, @loaded_creation_datetime, @loaded_creation_id)";
using (SqlConnection conn = new SqlConnection(m_connectionString))
using (SqlCommand cmd = new SqlCommand(sql, conn))
@@ -887,7 +1370,7 @@ VALUES
newSettings.TerrainRaiseLimit = Convert.ToDouble(row["terrain_raise_limit"]);
newSettings.TerrainLowerLimit = Convert.ToDouble(row["terrain_lower_limit"]);
newSettings.UseEstateSun = Convert.ToBoolean(row["use_estate_sun"]);
newSettings.Sandbox = Convert.ToBoolean(row["sandbox"]);
newSettings.Sandbox = Convert.ToBoolean(row["Sandbox"]);
newSettings.FixedSun = Convert.ToBoolean(row["fixed_sun"]);
newSettings.SunPosition = Convert.ToDouble(row["sun_position"]);
newSettings.SunVector = new Vector3(
@@ -896,13 +1379,18 @@ VALUES
Convert.ToSingle(row["sunvectorz"])
);
newSettings.Covenant = new UUID((Guid)row["covenant"]);
newSettings.CovenantChangedDateTime = Convert.ToInt32(row["covenant_datetime"]);
newSettings.LoadedCreationDateTime = Convert.ToInt32(row["loaded_creation_datetime"]);
if (row["loaded_creation_id"] is DBNull)
newSettings.LoadedCreationID = "";
else
newSettings.LoadedCreationID = (String)row["loaded_creation_id"];
newSettings.TerrainImageID = new UUID((string)row["map_tile_ID"]);
newSettings.ParcelImageID = new UUID((Guid)row["parcel_tile_ID"]);
newSettings.TelehubObject = new UUID((Guid)row["TelehubObject"]);
return newSettings;
}
@@ -956,7 +1444,6 @@ VALUES
newData.SnapshotID = new UUID((Guid)row["SnapshotUUID"]);
newData.OtherCleanTime = Convert.ToInt32(row["OtherCleanTime"]);
newData.Dwell = Convert.ToInt32(row["Dwell"]);
try
{
@@ -974,7 +1461,14 @@ VALUES
_Log.ErrorFormat("[PARCEL]: unable to get parcel telehub settings for {1}", newData.Name);
}
newData.ParcelAccessList = new List<ParcelManager.ParcelAccessEntry>();
newData.ParcelAccessList = new List<LandAccessEntry>();
newData.MediaDescription = (string)row["MediaDescription"];
newData.MediaType = (string)row["MediaType"];
newData.MediaWidth = Convert.ToInt32((((string)row["MediaSize"]).Split(','))[0]);
newData.MediaHeight = Convert.ToInt32((((string)row["MediaSize"]).Split(','))[1]);
newData.MediaLoop = Convert.ToBoolean(row["MediaLoop"]);
newData.ObscureMusic = Convert.ToBoolean(row["ObscureMusic"]);
newData.ObscureMedia = Convert.ToBoolean(row["ObscureMedia"]);
return newData;
}
@@ -984,12 +1478,12 @@ VALUES
/// </summary>
/// <param name="row">datarecord with landaccess data</param>
/// <returns></returns>
private static ParcelManager.ParcelAccessEntry BuildLandAccessData(IDataRecord row)
private static LandAccessEntry BuildLandAccessData(IDataRecord row)
{
ParcelManager.ParcelAccessEntry entry = new ParcelManager.ParcelAccessEntry();
LandAccessEntry entry = new LandAccessEntry();
entry.AgentID = new UUID((Guid)row["AccessUUID"]);
entry.Flags = (AccessList)Convert.ToInt32(row["Flags"]);
entry.Time = new DateTime();
entry.Expires = Convert.ToInt32(row["Expires"]);
return entry;
}
@@ -1017,8 +1511,9 @@ VALUES
prim.SitName = (string)primRow["SitName"];
prim.TouchName = (string)primRow["TouchName"];
// permissions
prim.ObjectFlags = Convert.ToUInt32(primRow["ObjectFlags"]);
prim.CreatorID = new UUID((Guid)primRow["CreatorID"]);
prim.Flags = (PrimFlags)Convert.ToUInt32(primRow["ObjectFlags"]);
//prim.CreatorID = new UUID((Guid)primRow["CreatorID"]);
prim.CreatorIdentification = (string)primRow["CreatorID"];
prim.OwnerID = new UUID((Guid)primRow["OwnerID"]);
prim.GroupID = new UUID((Guid)primRow["GroupID"]);
prim.LastOwnerID = new UUID((Guid)primRow["LastOwnerID"]);
@@ -1128,6 +1623,9 @@ VALUES
prim.PassTouches = true;
prim.LinkNum = Convert.ToInt32(primRow["LinkNumber"]);
if (!(primRow["MediaURL"] is System.DBNull))
prim.MediaUrl = (string)primRow["MediaURL"];
return prim;
}
@@ -1141,9 +1639,9 @@ VALUES
PrimitiveBaseShape baseShape = new PrimitiveBaseShape();
baseShape.Scale = new Vector3(
Convert.ToSingle(shapeRow["ScaleX"]),
Convert.ToSingle(shapeRow["ScaleY"]),
Convert.ToSingle(shapeRow["ScaleZ"]));
(float)Convert.ToDouble(shapeRow["ScaleX"]),
(float)Convert.ToDouble(shapeRow["ScaleY"]),
(float)Convert.ToDouble(shapeRow["ScaleZ"]));
// paths
baseShape.PCode = Convert.ToByte(shapeRow["PCode"]);
@@ -1180,6 +1678,12 @@ VALUES
{
}
if (!(shapeRow["Media"] is System.DBNull))
{
baseShape.Media = PrimitiveBaseShape.MediaList.FromXml((string)shapeRow["Media"]);
}
return baseShape;
}
@@ -1203,7 +1707,8 @@ VALUES
taskItem.Name = (string)inventoryRow["name"];
taskItem.Description = (string)inventoryRow["description"];
taskItem.CreationDate = Convert.ToUInt32(inventoryRow["creationDate"]);
taskItem.CreatorID = new UUID((Guid)inventoryRow["creatorID"]);
//taskItem.CreatorID = new UUID((Guid)inventoryRow["creatorID"]);
taskItem.CreatorIdentification = (string)inventoryRow["creatorID"];
taskItem.OwnerID = new UUID((Guid)inventoryRow["ownerID"]);
taskItem.LastOwnerID = new UUID((Guid)inventoryRow["lastOwnerID"]);
taskItem.GroupID = new UUID((Guid)inventoryRow["groupID"]);
@@ -1294,15 +1799,19 @@ VALUES
parameters.Add(_Database.CreateParameter("terrain_raise_limit", settings.TerrainRaiseLimit));
parameters.Add(_Database.CreateParameter("terrain_lower_limit", settings.TerrainLowerLimit));
parameters.Add(_Database.CreateParameter("use_estate_sun", settings.UseEstateSun));
parameters.Add(_Database.CreateParameter("sandbox", settings.Sandbox));
parameters.Add(_Database.CreateParameter("Sandbox", settings.Sandbox));
parameters.Add(_Database.CreateParameter("fixed_sun", settings.FixedSun));
parameters.Add(_Database.CreateParameter("sun_position", settings.SunPosition));
parameters.Add(_Database.CreateParameter("sunvectorx", settings.SunVector.X));
parameters.Add(_Database.CreateParameter("sunvectory", settings.SunVector.Y));
parameters.Add(_Database.CreateParameter("sunvectorz", settings.SunVector.Z));
parameters.Add(_Database.CreateParameter("covenant", settings.Covenant));
parameters.Add(_Database.CreateParameter("covenant_datetime", settings.CovenantChangedDateTime));
parameters.Add(_Database.CreateParameter("Loaded_Creation_DateTime", settings.LoadedCreationDateTime));
parameters.Add(_Database.CreateParameter("Loaded_Creation_ID", settings.LoadedCreationID));
parameters.Add(_Database.CreateParameter("TerrainImageID", settings.TerrainImageID));
parameters.Add(_Database.CreateParameter("ParcelImageID", settings.ParcelImageID));
parameters.Add(_Database.CreateParameter("TelehubObject", settings.TelehubObject));
return parameters.ToArray();
}
@@ -1353,7 +1862,6 @@ VALUES
parameters.Add(_Database.CreateParameter("UserLookAtZ", land.UserLookAt.Z));
parameters.Add(_Database.CreateParameter("AuthBuyerID", land.AuthBuyerID));
parameters.Add(_Database.CreateParameter("OtherCleanTime", land.OtherCleanTime));
parameters.Add(_Database.CreateParameter("Dwell", land.Dwell));
return parameters.ToArray();
}
@@ -1364,13 +1872,14 @@ VALUES
/// <param name="parcelAccessEntry">parcel access entry.</param>
/// <param name="parcelID">parcel ID.</param>
/// <returns></returns>
private SqlParameter[] CreateLandAccessParameters(ParcelManager.ParcelAccessEntry parcelAccessEntry, UUID parcelID)
private SqlParameter[] CreateLandAccessParameters(LandAccessEntry parcelAccessEntry, UUID parcelID)
{
List<SqlParameter> parameters = new List<SqlParameter>();
parameters.Add(_Database.CreateParameter("LandUUID", parcelID));
parameters.Add(_Database.CreateParameter("AccessUUID", parcelAccessEntry.AgentID));
parameters.Add(_Database.CreateParameter("Flags", parcelAccessEntry.Flags));
parameters.Add(_Database.CreateParameter("Expires", parcelAccessEntry.Expires));
return parameters.ToArray();
}
@@ -1402,7 +1911,7 @@ VALUES
parameters.Add(_Database.CreateParameter("SitName", prim.SitName));
parameters.Add(_Database.CreateParameter("TouchName", prim.TouchName));
// permissions
parameters.Add(_Database.CreateParameter("ObjectFlags", prim.ObjectFlags));
parameters.Add(_Database.CreateParameter("ObjectFlags", (uint)prim.Flags));
parameters.Add(_Database.CreateParameter("CreatorID", prim.CreatorID));
parameters.Add(_Database.CreateParameter("OwnerID", prim.OwnerID));
parameters.Add(_Database.CreateParameter("GroupID", prim.GroupID));
@@ -1510,6 +2019,7 @@ VALUES
else
parameters.Add(_Database.CreateParameter("PassTouches", 0));
parameters.Add(_Database.CreateParameter("LinkNumber", prim.LinkNum));
parameters.Add(_Database.CreateParameter("MediaURL", prim.MediaUrl));
return parameters.ToArray();
}
@@ -1558,11 +2068,73 @@ VALUES
parameters.Add(_Database.CreateParameter("ExtraParams", s.ExtraParams));
parameters.Add(_Database.CreateParameter("State", s.State));
if (null == s.Media)
{
parameters.Add(_Database.CreateParameter("Media", DBNull.Value));
}
else
{
parameters.Add(_Database.CreateParameter("Media", s.Media.ToXml()));
}
return parameters.ToArray();
}
#endregion
#endregion
private void LoadSpawnPoints(RegionSettings rs)
{
rs.ClearSpawnPoints();
string sql = "SELECT Yaw, Pitch, Distance FROM spawn_points WHERE RegionUUID = @RegionUUID";
using (SqlConnection conn = new SqlConnection(m_connectionString))
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.Add(_Database.CreateParameter("@RegionUUID", rs.RegionUUID.ToString()));
conn.Open();
using (SqlDataReader reader = cmd.ExecuteReader())
{
if (reader.Read())
{
SpawnPoint sp = new SpawnPoint();
sp.Yaw = (float)reader["Yaw"];
sp.Pitch = (float)reader["Pitch"];
sp.Distance = (float)reader["Distance"];
rs.AddSpawnPoint(sp);
}
}
}
}
private void SaveSpawnPoints(RegionSettings rs)
{
string sql = "DELETE FROM spawn_points WHERE RegionUUID = @RegionUUID";
using (SqlConnection conn = new SqlConnection(m_connectionString))
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.Add(_Database.CreateParameter("@RegionUUID", rs.RegionUUID));
conn.Open();
cmd.ExecuteNonQuery();
}
foreach (SpawnPoint p in rs.SpawnPoints())
{
sql = "INSERT INTO spawn_points (RegionUUID, Yaw, Pitch, Distance) VALUES (@RegionUUID, @Yaw, @Pitch, @Distance)";
using (SqlConnection conn = new SqlConnection(m_connectionString))
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.Add(_Database.CreateParameter("@RegionUUID", rs.RegionUUID));
cmd.Parameters.Add(_Database.CreateParameter("@Yaw", p.Yaw));
cmd.Parameters.Add(_Database.CreateParameter("@Pitch", p.Pitch));
cmd.Parameters.Add(_Database.CreateParameter("@Distance", p.Distance));
conn.Open();
cmd.ExecuteNonQuery();
}
}
}
}
}
+11 -7
View File
@@ -218,23 +218,27 @@ namespace OpenSim.Data.MSSQL
if (words.Length > 2)
return new UserAccountData[0];
string sql = "";
using (SqlConnection conn = new SqlConnection(m_ConnectionString))
using (SqlCommand cmd = new SqlCommand())
{
if (words.Length == 1)
{
cmd.CommandText = String.Format("select * from {0} where ([ScopeID]=@ScopeID or [ScopeID]='00000000-0000-0000-0000-000000000000') and ([FirstName] like @search or [LastName] like @search)", m_Realm);
sql = String.Format("select * from {0} where ([ScopeID]=@ScopeID or [ScopeID]='00000000-0000-0000-0000-000000000000') and ([FirstName] like @search or [LastName] like @search)", m_Realm);
cmd.Parameters.Add(m_database.CreateParameter("@scopeID", scopeID));
cmd.Parameters.Add(m_database.CreateParameter("@search", "%" + words[0] + "%"));
cmd.Parameters.Add(m_database.CreateParameter("@search", "%" + words[0] + "%"));
}
else
{
cmd.CommandText = String.Format("select * from {0} where ([ScopeID]=@ScopeID or [ScopeID]='00000000-0000-0000-0000-000000000000') and ([FirstName] like @searchFirst or [LastName] like @searchLast)", m_Realm);
cmd.Parameters.Add(m_database.CreateParameter("@searchFirst", "%" + words[0] + "%"));
cmd.Parameters.Add(m_database.CreateParameter("@searchLast", "%" + words[1] + "%"));
cmd.Parameters.Add(m_database.CreateParameter("@ScopeID", scopeID.ToString()));
sql = String.Format("select * from {0} where ([ScopeID]=@ScopeID or [ScopeID]='00000000-0000-0000-0000-000000000000') and ([FirstName] like @searchFirst or [LastName] like @searchLast)", m_Realm);
cmd.Parameters.Add(m_database.CreateParameter("@searchFirst", "%" + words[0] + "%"));
cmd.Parameters.Add(m_database.CreateParameter("@searchLast", "%" + words[1] + "%"));
cmd.Parameters.Add(m_database.CreateParameter("@ScopeID", scopeID.ToString()));
}
cmd.Connection = conn;
cmd.CommandText = sql;
conn.Open();
return DoQuery(cmd);
}
}
+39 -3
View File
@@ -40,8 +40,8 @@ namespace OpenSim.Data.MSSQL
{
public class MSSQLXInventoryData : IXInventoryData
{
private static readonly ILog m_log = LogManager.GetLogger(
MethodBase.GetCurrentMethod().DeclaringType);
// private static readonly ILog m_log = LogManager.GetLogger(
// MethodBase.GetCurrentMethod().DeclaringType);
private MSSQLGenericTableHandler<XInventoryFolder> m_Folders;
private MSSQLItemHandler m_Items;
@@ -66,11 +66,18 @@ namespace OpenSim.Data.MSSQL
public bool StoreFolder(XInventoryFolder folder)
{
if (folder.folderName.Length > 64)
folder.folderName = folder.folderName.Substring(0, 64);
return m_Folders.Store(folder);
}
public bool StoreItem(XInventoryItem item)
{
if (item.inventoryName.Length > 64)
item.inventoryName = item.inventoryName.Substring(0, 64);
if (item.inventoryDescription.Length > 128)
item.inventoryDescription = item.inventoryDescription.Substring(0, 128);
return m_Items.Store(item);
}
@@ -78,12 +85,19 @@ namespace OpenSim.Data.MSSQL
{
return m_Folders.Delete(field, val);
}
public bool DeleteFolders(string[] fields, string[] vals)
{
return m_Folders.Delete(fields, vals);
}
public bool DeleteItems(string field, string val)
{
return m_Items.Delete(field, val);
}
public bool DeleteItems(string[] fields, string[] vals)
{
return m_Items.Delete(fields, vals);
}
public bool MoveItem(string id, string newParent)
{
return m_Items.MoveItem(id, newParent);
@@ -162,5 +176,27 @@ namespace OpenSim.Data.MSSQL
}
}
public override bool Store(XInventoryItem item)
{
if (!base.Store(item))
return false;
string sql = "update inventoryfolders set version=version+1 where folderID = @folderID";
using (SqlConnection conn = new SqlConnection(m_ConnectionString))
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
conn.Open();
cmd.Parameters.AddWithValue("@folderID", item.parentFolderID.ToString());
try
{
cmd.ExecuteNonQuery();
}
catch (Exception)
{
return false;
}
}
return true;
}
}
}
@@ -22,7 +22,11 @@ COMMIT
BEGIN TRANSACTION
INSERT INTO auth (UUID, passwordHash, passwordSalt, webLoginKey, accountType) SELECT [UUID] AS UUID, [passwordHash] AS passwordHash, [passwordSalt] AS passwordSalt, [webLoginKey] AS webLoginKey, 'UserAccount' as [accountType] FROM users;
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[users]') AND type in (N'U'))
INSERT INTO auth (UUID, passwordHash, passwordSalt, webLoginKey, accountType) SELECT [UUID] AS UUID, [passwordHash] AS passwordHash, [passwordSalt] AS passwordSalt, [webLoginKey] AS webLoginKey, 'UserAccount' as [accountType] FROM users;
COMMIT
COMMIT
+48 -1
View File
@@ -13,5 +13,52 @@ PRIMARY KEY CLUSTERED
) ON [PRIMARY]
COMMIT
:VERSION 2
BEGIN TRANSACTION
CREATE TABLE dbo.Tmp_Avatars
(
PrincipalID uniqueidentifier NOT NULL,
[Name] varchar(32) NOT NULL,
Value text NOT NULL DEFAULT '',
) ON [PRIMARY]
TEXTIMAGE_ON [PRIMARY]
IF EXISTS(SELECT * FROM dbo.Avatars)
EXEC('INSERT INTO dbo.Tmp_Avatars (PrincipalID, Name, Value)
SELECT PrincipalID, CONVERT(text, Name), Value FROM dbo.Avatars WITH (HOLDLOCK TABLOCKX)')
DROP TABLE dbo.Avatars
EXECUTE sp_rename N'dbo.Tmp_Avatars', N'Avatars', 'OBJECT'
COMMIT
:VERSION 3
BEGIN TRANSACTION
CREATE TABLE dbo.Tmp_Avatars
(
PrincipalID uniqueidentifier NOT NULL,
[Name] varchar(32) NOT NULL,
Value text NOT NULL DEFAULT '',
PRIMARY KEY CLUSTERED
(
[PrincipalID] ASC, [Name] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
TEXTIMAGE_ON [PRIMARY]
IF EXISTS(SELECT * FROM dbo.Avatars)
EXEC('INSERT INTO dbo.Tmp_Avatars (PrincipalID, Name, Value)
SELECT PrincipalID, CONVERT(text, Name), Value FROM dbo.Avatars WITH (HOLDLOCK TABLOCKX)')
DROP TABLE dbo.Avatars
EXECUTE sp_rename N'dbo.Tmp_Avatars', N'Avatars', 'OBJECT'
COMMIT
COMMIT
@@ -15,6 +15,36 @@ COMMIT
BEGIN TRANSACTION
INSERT INTO Friends (PrincipalID, Friend, Flags, Offered) SELECT [ownerID], [friendID], [friendPerms], 0 FROM userfriends;
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[userfriends]') AND type in (N'U'))
INSERT INTO Friends (PrincipalID, Friend, Flags, Offered)
SELECT [ownerID], [friendID], [friendPerms], 0 FROM userfriends;
COMMIT
:VERSION 3
BEGIN TRANSACTION
CREATE TABLE [Tmp_Friends]
([PrincipalID] varchar(255) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
[Friend] varchar(255) NOT NULL,
[Flags] char(16) NOT NULL DEFAULT '0',
[Offered] varchar(32) NOT NULL DEFAULT 0)
ON [PRIMARY]
IF EXISTS(SELECT * FROM dbo.Friends)
EXEC('INSERT INTO dbo.Tmp_Friends (PrincipalID, Friend, Flags, Offered)
SELECT CONVERT(varchar(255),PrincipalID), Friend, Flags, Offered FROM dbo.Friends WITH (HOLDLOCK TABLOCKX)')
DROP TABLE dbo.Friends
EXECUTE sp_rename N'dbo.Tmp_Friends', N'Friends', 'OBJECT'
ALTER TABLE dbo.Friends ADD
PRIMARY KEY CLUSTERED
(
[PrincipalID] ASC, [Friend] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
COMMIT
@@ -222,4 +222,24 @@ ALTER TABLE [regions] ADD [Token] varchar(255) NOT NULL DEFAULT 0;
COMMIT
:VERSION 8
BEGIN TRANSACTION
ALTER TABLE regions ALTER COLUMN regionName VarChar(128)
DROP INDEX IX_regions_name ON dbo.regions
ALTER TABLE regions ALTER COLUMN regionName VarChar(128) null
CREATE NONCLUSTERED INDEX IX_regions_name ON dbo.regions
(
regionName
) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
COMMIT
:VERSION 9
BEGIN TRANSACTION
ALTER TABLE regions ADD parcelMapTexture uniqueidentifier NULL;
COMMIT

Some files were not shown because too many files have changed in this diff Show More