Commit Graph

16773 Commits (25b3edc21c4d5deb7563410a4e0a5364153b1002)

Author SHA1 Message Date
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
Sean Dague 8c9f006dd3 grouping of functions to make the overall logic easier to grasp for people,
and start to show how this can be super classed with some common elements.
2007-08-23 15:16:53 +00:00
Sean Dague 63c56f71a8 remove this sqlite file as the database is actually autogenerated
from the MonoSqlite module, and the schema is evolving over there.

People would just get into trouble if they creat the db with this.
2007-08-23 14:54:04 +00:00
Sean Dague 742846d9e6 fix typo 2007-08-23 13:08:52 +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
Brian McBee 107469ed93 More lsl functions (thanks to ldviopeng and wjordan!) 2007-08-23 05:26:02 +00:00
Sean Dague 1f45f688b2 setup test tables function which lets us make sure that everything
we are going to ask for from the database is actually there.  This
will let us bail early with a useful error message, instead of late
with a hard to understand one.

Do some other cleanups to get rid of debug input I put in
2007-08-22 21:45:26 +00:00
Sean Dague 1fa2d487aa Bit of refactoring of the sqlite storage code to build the
data definition in ado.net objects up front.  This makes auto
generating the sql commands work a lot more reliably.
2007-08-22 21:09:38 +00:00
Tedd Hansen caee73353d Debug shows how many bytes (total) a script (assembly) uses after compile and load. 2007-08-22 20:01:04 +00:00
Tedd Hansen 9566444a6a Correct OpenSim.ini and inventoryStore.db 2007-08-22 19:49:36 +00:00
Tedd Hansen ffa8bd6cdd Seems like I commited OpenSim.ini and inventoryStore.db unintentionally in last commit... 2007-08-22 19:40:30 +00:00
Tedd Hansen 4beef91d00 GC.GetTotalMemory(true) was blocking.
We now support individual scripts on individual prims. Do the script dance... \o/ \o\ /o/ \o/ .o.
2007-08-22 19:33:10 +00:00
Tedd Hansen 0eadb7591e Added OnRemoveScript event handler to ScriptEngine. Fixed event queuing of empty objects crash. 2007-08-22 18:41:31 +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
Tedd Hansen 5a86fd2c31 (Untested) Scripts are individually loaded into objects (on rez), and event fired likewise. Bugfixes coming in next commit. 2007-08-22 18:09:38 +00:00
MW 283468caa0 Added Scene.GetSceneObjectPart(uint localID) 2007-08-22 17:46:23 +00:00
MW 001d5a5c92 Made SceneObjectGroup.GetChildPrim() public, for now so that script engine can get ref to the SceneObjectPart/ IScriptHost. 2007-08-22 17:40:26 +00:00
MW 5ea6d8d739 A little bit of cleaning up. 2007-08-22 16:59:13 +00:00
lbsa71 5403153c15 A case of 'while I was working someone set me up the bomb'. 2007-08-22 16:04:04 +00:00
lbsa71 22537aa620 * Added stub OnRezScript handler with plentiful of comments 2007-08-22 15:29:47 +00:00
MW a3648b6862 added ParentPartID to TaskInventoryItem class to make it easier to store them in database. 2007-08-22 15:07:21 +00:00
MW f90bd59708 Fixed typo. 2007-08-22 14:48:53 +00:00
MW f02ebb6476 Added forgotten file.
Made a change to the Scene.EventManager OnRezScript event, it now includes the itemID as a param. This uuid is unique to each instance of a script, so can be used for tracking changes/editing, stopping and deleting a script.
2007-08-22 14:47:01 +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
Brian McBee de2432b73e Fix for un-encrypted master avatar password in user database 2007-08-22 05:00:25 +00:00
Sean Dague 6f6432864d auto create sqlite database if it doesn't exist. This works, but needs some
cleaning up prior to release.  However this should make it easy for people
to start using sqlite storage.
2007-08-21 22:01:30 +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 73a67feaa3 changed the comment lines from # to ; in opensim.ini.
added a serverside_object_permissions = false entry (set to true to enable permission checking on prim editing etc).
set the default for standalone account authentication to be turned on (so we don't get lots of people asking why inventory doesn't work). Just remember to use "create user" to create the accounts.
2007-08-21 19:03:44 +00:00
Sean Dague 4dd40151a6 self document how to enable prim storage 2007-08-21 18:34:49 +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 16f75978ce Think linking prims should now work correctly (if its not then please someone let me know) and the rotations are kept. [Now just need to fix the editing (rotation and position) of individual prims of a group] 2007-08-21 16:46:10 +00:00
MW 76379a415b A bit more work on prim building related code. Think most of the building tools are now connected up and its now just a case of doing some bug fixing. 2007-08-21 16:32:31 +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 18d1031a88 Added Property to SceneObjectGroup to allow the UUID of the region it is in to be read. 2007-08-20 16:07:37 +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
Tedd Hansen 33326c1a70 Some minor changes + krinkec's updates to ll* functions. 2007-08-20 10:58:51 +00:00
Tedd Hansen 1b826c2fdc Added "StopScriot()" to ScriptManager. Stops Executor from executing events in script, removes script from EventQueueManagers target list, tells AppDomainManager that script is no longer active (and ready for unload). 2007-08-19 17:47:47 +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
Tedd Hansen eeaac68d73 Code comments on recent changes in EventQueueManager 2007-08-19 11:38:58 +00:00
Tedd Hansen 7770c65a7e Sped up EventQueueManager response time (scripts now respond quickly). Added support for multiple threads executing events on objects, but only one thread on one script at the time (to utilize MultiCore/hyperthreading CPU's). 2007-08-19 11:09:54 +00:00
Tedd Hansen e70cdbc5ac Added event method invoke cache to Executor. "Bind once, Invoke multiple times". Will speed up script event execution considerable. But at the cost of some memory (will be optimized later with RuntimeXHandle). 2007-08-19 10:28:27 +00:00
Tedd Hansen 1893164d26 Moved script loading from ScriptManager to AppDomainManager. Now increases scripts loaded count in AppDomain properly. 2007-08-19 06:52:59 +00:00
Brian McBee 75f6c3d364 More prep work for adding prims to ODE physics 2007-08-19 06:14:36 +00:00
Tedd Hansen 489803e6bc Did I forget to add IScript.cs? Yes I did... 2007-08-18 23:38:03 +00:00