Commit Graph

371 Commits (9cd9e90e7f174ab0d84af2df6aff7d23b3493552)

Author SHA1 Message Date
Teravus Ovares 67bbed8202 * Added ability to create new prim on existing prim (rezzing prim from inventory on other prim coming soon). No more new prim buried in the ground by accident.
* The prim are at the absolute position of the prim you rezzed it on top of + (0,0,0.5) for now.
2007-12-28 05:25:21 +00:00
Charles Krinke 9b36c6c3ad Add missing "System." to System.NullReferenceException
so Linux build works again.
2007-12-28 03:45:19 +00:00
lbsa71 efd90b56b7 * Optimized usings
* shortened references
* Removed redundant 'this'
* Normalized EOF
2007-12-27 21:41:48 +00:00
lbsa71 87e2a694e2 * AssetServerBase: _ProcessRequest is now called GetAsset
* PrimitiveBaseShape: The textures are now exposed as a 'TextureEntry Textures'; all serialization still using the 'byte[] TextureEntry' for backwards compatibility.
* Scene: Re-added AddTree, since the Tree type isn't gone from libsl, merely relocated.
2007-12-27 14:00:30 +00:00
Justin Clarke Casey 280a5cba8b Prim inventory script saving phase 1. Create necessary CAPS structures for correctly accepting prim inventory script updates.
No user functionality yet.
Refactoring to follow.
2007-12-24 22:35:01 +00:00
Charles Krinke fa2495ae6b Again, great thanks to Alondria for:
Adding:: llSetParcelMusicUrl(), llGetRootPosition(), llGetRootRotation(), 
llGetGeometricCenter(), llSetLocalRot(), llListReplaceList(), 
llGetObjectPrimCount(),llGetParcelDetails(), llGetParcelMaxPrims(), 
llWater(), llGetLocalRot(), and llGetAccel()
2007-12-24 21:16:32 +00:00
Charles Krinke 09651f298c Added regionName to "far away" region report. 2007-12-24 17:26:28 +00:00
Teravus Ovares b2903c4a8a * Patch from Alondria - Added LLFunctions llGetMass(), llGetLandOwnerAt(), llGetVel(), llGround() 2007-12-23 13:14:56 +00:00
Teravus Ovares de32006f9a * Added smoother handling of interpenetrating physical objects.
* Fixes:
* -- duplicating Active physical object causes objects to explode in opposite directions
* -- Rezzing objects too close to you avatar causes avatar to shoot around in odd directions
* Vanity
2007-12-22 05:43:34 +00:00
Justin Clarke Casey 1ac57290ae Initial hookup of update task inventory event. No functionality yet. 2007-12-22 02:52:35 +00:00
Teravus Ovares a453672edb * Remapped the Connection shutdown path.
* This fixes a *bunch* of Mantis bugs related to the following
* -- Neighbouring simulators not appearing after relog
* -- Login to simulator only to be logged off by simulator.
* -- ThreadAbort 
* -- Unable to shutdown circuitCode: x
2007-12-21 16:55:03 +00:00
mingchen 0e6915ae48 *Ban lines now work if they are enabled grid wide.
*Restricted lines just give you a friendly warning for now
2007-12-20 16:50:16 +00:00
Teravus Ovares dcaea6cd50 * Cleaned up some code from an earlier commit 2007-12-20 15:42:53 +00:00
Teravus Ovares 8aae909412 * Added a configuration parameter on the Grid Server to disallow forceful banlists.
* Added a way for Grid based configuration parameters to (generally used in overriding functionality) to get to the regions on Registration.
2007-12-20 06:31:03 +00:00
Jeff Ames be2ad79e52 Added patch from Johan. First attempt to solve the LibSL.Packet GC problem. Works with LibSL rev>1532 2007-12-20 05:43:02 +00:00
mingchen a596b7696a *Made a much more network friendly method of ban and pass line sending
*Added an event that is triggered when an agent enters a new parcel
2007-12-20 02:36:27 +00:00
Teravus Ovares ccc8ffaaec * Added Incomplete Handling of the RegionInfoRequest packet
* Added Incomplete Handling of the EstateCovenantRequest packet 
* Added Incomplete Handling of the EstateOwnerMessageRequest.ChangeEstateCovenantid method
* Fixed a race condition with avatar animations
2007-12-18 12:08:34 +00:00
lbsa71 03635aa336 * Renamed AgentWearable to AvatarWearable
* Made Terrain texture temp (it's re-created on every run)
2007-12-18 07:57:06 +00:00
Teravus Ovares badcbd4bea * Fixed a potential race condition with adding Caps handlers 2007-12-18 01:49:21 +00:00
Teravus Ovares 38fe0dfa90 * Added a Verbose and Debug error to border crossing so that this can be diagnosed further. 2007-12-18 01:45:39 +00:00
Teravus Ovares afe63faa2e * Fix for mantis 0000040 After client logout remote host closed connection on Simulator makes sim unuseable->'Closed Connection Called'
* I've fundamentally changed a few things, so this is experimental
* The routine that I used needs to be tested on Linux.  I don't expect it to cause a problem, but hey, it might.
* Child agents are still not logged off properly, so when the first set time out, the second set get logged off also, on the second log in if the second login is initiated before the first one fully times out.
2007-12-18 00:34:42 +00:00
Teravus Ovares adf7afb606 * Turned all instances of ForEach loops in ClientManager into Local Arrays.
* Added Locking while the Copy is taking place.
* Added an error message to describe what's actually happening.
2007-12-17 20:24:49 +00:00
Charles Krinke a990c64698 Thank you to Kiryu for a patch to fix an out of Sync
error in Scene. Affects 6 files and is Mantis#201
2007-12-17 16:41:28 +00:00
mingchen d845da215f *Land has now been linked to the StorageManager. Next step is to fill in the functions for the different datastore interfaces for Land Objects. 2007-12-17 03:49:13 +00:00
mingchen e2ed1a4e1f *Adding and Removing Avatars from the Access/Ban List for a parcel now works, but the actual ban lines, etc are not done. 2007-12-16 19:53:27 +00:00
Brian McBee 8a8c89a0f3 Grid Inventory feature upgrade: renaming folders should now be correct, subfolders work, moving folders works.
Tested only in MYSQL, but may work in MSSQL and sqlite.
Probably not working in standalone mode.
2007-12-15 04:57:14 +00:00
Teravus Ovares 7fdfeb5830 * Added Active(physical) object count to the SimStatsReporter 2007-12-14 00:49:40 +00:00
lbsa71 1cf4278862 * Debugging Shape
* Adding namesetting to Create
2007-12-13 14:47:44 +00:00
Teravus Ovares 5e6483f209 * In our quest for sim heartbeat stats, we're a touch closer to accurate object count on sim stats.
* Fixed a rare, but possible NullReferenceException
2007-12-12 18:03:37 +00:00
MW 8a2a6ad761 couple of small fixes. 2007-12-12 17:15:37 +00:00
Teravus Ovares 331db2336c * Added Object count to sim stats (it's incorrect, however, it'll be fixed) 2007-12-12 14:07:26 +00:00
Teravus Ovares 6a4a10f0a1 * Fixed agent counts on the Simulator stats pane 2007-12-12 13:52:30 +00:00
Teravus Ovares 081f4403ea * Added some simstats to fill the simulator pane of the Statistics monitor.
* I stress, this is an initial implementation and the Agents(Child and Root) are definately obviously incorrect.
2007-12-12 06:58:55 +00:00
Teravus Ovares 9abe4b2ebf * Start listening for client connections immediately after a region initializes during initial instance startup. (as opposed to waiting for 'all of the regions' to initialize first)
* Removed hackish timer based client notification about regions up (no longer needed)
* Added a comment about an inventory based login failure that causes me lots of greif testing and debugging.  Comment includes *why* it's failing.
2007-12-12 00:38:57 +00:00
Sean Dague c7f5a94763 put in a try block to catch the ForEach loop dying. 2007-12-11 22:20:22 +00:00
Teravus Ovares d67009a78b * Added some locking to help race conditions in the neighbors lists 2007-12-11 21:43:17 +00:00
MW 60c96ab687 Couple of more small changes 2007-12-11 18:29:19 +00:00
MW 909fcd554f A few minor changes/additions/fixes. 2007-12-11 16:05:53 +00:00
Brian McBee 16903ec488 Implementing updateinventoryfolder: Should now be able to rename folders in inventory 2007-12-11 03:51:32 +00:00
Teravus Ovares 2349dc2e27 * Added comments to many methods in the listed files. 2007-12-10 21:12:38 +00:00
Teravus Ovares eac9bc6889 * More refactoring to prepare for draw distance based agent sim notification. 2007-12-10 19:16:50 +00:00
Jeff Ames 40fd37f95a Refactored animation handling in ScenePresence. Now maintains a list of current animations.
* Fixes weirdness when typing and sitting at the same time
* Should fix bug #32 (getting stuck in edit appearance pose)
* Crouchwalk and possibly jump may need more looking into
2007-12-10 15:08:44 +00:00
MW 611327e104 more work on texture downloading.
Refractored the TextureDownloadModule (but currently to make debugging easier, it is running as a non shared module, so this results in a instance of this module being created for each region (and a extra thread per region), this will be changed back soon.
Removed the old texture handling/sending code from AssetCache.
A few other small changes/fixes.
2007-12-10 13:27:23 +00:00
Jeff Ames af6eb67999 saved OpenSim source code from the giant rampaging unterminated copyright notice of doom 2007-12-10 05:25:16 +00:00
Teravus Ovares e595f82489 * Hooked up the GridComm event ChildDataUpdate to the scene.
* Added List<RegionInfo> m_neighbours to Scene 
* Hooked up the OnRegionUp event to m_neighbours list 
* Modified RegionInfo to have a bool commFailTF value so that we can skip neighbors that fail.  (when the region comes up, this gets reset to false and the region will try again.
* Added SetChildAgentThrottle(byte[]) to IClientAPI 
* Several other insignificant changes related to passing child pertanant agent data from sim to sim.
2007-12-10 00:46:56 +00:00
Brian McBee 383eccc543 hackish code to allow emptying of trash. This really should be done on the inventory server, and not from the region.
Also: it appeared to work the first try, so I have probably done something horribly wrong.
2007-12-08 20:41:37 +00:00
Brian McBee beca2373e1 Allow moving, deleting, and restoring objects in inventory.
Note: only tested in grid mode, and emptying trash is still not implemented.
2007-12-08 19:13:10 +00:00
Teravus Ovares e0e9237a89 * Added back the regionup code so people in nearby sims can see a downed sim coming back up. 2007-12-08 17:25:34 +00:00
MW e23290eff6 Avatar Appearance refactoring /changes. Added a AvatarAppearance class, each ScenePresence "has" a AvatarAppearance object. All the ScenePresences in a opensim related to one user (so a user's various ScenePresence's in all the regions in that instance) share the same AvatarAppearance object. This means that a user's avatar should appear correctly (to both that user and other users) no matter what border crossing or teleporting they have done.
Note: this mainly improves Standalone mode, as in grid mode the appearance data isn't passed between region servers. Although people should notice a improvement when moving between regions in the same instance.
2007-12-07 17:23:11 +00:00
Sean Dague 1ad83bcf1b reversing the r2599 patch, as this started causing CreateThread errors for
me on Mono 1.2.4, which led to client crashes.  I think the Timer.Stop() 
wasn't doing what was desired on Mono.  The Queue refactoring should address
the readability issues lbsa71 was working on as soon as I get the merge together.
2007-12-06 20:13:02 +00:00
lbsa71 395637acdd * now the throttle timer is stopped whilst processing Queue so that it won't fire twice
* started to refactored throttling method
* some code convention refactorings
2007-12-06 14:08:22 +00:00
Jeff Ames 1c593d9e19 minor cleanup of Scene.cs (parameter naming, function documentation stubs, duplicated UUID, you know...) 2007-12-06 04:01:56 +00:00
Sean Dague 9c81b8a430 From Gary Chernega (IBM)
This patch adds x, y, and z offsets to the load-xml command.
If you had a prim at 100,100,20 thats where it would get loaded everytime. 
This patch lets you place it at an offset from 100,100,20.. as such:

        load-xml <filespec> -newUI 3 1 2

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

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

This also means that if you rename an item (e.g. a script) before you drag
it into an object's inventory, the inventory will receive the item's most
recent name and description.
2007-12-03 20:06:01 +00:00
MW 690e517240 Added a flag to load-xml console command, that will generate new uuids for the loaded Sceneobjects (as per mantis request #53).
To use append "-newUID" to the end of the command, so new format is : "load-xml <filename> -newUID". 
If you don't add the "-newUID", then the uuids in the xml file will be kept.
2007-12-03 14:57:39 +00:00
Jeff Ames 4c0ddacc16 minor meaningless changes 2007-12-03 07:26:27 +00:00
MW cac98171e5 Very partial Avatar Appearance (ie, clothes/body parts) "storage". In standalone mode it will mean that when you log off and log back on ,as long as the region server hasn't been restarted , your avatar will start with wearing the clothes that it wore on log off. In grid mode its even more limited in that wearing/removing clothes/body parts are only stored in the region server instance you are one. so if you are in a different region to your login region (which are on different region server instances), and then change clothes, those changes won't be remembered. So as said, its very limited but is a small step towards having proper appearance persist.
Just need to store this data out to a database.
2007-12-02 14:56:23 +00:00
MW 7bc28e0571 the fix, so that trunk works again 2007-12-01 14:25:46 +00:00
MW 27f182ac54 Part 1 of a commit. This revision will not compile, part 2 will be added in a couple of minutes that should fix that.
Some work towards persisting Avatar Appearance (what is being worn).
Added OnAvatarNowWearing event to IClientAPI that is triggered by AgentIsNowWearing packets.
stub code to subscribe to this event in AvatarFactoryModule. 
Todo: code needs to be added to AvatarFactoryModule to save the uuids to a database and then read them back when that modules TryGetIntialAvatarAppearance() method is called.
Done some changes to Scene to make it easier to subclass it: including changed some private fields to protected and made some methods virtual.
2007-12-01 14:20:37 +00:00
lbsa71 d2b1b54f49 * Removed permissions flag appliance from Xml deserialization
* Various code convention compliance
2007-11-30 08:08:14 +00:00
Teravus Ovares 31cec30aa0 * Extended our semi-stupid implementation of in world object permissions to show a user's client that it can't edit a prim if it doesn't have permission.
* Permissions is due for a big revamp. The current way it's done is a hack at best.
2007-11-30 04:54:15 +00:00
lbsa71 7704bb6f63 * Fixed neighbour range bug
* Various refactorings
2007-11-29 15:27:57 +00:00
Teravus Ovares 4738fead21 * Added a 50 second restart notify timer that gets reset when new regions come up to give servers that host a lot of sims a long time to start listening. 2007-11-29 07:25:58 +00:00
lbsa71 a32bb91675 * minor refactorings 2007-11-29 06:07:48 +00:00
Teravus Ovares 81ba94fde8 * Fixed about 7 issues with restarting sims and resolved interRegion comms issues. This includes the issue that MW described this morning.
There's a lot of little nit picky changes that make a world of difference.
2007-11-29 02:07:19 +00:00
MW ac77c50ba9 Moved the m_sceneGridService.RegisterRegion(RegionInfo); call out of LoadWorldMap and into its own public method (which is called during region creation). We shouldn't have things like that in methods like LoadWorldMap as some regions might not being having a worldmap loaded via the LoadWorldMap method (like in custom applications).
Deleted the CreateTerrainTextureInitial Method which was a 99% duplicate of CreateTerrainTexture, with just a bool field setting difference. That bool is now passed to CreateTerrainTexture as a param.
2007-11-28 12:36:09 +00:00
Teravus Ovares c021bfe191 * Disambiguation in the 'sim is restarting message' that tells you 'which' sim is restarting in the area. 2007-11-28 06:31:27 +00:00
Teravus Ovares b7d596a6af * Restaring the sim works fine in grid mode now. Sims announce themselves to their neighbors when they start up. Neighbors get this message and tell their agents that there's a new sim up.
* Certain unrecoverable physics based crashes in ODE are now hooked up to the 'restart the sim' routine.
2007-11-28 06:18:07 +00:00
MW b916d5b112 Fixed bug, where the clients in a region weren't told to kill a user's avatar when that user teleported to a different region. 2007-11-27 15:44:39 +00:00
Teravus Ovares 082f2baebe Fixed an event in the events chain in inter-region communications.
As a consequence, restarting sims in the same process instance now shows them when they come back up in grid mode and standalone mode.
2007-11-27 13:46:52 +00:00
Teravus Ovares 175b6115f1 * Restarting regions with the estate tools works in sandbox mode. I'm still working on grid mode, however. It doesn't break anything, but that feature doesn't work in grid mode yet either. 2007-11-26 05:02:18 +00:00
Brian McBee c710525b48 Added Region name to the terrain texture description that gets sent to the asset server 2007-11-25 22:27:42 +00:00
Brian McBee 7720be5a39 Rez new prims ON the ground, not halfway buried. Mantis 33. 2007-11-25 17:53:16 +00:00
Teravus Ovares d263a044b1 * Added the ability to restart your individual sims from within them using the estate tools.
* The sims properly restart, however they don't yet notify the existing avatars that they are up.  To see the sim again, you'll need to log-out and back in until I can figure out how to get the proper data to the sims and to the avatar so they reconnect again.
2007-11-25 04:52:14 +00:00
Brian McBee 21ce2b0979 Ignore nullreferenceexception in removeclient. The avatar is already gone. 2007-11-25 04:33:18 +00:00
Teravus Ovares 18e1e62f26 * Changed reference to NullReferenceException to System.NullReferenceException for Linux 2007-11-24 04:12:55 +00:00
Brian McBee 892f942523 Test storing terrain texture to grid assetserver on startup. Needed for main map functionality. 2007-11-24 03:55:35 +00:00
Teravus Ovares 944b118c62 * Added a way for the Region master user to kick individual users from their sim with a custom message. Their client says, "You've been logged off of secondlife, <Your custom message here> and logs them off.
* Added a way for the Region master user to kick *ALL* users from *ALL* their regions in the estate with a custom message.
2007-11-24 03:28:42 +00:00
Teravus Ovares 52714c339e * Hanling RequestGodlikePowers. On Request.. sends the sim owner's client the appropriate messages to make it think it's got god status. Will be used for finding more unimplemented packets.... 2007-11-24 01:38:36 +00:00
Teravus Ovares d7ec786244 * Added a nice 'The Region is going down.' message to the user when the sim owner issues 'shutdown' on the console. 2007-11-24 00:19:48 +00:00
mingchen 51d4d88985 *Fixed bug causing parcel prim counts to stop updating. 2007-11-23 20:17:49 +00:00
mingchen e7edd02019 *Fixed bug that resulted in most land settings being sent to the client. Media settings/parcel name are now correctly sent. 2007-11-23 19:07:41 +00:00
Teravus Ovares 1ecd803e87 * added some functions for use in raytracing. They're kind of crappy now, so they only display 'guesses' on the console when you rez a prim.
* any math gurus who'd like to improve rezzing need only to make the raytracer in SceneObjectPart work :D
2007-11-23 05:56:35 +00:00
Teravus Ovares 7cb38712d5 * Did some initial work for prim crossing. Just glue so far.
* Added the child_get_tasks OpenSim.ini flag for testing the UDP packet sending code and packet throttler.   This flag gets purposely disabled in grid mode.  This flag also has the consequence that you can see the prim in neighboring regions without going into them.  Be warned, this causes tons of dropped packets.
2007-11-21 02:17:24 +00:00
Teravus Ovares 5a71d03b7a *Huge* structural changes in ODE/OdePrim to get all of the calls in threadlocked code. ODEPrim was almost completely re-written.
Copy/Space test needed.
2007-11-20 04:38:08 +00:00
Teravus Ovares 615b40b68b * Refactored IClientAPI.OutPacket to require a second mandatory parameter. This parameter has an enum:int ThrottleOutPacketType and contains types; Resend, Land, Wind, Cloud, Task, Texture, and Asset. 2007-11-18 15:54:05 +00:00
Jeff Ames d10c79d421 first stab at implementation of CopyInventoryItem 2007-11-18 13:50:46 +00:00
Teravus Ovares 46ccfa1741 * Found several cases where prim set physical were not subscribing to physics events. 2007-11-18 13:37:02 +00:00
MW f71fa731f5 Made the background (ie empty space) colour of the exported map image blue. 2007-11-18 12:18:56 +00:00
MW 87b07c19ef Added "export-map <filename>" console command to the region server that will export a jpg image of the world map covering a 20 X 20 regions area centred on the current active region (ie the one set with change-region). While this should work in grid mode (if using the grid asset server and if my last commit did fix the world map), you might need to call the "export-map" command then wait a little while (60 seconds?) and then call it again so that you make sure the region has got all the texture assets from the asset server. 2007-11-18 12:04:21 +00:00
MW 7f99644864 Attempt to get World Map working in Grid mode, will need to be using the grid asset server for it to work correctly and has only been quickly tested in a three region grid.
Moved PermissionManager creation out of the Scene constructor and instead a PermissionManager is passed to the constructor as a param. So that we could create and use custom permissionsManagers.
Added AllowMovement property to ScenePresence which can be used to stop movement of avatars (for example in a custom region that wanted avatars always in one place).
Added PermissionManager call when copying objects, although currently the call will always return true so that it allows copying in places like Wright Plaza. 
A few other changes/fixes.
2007-11-18 11:11:44 +00:00
Dalien Talbot 2cd00f46b9 For every problem there's a solution that is simple, neat and wrong.
Looks like it has nothing to do with childregions - reverting and will 
try to debug after the sleep. Sorry for the noise :)
2007-11-18 07:58:04 +00:00
Dalien Talbot 0d8a2cccfd Looks like we're requesting the mapblocks for every agent - including
childagents. The infrastructure is not robust enough to handle it at 
this time - so ignore all the MapBlock requests for childagents.
2007-11-18 07:40:30 +00:00
Dalien Talbot f7b5c6550b Second try at having a bandaid for the multiple logins crash 2007-11-18 07:16:17 +00:00
Teravus Ovares 5fd2fa687e * Resolved the situation where prim is loaded from storage and when pushed never stops. 2007-11-16 22:13:13 +00:00
mingchen eb2f626561 *Added the TimeDilation property to Scene 2007-11-16 22:02:16 +00:00