Commit Graph

422 Commits

Author SHA1 Message Date
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