Commit Graph

229 Commits (f71fa731f53783d6ef51db4c71779e4d759ce2e4)

Author SHA1 Message Date
Adam Frisby 4e01aa4879 * Added time dilation property to Scene
* Default Terrain algorithm now produces something slightly less mountainous.
* Fixed lolcat
2007-09-24 16:39:26 +00:00
Adam Frisby b82b8b8f4f * Fixed an issue where it chose the smaller rather than larger of the two numbers for the update call. 2007-09-24 15:58:39 +00:00
Adam Frisby f5eac12a88 * Renamed ScriptConsole to PluginConsole for clarity
* Fixed a bug where ODE tries to do a physics update for zero frames.
2007-09-24 15:56:34 +00:00
Adam Frisby 48e0e05446 * Refactored the central update loop - now easier to work with. Switching from per-framecounts to per-second time periods and moving to OpenSim.ini shortly. 2007-09-24 15:46:03 +00:00
lbsa71 1302ef44e3 * Started major restructusing of comms to prepare for better grid and region functionality
* Working towards one shared set of services
* Killed off two projects with very little functionality
2007-09-24 07:30:30 +00:00
lbsa71 40468f18a4 * Encapsulated all CommunicationsManager services 2007-09-24 05:15:13 +00:00
lbsa71 13c1c33ed4 * Added TryGetAvatarByName 2007-09-24 04:49:05 +00:00
dan miller a9a126063f long-lost fixes to physics -- proper physical avatar management on crossings, TP 2007-09-24 02:40:13 +00:00
lbsa71 b3eeb5a8dc * Purged 'Regions' code pending Agent layer grok.
* Changed so prims aren't loaded until AFTER parcels.
* The region startup flow is still an ungodly rats nest.
2007-09-23 23:55:29 +00:00
lbsa71 34043cd351 * Slowly but surely working my way towards Regionality... 2007-09-21 06:00:34 +00:00
lbsa71 5fab795bf0 * Continued work on Region layer
* Added Close() to ScenePresence to remove and destroy PhysicsActor
2007-09-21 05:23:17 +00:00
lbsa71 e4a78a9b30 * Removed unused RegenerateTerrain functions 2007-09-21 05:04:59 +00:00
lbsa71 72b207173a * Removed unused LandRenegerated flag 2007-09-21 05:00:51 +00:00
lbsa71 b9808f8314 * First example of moving stuff to a Region layer
* Also, changed RegionPresence to 'RegionSubscription' - let's just see where we land with this...
2007-09-21 04:58:40 +00:00
lbsa71 409bcd999d * Continuing refactoring of presence
* Deleted stub ScenePresence.Body.cs
  * Added stub Region classes

