Commit Graph

337 Commits (c25a0ea7923aa390d30b8eebdbca4e599edf9b0d)

Author SHA1 Message Date
Jeff Ames f195725db4 keeping opensim safe for children -- made some namespace references less explicit 2007-12-04 22:14:53 +00:00
lbsa71 c1fdba8a6f * Some more ApplyPhysics voodoo 2007-12-04 16:41:20 +00:00
lbsa71 bf8239c7fa * ApplyPhysics now creates the PhysActor as well. 2007-12-04 13:46:18 +00:00
Adam Frisby be7ae3dd3e * Removed 12 compiler warnings. 2007-12-04 08:18:09 +00:00
Teravus Ovares 95c68a316a *Refactored the initial raytracer so it doesn't use the Parent reference.
*Fixed a 'statement out of order' error in the setting of the permissions that are sent to the client.
2007-11-30 16:29:23 +00:00
lbsa71 6e22faf73e * Refactored away permissions and physics flag duplications 2007-11-30 09:42:36 +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
Teravus Ovares 5eb091ceee * Temporary fix for 'User already online' issue in standalone mode.
* Revert this once we get a working logoff.
2007-11-30 01:20:31 +00:00
lbsa71 7704bb6f63 * Fixed neighbour range bug
* Various refactorings
2007-11-29 15:27:57 +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 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
Jeff Ames 924026d01c cleaned up some mono compiler warnings 2007-11-18 15:14:37 +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 a4a1ff3d9b Added ClickAction property to SceneObjectPart (and the relevant changes in IClientAPI so its used), so that the default click action (ie touch, sit, etc) can be set on a prim. Note: Sill need to handle the incoming packets that set this, from the client. 2007-11-17 12:03:20 +00:00
Jeff Ames a473289738 minor cleanup of some dodgy bits 2007-11-17 08:14: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
Teravus Ovares b2243079ea * Trying a space/collision optimization technique in ODE. Let me know if you see a difference. 2007-11-16 18:30:25 +00:00
Teravus Ovares b63076c303 * ODE step two on the way to separate dynamic space allocation ( One more to go ) 2007-11-16 08:53:37 +00:00
Teravus Ovares 179695909a * Implemented the little friendly pop tooltip messages that appear when you hover your mouse over prim with the object name, description, ownerid.. etc. 2007-11-15 07:32:24 +00:00
Teravus Ovares 3cb2b5eb66 * Copied objects are now owned by the object copier (Next Owner) (however next owner permissions are not applied yet)
* In Serverside permissions mode; If you've copied an object, then you can delete it and clean up after yourself.  The rest of the permissions functionality is still unchanged.  Admin can delete any object..  etc.
2007-11-14 11:56:57 +00:00
Dalien Talbot 8039c31e88 Patch from Mathias Soeken (thanks Mathias!) to take care of the color
and alpha argument of the llSetText command.
2007-11-11 22:23:34 +00:00
Teravus Ovares ec77e1eb17 * adds flag in OpenSim.ini for disabling physical prim. Look at OpenSim.ini.example in the bin folder for an example. 2007-11-11 00:08:18 +00:00
Teravus Ovares 90274434c6 * Moved BulletX off of the 'constant terse update' method. It now only sends terse updates when needed.
* Removed the 'constant poll method' from SceneObjectPart.cs - It was bad :P
* Updated some Masses in ODE to help large prim slow down by friction easier.
2007-11-09 13:45:42 +00:00
Teravus Ovares fcc276a68d * Fixed occasional character drift caused by sim not sending the avatar's final resting velocity.
* Added Smooth moving prim
* Added event to PhysicsActor RequestPhysicsterseUpdate to allow physics plugins to be able to schedule a terse update.
2007-11-08 15:22:36 +00:00
Teravus Ovares 9e9dad1cde * Added Rotational Velocity reporting for Client Interpolation to Terse Updates
* Added Angular Velocity reporting for smooth-ish rotations on object collisions
2007-11-08 00:10:40 +00:00
Charles Krinke 7eff1572cb Thank you, Teravus for: Solution for 'after using physical prim with MonoSqliteDataStore, the sim lags with constantly updating assets.". This mostly affects BulletX. 2007-11-05 04:33:06 +00:00
MW e50a2e2ce2 Applying Teravus patch # 557. Some glue code for the updating of prim's velocity. 2007-11-04 14:06:41 +00:00
darok bcc0f3265d Fixes a bug with a ZERO Quaternion when creating a prim. 2007-11-03 20:50:11 +00:00
darok fbf3c6a768 Modifications for prim movement. For now only in Mod. BulletX, but i think it can be easy to add to ODE. Enjoy kick the prims and be careful with the falling ones ;D 2007-11-03 19:33:00 +00:00
MW dabbdec2cd First part of Scene refactoring:
Started the move of some of the methods from scene into a inner class (currently called InnerScene.cs), the idea being that the code related to the 3d scene (primitive/entities/Avatars etc) will be in this inner class, then what is now Scene.cs will be left as a kind of wrapper class around it. And once the spilt is complete can be renamed to something like RegionInstance (or any name that sounds good and ids it as the Region layer class that "has" a scene). 
Added SceneCommunicationService which at the moment is a kind of high level wrapper around commsManager. The idea being that it has a higher level API for the Region/Scene to send messages to the other regions on the grid. a Example of the API is that instead of having sendXmessage methods, it has more functional level method like PassAvatarToNeighbour. Hopefully this will allow more freedom to do changes in communications that doesn't break other things.
2007-11-03 19:14:22 +00:00
darok f8e0cf0f1d Changes in BulletXPlugin: Added new class BulletXActor class inherits from PhysicsActor and it's the ancestor for BulletXCharacter and BulletXPrim.Physical modifications: Changes for pass the value of Physical flag in the SceneObjectPart class to the Physics engines. New call for AddPrimShape so it has a new parameter called "isPhysical". The old call will be obselete soon (i believe). PhysActor and its descendants have a new property called IsPhysical. By the way no new special funcionallity added. It's more like preparing the way for new modifications. 2007-11-03 10:25:43 +00:00
lbsa71 4fad66f855 * Diuerse beavtificatems 2007-11-01 19:19:05 +00:00
Charles Krinke 8af272b3ab Thank you, Melanie for solving: When receiving an ObjectAdd packet, the Rotation member is silently ignored and the prim is created with 0,0,0,1 rotation. The patch introduces a fix that passes the Rotation parameter from the packet to the object and uses it in the actual object creation. 2007-11-01 03:56:54 +00:00
Charles Krinke 41e71e5548 Thank you Melanie for a patch to SceneObjectPart.cs so that on first transmission of task data to the connection of the creator/owner, the CreateSelected bit in the object flags is now set. 2007-11-01 02:49:33 +00:00
dan miller f5195a453c Tevarus' patch for object flags & implemented Phantom edits 2007-10-30 23:38:56 +00:00
lbsa71 67e12b95ea * Optimized usings
* Shortened type references
* Removed redundant 'this' qualifier
2007-10-30 09:05:31 +00:00
MW 3d8219f6c7 as per the "Filesystem cleanup for OpenSim repository" mailing list thread. Have flattened the OpenSim.Framework project/namespace. The problem is that the namespace is still wrong as its "OpenSim.Framework" while the directory is "OpenSim\Framework\General" , so we need to decide if we change the directory or correct the namespace.
Note this has lead to a big flat project, but I think a lot of the files we most likely don't even use any longer. And others belong in other projects/namespaces anyway.
2007-10-29 21:46:25 +00:00
MW 27f003b683 Started the process of cleaning up AssetCache and moving most of the code into modules. Have moved TextureRequest handling (from the client) to a module. But even though to start with I just did a little bit of cleaning up of the existing code, it doesn't seem to work as good as the old code so I need to spend more time on it. So for now am committing my changes but with them not in use. So for now all Texture and asset requests are still handled by the old code in AssetCache. 2007-10-29 09:51:23 +00:00
MW 0f1604a53f Couple of small changes to Xml serialising of SceneObjectGroups (shouldn't effect anything). 2007-10-16 11:16:25 +00:00
lbsa71 849eaffbe5 * Applied patch #418 : copyright-r2012.patch - some errors, but got most thru 2007-10-15 07:10:21 +00:00
lbsa71 b77bf18079 * Just extracted a standard ToXml() on SceneObjectGroup 2007-10-12 19:31:37 +00:00
MW 86e5f82cb1 Some changes to the sending of updates of SceneObjects to clients, that I did a few weeks ago but never committed (and never completely finished what I had planned). 2007-10-11 10:50:55 +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
lbsa71 ca611c6668 * even more renaming and refactoring; the cleaning woman is on call. 2007-09-20 23:47:32 +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 8f0b03597b * Modernized ScriptManager to new interface-based module calls.
* 'remove redundant this qualifier' ftw
2007-09-19 00:30:55 +00:00
Sean Dague dddf61953b added ability to update group position 2007-09-14 08:55:22 +00:00
MW 3a1ddca8a1 Fixing namespace problems 2007-09-11 14:33:32 +00:00
MW 04cf04600c Applied ldvoipeng's patch [#360], sorry for it taking so long to apply it. If in future anyone's patch hasn't been applied within a few days, please can someone kick one of the developers with svn access. 2007-09-11 14:18:34 +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
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
MW a7f7dfc0dc few small changes (all work in progress). 2007-08-29 19:09:45 +00:00
MW 334dce42e7 Fixed the problem of prims not being loaded from the database (that my last commit created). 2007-08-29 16:35:22 +00:00
MW 1a33582c05 Attempt to cut down how often objects are backed up to the database. 2007-08-29 15:32:48 +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 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 6181191a03 Stopped EntityBase from implementing IScriptHost, as don't think it should, multiple objects are based on entitybase and they all don't want the baggage from IScriptHost. SceneObjectPart already implements it anyway.
Added llGetOwner function, and tested the ll functions that I added in last commit.
2007-08-27 11:18:50 +00:00
MW 573fb3a609 Hopefully fixed the bugs in primitives rotation editing 2007-08-25 14:12:40 +00:00
Sean Dague c35e3b1f35 updated to include saving of object flags.
People will need to blow away their databases after this point.
2007-08-25 13:06:09 +00:00
MW df73446bee Scripts are now copied into a prim (ie new copy placed in the prim) rather than moved into there. 2007-08-24 11:42:44 +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 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 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 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
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 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 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 4af33c4da6 Instant Messages between users in the same region should actually now work. 2007-08-20 11:52:55 +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 fcf7db7272 Pimped up Default.lsl. Now featuring a touch counter.
Changed "ObjectID" in ScriptEngine to IScriptHost reference. Events will now be queued based on IScriptHost reference instead of string ID of object. Removed "root" object reference in script.
2007-08-17 21:24:38 +00:00
lbsa71 e53d680d41 * Now sending manager, host and root host to Script in constructor.
* Changed how Script accesses World
* Implemented llSay, llWhisper and llShout
* Added SetText() to IScriptHost, implemented llText
* Minor renamings to conform with code conventions
2007-08-16 18:40:44 +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
lbsa71 94af938742 The 'Party Party Groupie Groupie Life is a game' commit:
* Added prototypical MoneyBalance support
  * Finalized konceptual touch wiring
  * Turned SimpleApp into a tedious harvesting game.
2007-08-15 21:24:25 +00:00
lbsa71 2fe9b8139c * Again, FileSystemObject reports filename.
* SimpleApp now featuring spinning box with spinning parts.
* Damn. That's cool.
2007-08-15 17:15:41 +00:00
lbsa71 c47bca94d2 * Exploring Group/Part from an app perspective. 2007-08-15 16:57:47 +00:00
MW 45fcbaae1b Added Scene.ConvertLocalIDToFullID() method. 2007-08-13 20:24:37 +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 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 765bd02a48 SceneObjects should now (hopefully) call datastore.StoreObject(). 2007-08-09 19:30:52 +00:00
MW e36c645729 Deleted old LSLEngine files (those under Scene.Scripting) 2007-08-09 18:45:40 +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