The idea is to, at first, have every ScenePresence have one RegionPresence, moving code over to it until we can detach the two classes and not have a ScenePresence for every RegionPresence.
2007-09-21 03:13:49 +00:00
dan miller d3050724d8 physics-related fixes; should stabilize border crossings 2007-09-21 02:31:36 +00:00
lbsa71 ca611c6668 * even more renaming and refactoring; the cleaning woman is on call. 2007-09-20 23:47:32 +00:00
lbsa71 101369e25a * Some more presence refactoring 2007-09-20 23:28:08 +00:00
lbsa71 7335e5710b Rev 1971 : The Lbsa71 vintage commit
* Refactored to prepare for some serious restructuring
2007-09-20 13:04:51 +00:00
lbsa71 14d5a2e9b7 * moved SceneManager to RegionApplicationBase
* Implemented SceneManager.StopScene() and Scene.Stop()
* Some SimpleApping
2007-09-20 07:49:11 +00:00
lbsa71 4ce0c0794a * Added TryGetAvatar to SceneManager
* Refactored some names for clarity
2007-09-20 05:02:44 +00:00
lbsa71 2afbf8b22b * Added AddToPhysicalScene and RemoveFromPhysicalScene and added to MakeAvatar and MakeChildAgent respectively
* Removed unused m_child from ClientView
2007-09-19 04:19:27 +00:00
lbsa71 8f0b03597b * Modernized ScriptManager to new interface-based module calls.
* 'remove redundant this qualifier' ftw
2007-09-19 00:30:55 +00:00
lbsa71 f71b315592 * Now at least we're not creating physActors for child agents. 2007-09-18 22:12:16 +00:00
dan miller 04e7fcd0e9 RemoveAvatar called from scene.cs; implemented in ODE. Still issues with multi-region; see bug 410 2007-09-18 02:38:10 +00:00
lbsa71 df58154781 * Moved some commands from Scene into SceneManager so they could be used with 'root'
* Removed some duplicated commands
2007-09-17 07:31:15 +00:00
Dalien Talbot 7fd639a19e Kill little green men on minimap if the avatar logs off. 2007-09-11 15:11:10 +00:00
Brian McBee 1fb47bc4c5 Make grass and trees phantom by default. Same behavior as LL grid. 2007-09-10 19:35:51 +00:00
Sean Dague ffe9c9374a mass update of urls in source code to new website 2007-09-10 08:14:38 +00:00
MW 15423539f9 hooked up sdague new sqlite asset database provider to the old asset system. So we can still use sqlite for assets while we wait for the rest of the new asset system to be wrote.
Needs more testing, so if it causes problems will have to swap back to db4o.
2007-09-10 06:45:54 +00:00
dan miller 86e3fc3da2 added avatar updates for physics movement -- fixes gravity & avatar collision (ODE) 2007-09-09 21:21:09 +00:00
dan miller 94b03aa09d ODE: added support for Phantom flag. Presently you need to add 1024 to ObjectFlags by hand 2007-09-09 15:28:15 +00:00
MW 741a967bb3 Added region console command "edit-scale". To use first use change-region to set the active region as the one you want. Then use "edit-scale <primitivename> <xvalue> <yvalue> <zvalue>" so a example is "edit-scale myprimitive 30.0 25.0 35.0" [ Note the primitive name can't have spaces in it. Also if there is more than one primitive with that name in the region, then it will edit the first one it finds. Also it currently doesn't search through the sub primitives of linked groups. So the primitive needs to be either a single primitive object or the root prim of a group. ] 2007-09-08 11:08:38 +00:00
MW c29df824c2 Converted the LSL scripting engine into a IRegionModule, so now all "modules" share a common base interface and are loaded from the single loader. (It seems to work fine, but I have left the old scriptengine loader, incase we have to change back).
Removed the reference to OpenJpeg in the DynamicTextureModule, to see if that was causing the build problem someone is having. 
Added a Temporary fix for the "existing connection was forcibly closed by the remote host" exception on windows when a user logs out of a multiregion instance. 
Some early work to prepare for improving the way clients are updated (about prims etc).
2007-09-08 07:50:31 +00:00
MW 804e87861b added experimental method of trying to relieve missing prim problem (by adding a limit of the number of prim update packets sent in each update loop). 2007-09-06 14:15:16 +00:00
dan miller 3586beb81b fixed mantis bug 375 (copy broken with physics/ODE enabled) 2007-09-06 03:31:32 +00:00
MW aafc82cd18 Added "force-update" console command (when a region is set as active), which forces the region to send updates of all the prims to all clients. Not sure how well this is going to work with a few users on at the same time, but it might work as a temporary hack to relieve the problem of missing prims. 2007-09-05 21:36:55 +00:00
MW c014ea1510 Added partial help info when calling "help" command with a region set.
Added AddDynamicTextureData() to DynamicTextureModule, so that a script (or another module even) can create a dynamic texture by passing a string with the data in, rather than a url. This could be used for anything from a script passing a basic text string (and having it rendered to a texture) or the script building its own html document.
2007-09-04 20:21:03 +00:00
MW 710856e3d3 Removed the exit-region command, now use "change-region root" or "change-region .." to change back to root level. [Would be nice if the command prompt changed to show what the current region was, but think that will need changes to the console code so for now it will have to stay as it is]. 2007-09-04 17:53:21 +00:00
MW 0eef82291e Added "show modules" command that if at root level will display a list of loaded "shared modules" (modules instances that are shared by multiple regions) or if a region is set then will display the list of local modules loaded in that region.
Can now use "show users" when a region is set, to have a list of users in just that region displayed.
2007-09-04 17:09:47 +00:00
MW 16cbc35f0c Fixed it so change-region works with region names that have spaces in them.
Fixed it so that change-region gives some feedback to show if its worked (found the region) or not.
2007-09-04 16:39:44 +00:00
MW bfd36e2e83 Some work on Module loading/management.
Some more modules templates classes (hoping that someone will pick some of these and work on implementing them).
Early version of the "Dynamic Texture Module", although currently there are no render modules included (so not really functional without them). 
Added osSetDynamicTextureURL script function, for attaching a dynamic texture to a prim. 
Some work on the console command handling. Added "change-region <regionname>" and "exit-region" so that after the use of change-region, the commands entered will apply to that region only. Then use exit-region to return to the top level (so commands then function as they did before and either apply to all regions or to the first region) (Note: this hasn't been tested very much)
2007-09-04 13:43:56 +00:00
MW f388a47254 Added a Debug method to the Console/log class that has the Conditional attribute (set to "DEBUG"), so we can use that for writing extra debug info to the console. [for anyone who doesn't know about the Conditional attribute, it is a attribute that can be set on a method, and then any call to that method will on be compiled if the terms of that condition are met, ie is this case only if "DEBUG" is true. So its a cleaner implementation of the #if #endif directives].
A few other minor changes.
2007-08-31 12:19:36 +00:00
MW 36fba5e7e2 Various small changes (some likely to be removed again soon) 2007-08-29 15:39:57 +00:00
MW 7915adc6c5 Corrected the namespace in OpenSim.Region.Physics.Manager, so now namespace should equal project and directory. 2007-08-28 18:40:40 +00:00
MW c16aafee09 Taken the old scripting engine out of Region.Environment and moved it into a separate module: OpenSim.Region.ExtensionsScriptModule (named as such because the purpose of it is to script server extensions, rather than "user scripting" like Tedd's engine.) 2007-08-28 18:30:28 +00:00
MW 8e3b2392d1 Start of trying to make Region/Scene more modular.
Added preliminary IRegionModule interface.
Also have a work in progress way of Modules registering optional API methods (kind of like Apache optional functions). But there must be a cleaner/nicer way in c# of doing these than the current way.
Added three work in progress modules: ChatModule (simple handles in world chat, but by moving this to a module, we could support other types of chat modules, ie like a irc - opensim bridge module. ) , AvatarProfilesModule and XferModule. 
Moved most of the code from  Scene.ModifyTerrain() into the BasicTerrain library, as the start of trying to make that more modular. 
Stopped Child agents showing up as part of the "show users" command.
2007-08-28 14:21:17 +00:00
MW a45c4626fe Fixed the bug that sent a region port as the CAPS url, instead of sending the httpListener port. 2007-08-27 16:21:16 +00:00
MW 653a4ff22d Deleted a few old files that are no longer used.
Deleted the GridInterfaces projects, and for now moved the old local asset server into Framework.Communications, as we prepare to rewrite the asset cache and asset server.
Deleted Framework.manager as I am sure this is no longer in use.
2007-08-27 15:34:21 +00:00
MW 4c3be4e91f Another small tweak to image sending.
Implemented a few ll Functions, llSetObjectName llGetObjectName, llLoadURL (all currently untested).
2007-08-27 10:34:28 +00:00
MW 291eb48fb0 Another attempt to fix the image sending bug (next week, I intend to rewrite the assetcache and asset server).
Attempt to fix bug # 326. (crashing when using save-xml and hollow prims)
Attempt to fix bug # 328 (limit of 50 items in a folder)
2007-08-26 17:57:25 +00:00
MW 0d5311e49b Added RemovePrim method to the physics plugins interface.
Implemented that method in ODE plugin.
Hooked it up so when deleting/taking prims into your inventory they will be removed from physics engine.
Enabled the other physics hook ups in Scene.cs (and also added registering prims with physics plugin when they are rezzed from Inventory.)
So now to get the avatar to prim collision testing working, just change to use the ODE plugin (in the OpenSim.ini file, physics = OpenDynamicsEngine). Remember though ODE only really works (without problems) when running with a single region.
2007-08-23 17:21:08 +00:00
MW edd50f2e8e Implemented Resize Method in OdePrim.
attached the links to that from SceneObject, so now resizing works (as much as resizing currently works in opensim, fixing resizing in general is on my todo list for today).
Rotation of a root prim also now updates the physics engine.
So think there really is only deleteprim left, then it should be usable (Different shapes (other than boxes that it currently uses) can wait a little bit longer).
[of course there are still the other issues of ODE not really working when there is more than one region in a instance of opensim].
2007-08-23 11:38:50 +00:00
MW 8264ba849f Added a PhysicsActor PhysActor member to SceneObjectPart, and made it so this is set when registering the prims with the physics engine.
Position changes of the prim is now updated straight away to physic engine. (note at the moment, only root prim is registered with physics engine. Think we need to decide how we are going to manage child prims and physics.)
As before this is all currently disabled (in scene.cs) until its in a bit more working condition.
2007-08-23 11:18:16 +00:00
MW 9a8742e838 Added danx0r's physics patch, although for now have disabled the lines in Scene.cs, as any changes to prims (like size or position changes) are only updated to the physics engine when you restart opensim. Also prims aren't deleted from the physics engine. These shouldn't be hard to fix. 2007-08-23 10:53:42 +00:00
MW 47c6d8ae8f Added OnRemoveScript(uint localID, LLUUID itemID) event , trigged when a script in a primitive is deleted. 2007-08-22 18:36:47 +00:00
MW 283468caa0 Added Scene.GetSceneObjectPart(uint localID) 2007-08-22 17:46:23 +00:00
MW f90bd59708 Fixed typo. 2007-08-22 14:48:53 +00:00
MW b5921e2b95 Start of Task Inventory (ie prim's inventory). For now, you can only move scripts into a prim (from your user inventory) and although the script will now show up in the prims inventory, you can't make any changes to it (or delete it). Also a prim's inventory is currently not saved between restarts. 2007-08-22 14:37:54 +00:00
MW 921ac14e86 Added OnRezScript event to Scene.EventManager.Which the script engine should subscribe to. This is triggered whenever a script is moved into a primitive (and includes the localid of the prim and the script text as params) . Currently though the script item isn't deleted from a users inventory, nor does it actually show up in the objects inventory (this will be fixed soon.) So that means that it isn't currently possible to edit a script (or delete it) once it has been added to a primitive. 2007-08-21 21:03:18 +00:00
MW 0e6f57a303 Hopefully fixed the problem of users avatars not always showing up when either you or another user has crossed from one region to another. (however a avatar's appearance isn't kept across regions, but we need to add that to inter-regions communications so for now people will have to put up with some other user's avatars appearing as the bald(ish) fat man 2007-08-21 18:11:45 +00:00
MW 249826893d Old group is now deleted from datastore when you link groups/prims, so that the new group can be stored correctly. 2007-08-21 17:47:01 +00:00
MW b7134c834c Shift and Drag copying should now work correctly. [This was one of those stupid little one line bugs that was so much fun to track down that I decided to spend a few hours on it)
Linking groups should now work better than it did, but still a bit of work to do on getting the rotations of all the parts after linking right. 
Added part of dalien's #301 patch (xml loading/saving related parts with some small changes)
2007-08-21 16:25:57 +00:00
MW 252b48fb3e Can now turn on/off server side permission checking (on prim editing etc) from the opensim.ini file. Just add a line to the Startup section like : serverside_object_permissions = true
Changes /editing that are made to clothing/ body parts in your inventory should now be saved between logins/ restarts.
2007-08-21 13:21:03 +00:00
MW 31a81e17be The regionUUID is now being passed to the datastore calls. 2007-08-20 15:49:06 +00:00
MW 4af33c4da6 Instant Messages between users in the same region should actually now work. 2007-08-20 11:52:55 +00:00
MW 3dffc3e3f6 small clean up. 2007-08-19 14:55:43 +00:00
MW c89db49f3c Sqlite datastore should now save the textures and extraparams data (used by sculpties) correctly. [Really need to add a ExtraParams field to the sqlite database though, but for now I have combined their data so that we don't lose backward compatibility, know a couple of people have been using the datastore already].
Now have a rough day/night cycle (the movement of the sun needs to be made smoother but for now it is better than we had I think).
Added dalien's patch (issue 294) for saving and loading prims to a xml file (think he will be modifying these to be import/export functions and maybe writing a xml datastore for backups).
Some preliminary work on task inventory (ie object's/prim's inventory).
Added place holder data for AvatarProperties (ie a avatar's profile). Should we store this sort of data on the user server or have another server for it (a normal webserver should work). 
Added a few more method to IClientAPI.  
Sure there is something I'm forgeting.
2007-08-19 13:35:20 +00:00
Brian McBee 6c7f828833 When teleporting to distant region, you can now go to the point you want to go to, instead of the default 128,128 2007-08-18 17:10:54 +00:00
lbsa71 25fd8d0273 * Introduced IScriptHost as an interface to fetching object data from scripts.
* This meant introducing AbsolutePosition on all objects (since SimChat wants that)
2007-08-16 17:08:03 +00:00
MW 531f64a53b Taking Prims (SceneObjectGroups) in and out of inventory should now work and if left in inventory will still be there after restarts. (as with the rest of inventory it will only fully work in standalone mode with account authentication turned on). 2007-08-16 16:31:32 +00:00
MW 94dded470d More work on inventory, can now create other inventory types, like Clothes and body parts. [Note while you can edit these, at the moment your changes won't be saved between restarts. This will be fixed very soon.] 2007-08-15 18:34:36 +00:00
MW 217d511077 Temporary fix for the region crossing crash, Although we need to start to change and improve how we handle caps. 2007-08-15 15:24:37 +00:00
Adam Frisby 5699bb2e64 * Permissions! - You can now only perform certain functions (such as editing other peoples objects) if you have permission to do so.
* Moved OnPermissionError to EventManager - now triggers a standard blue alert.
* Terraforming now requires permission via the permissions manager. [Defaults to admin-only]
* Permissions manager is now substantiated in Scene
* Buttload of new permissions added.
* Estate manager operations now require various levels of permission to operate
* OGS1 now produces 'summary reports' for a commsManager of each scene it maintains connections for. Reduces grid network traffic for ping checks.
* Added new "permissions true" / "permissions false" console command to enable or disable permissions.
2007-08-15 14:10:26 +00:00
MW a4fc02d790 Partial fix for the permissions on edited notecards/scripts (now you might still see the messages next to the items of no copy or whatever, but they shouldn't stop you doing thing like reading etc) 2007-08-14 20:05:39 +00:00
MW a979808493 preliminary support for editing notecards and scripts.
Although there seems to sometimes be a problem of when you login again, old notecards and scripts will have their permissions messed up and you won't be able to even view their text. This seems to be related to the client's cache, and if you clear your client's cache, on the next login they should be fine again. [I have a couple of ideas about what might be causing this so hopefully will have it fixed soon.]
2007-08-14 19:19:09 +00:00
MW 20b50489c0 Can now create some new empty inventory items (like notecards and scripts) from the create menu in the inventory window. Although currently you can't update/edit them (and have those changes saved). 2007-08-14 17:48:25 +00:00
MW 181a90967e Start of inventory items, when you upload a texture the data will now be stored in the inventory database and you will still have that texture in inventory on later logins (Again only in standalone mode with authentication.)
Also there might be some problems if you upload textures in other regions to the start one (due to us not updating the CAPS url properly).
2007-08-14 17:29:15 +00:00
Tedd Hansen afaa12a9e2 ScriptEngine: Some error handling, logs to logger 2007-08-14 15:59:36 +00:00
MW ff08d4d016 More inventory work, should be able to now create new inventory folders and them be stored in database (so are there on next login). Again only works in standalone mode with Account/password authentication turned on. [Creating new inventory items should be working very soon.]
The test is to make sure that it hasn't broke grid mode at all.
2007-08-14 14:57:52 +00:00
MW a228b5984e Start of Inventory service, currently only (partially) functional in standalone mode and using sqlite).
In standalone mode, if you have account authenticate turned on (setting in opensim.ini) then when you create a new account, a set of inventory is created for that account and stored in database (currently only a set of empty folders). Then during login the database is search for that set and sent to the client in the login response.
More functions will be added soon, like creating new folders (and a bit later items) from the client inventory window.
2007-08-14 13:54:46 +00:00
Tedd Hansen 79dc1a4f7d Common script for all objects (Default.lsl). ScriptEngine touch_start event now works, but llSay only outputs to server console. 2007-08-13 20:55:07 +00:00
MW 45fcbaae1b Added Scene.ConvertLocalIDToFullID() method. 2007-08-13 20:24:37 +00:00
MW b3c6920328 added Sample OnObjectGrab event to SceneEventManager for script engines to subscribe to. 2007-08-13 20:11:35 +00:00
Tedd Hansen 876f71cf93 (DotNet) ScriptEngine is now loaded and added to Scene during startup. 2007-08-13 19:39:51 +00:00
MW b59d9789f8 Partial Linking of prim groups should work (its partial as currently only the root prim of the child group will actually get linked, working on linking the rest now).
Multiple prim groups are now stored in the sqlite database and are reloaded correctly.
2007-08-13 13:36:42 +00:00
MW f147d8e0f0 Few small fixes 2007-08-10 18:52:46 +00:00
MW 79f0ac82e3 Some cleaning up and removed a few old files no longer in use.
Temporary have had to rename the OpenSim.DataStore.MonoSqlite project to OpenSim.DataStore.MonoSqlite1, as I'm not sure what was done to stop the old project name being included in the VS2005 solution.
Also some config changes:
OpenSim now has a INI (OpenSim.ini) file that it will read some config settings from (if the ini file exists).
Added Mono.Data.SqliteClient.dll so that we can use the same code for sqlite on Windows and mono/linux. (from what I can tell Mono class libraries have a MIT license so there should be no problems with us including this dll).
So now to get the basic prim storage working , you need to first create the sqlite database file from the sqlite3-prims.sql in share directory. Then in the OpenSim.ini file, change the storage_plugin so it points to OpenSim.DataStore.MonoSqlite1.dll (storage_plugin = OpenSim.DataStore.MonoSqlite1.dll). Then in your region.xml files change the DataStore value so it is the name of your database file (at the moment you need a different sqlite3 database file for each region).
2007-08-10 17:22:54 +00:00
MW 427431ba17 Fixed a couple of mistakes. 2007-08-10 14:01:05 +00:00
MW 94c7e41ef1 Made a few changes so that once we enable the sqlite data store (simple line change in OpenSimMain), then basic ( with a few limits at moment) prim database backup will work. 2007-08-10 13:59:19 +00:00
MW d451dddcd0 Start of replacing the old SceneObject/Primitive classes with the new versions.
PLEASE NOTE: that with this revision some prim related features may be broke for a while. (things like linking prims and the parcel prim count.)
Also this revision may not work on mono, but that will be fixed soon.
2007-08-09 17:54:22 +00:00
MW a56a17fab2 Making sure my local working copy is in sync with svn before I start the job of enabling the new SceneObject classes. 2007-08-09 12:59:42 +00:00
Brian McBee 0a6628f333 worldmap now gets correctly updated when terrain changes 2007-08-08 20:47:44 +00:00
lbsa71 fdbb891659 * commands are done foreach instead of by [i]
* fixed 'show users' format bug.
2007-08-06 14:14:43 +00:00
lbsa71 07b011af3a * renamed some scene to world
* passing on NotImplemented from Update()
2007-08-06 13:40:45 +00:00
lbsa71 9924f35613 * encapsulated firstname/lastname on ScenePresence
* fixed 'users' console command
* minor refactorings
2007-08-06 13:21:30 +00:00
MW ec5ae36fda and more work on those classes. Think they are just about ready to begin hooking them up. 2007-08-03 14:47:38 +00:00
Adam Frisby d2c7bd3fff * Terrain engine now knows the region coordinates - this can be later used to allow loading of single terrain files for multiple regions. 2007-08-01 21:27:58 +00:00
MW edc572dacf Some more work on SceneObject/primitive rewrites (AllNewSceneObjectGroup2 /Part2).
Updated the JavaVM to a later version I did (basically some clean up and a little bit more functional).
Added SendLoadURL method to IClientAPI.
2007-08-01 16:50:20 +00:00
Sean Dague 55b569069d clear userAgent state on client shutdown, which fixes the issue
where you could only login once with a given id in standalone mode.
2007-07-31 14:42:50 +00:00