Commit Graph

337 Commits (c25a0ea7923aa390d30b8eebdbca4e599edf9b0d)

Author SHA1 Message Date
Justin Clarke Casey 1038c244cf * Add some temporary task inventory item inflation debug messages to investigate mantis 854 2008-04-02 15:16:32 +00:00
Teravus Ovares e74892ee44 * Use Face normal to offset new prim instead of the hard coded pos.Z += 0.25f; This allows proper positioning of prim based on the face you click. ( Yes, you can click the bottom face of a prim that's above you, and the new prim appears directly below it. )
( Remove ray caster Verbosity )
2008-03-25 17:31:40 +00:00
Teravus Ovares e11e6dc308 * Use Face normal to offset new prim instead of the hard coded pos.Z += 0.25f; This allows proper positioning of prim based on the face you click. ( Yes, you can click the bottom face of a prim that's above you, and the new prim appears directly below it. ) 2008-03-25 17:28:09 +00:00
Teravus Ovares 3d1b4f8578 * On Ray casting. Now returning the face normal of the collision face. 2008-03-25 16:09:43 +00:00
lbsa71 ba2de258f4 * Refactored out circular reference in Region.Environment <-> Framework.Data.Base
We REALLY need to get the db layer sorted soon...
2008-03-25 14:27:39 +00:00
Teravus Ovares a21112ccee * Adds llMoveToTarget and llStopMoveToTarget support to the ODEPlugin.
* It doesn't generate at_target events, because they don't exist yet in the script engine.
* The Tau is different, however, compatible with scripts I tested.
* Not perfect...  but pretty good.
2008-03-25 03:36:31 +00:00
Teravus Ovares dd6e6e7bdf * Added llApplyImpulse in the local frame. 2008-03-24 22:48:34 +00:00
Teravus Ovares dd6a9ffbc7 * OBB: Flipped the -y face normal so ray casting against the -y face correctly results in the point of collision. 2008-03-24 21:48:33 +00:00
Teravus Ovares dc850df50a * Implements Oriented Bounding Box raytracing.
* It's not perfect, but it's good enough. (rarely erroneously returns a backface collision)
* After updating to this revision, rez a prim on another prim and watch it appear where you'd expect it to appear.
2008-03-23 06:24:59 +00:00
alondria 5ebef6410e Implements llLoopSound(), llStopSound(), and llAdjustSoundVolume(). 2008-03-22 23:02:41 +00:00
Teravus Ovares 7854f6f4a2 * Committing some math to discover the Oriented Bounding Box and decomposing it into planes and normals.
* No obvious functionality difference as the Ray-cast code is incomplete for OBB right now.
2008-03-22 03:40:38 +00:00
Teravus Ovares 0cb05c1952 * Updated ray tracing code. It's now good enough to use when the XYZ vector components of the scale have a difference of less then 4.5 meters.
* When a new prim is created and raytracing is called for, raytrace from the camera position to the ground in the direction of the Norm(RayEnd - RayStart).
* If we got a hit based on our camera, create the new prim at the edge of the prim we hit.
* Don't raytrace if the difference between any component of the vector exceeds 4.5meters.
2008-03-21 05:54:56 +00:00
Jeff Ames 84289cfb4b Fix server crash when setting prims physical under basic physics. 2008-03-19 19:33:38 +00:00
Jeff Ames 47180080f0 Formatting cleanup. 2008-03-18 05:16:43 +00:00
Sean Dague dba37a8722 From: Alan M Webb <awebb@vnet.ibm.com>
Here's a diff of the changes I have made in support of the following LSL
script functions. 

llSetScriptState
llGetScriptState
llCSV2List
llListRandomize
llList2ListStrided
llListFindList
llResetOtherScript
llGetScriptName

It was necessary to modify ExecutorBase in support of the ScriptState
implementations.

I also modified SceneObjectPart and SceneObjectPart.Inventory to
corrects a quoting mismatch in the commentary that through off live
parsing of the files.

I also simplified the State definition at the start of BuiltinCommands.
2008-03-17 15:11:36 +00:00
Teravus Ovares 76bf1f3654 * Fixed prim creation in basic physics mode. ( BasicPhysics returns null probably a lot more then it should? ) 2008-03-16 18:55:56 +00:00
Justin Clarke Casey 9341c71135 * Minor - error message should be a warning. Spelling 2008-03-14 18:30:28 +00:00
Justin Clarke Casey 87067bff1e * The rest of the fix necessary for mantis #766 - terse updates broken
* Even very rapid linking/delinking should now behave normally.  Terse updates still occur as before
* Hopefully this ends the recent linking problems - please let us know if there are more
2008-03-14 18:21:21 +00:00
Justin Clarke Casey dc84f350a7 * As yet incomplete fix for mantis #766 - terse updates broken
* Currently, terse updates are back, and extremely rapid linking and delinking will only break occasionally
* More work to do here
2008-03-14 16:28:33 +00:00
lbsa71 24aedf52c6 * Added null root part guard
* Normalized some UUID handling
* Compacted a few Contains/Add into Set
2008-03-14 15:28:34 +00:00
Teravus Ovares ae9a98ceb1 * Added proper handling of llSetStatus(STATUS_PHYSICS,BOOL) 2008-03-14 06:20:50 +00:00
Teravus Ovares abacfba287 * Preliminary work with the ODEPlugin to collect collision data. 2008-03-14 05:22:52 +00:00
Justin Clarke Casey a4304fb9e6 * Fix Mantis 761 (linking and delinking prims rapidly caused prims to 'disappear')
* Root cause was that if two updates occurred in the same second of time, the second one was never sent
* Linking/delinking appears to be okay now
2008-03-13 00:22:38 +00:00
MW fc551ef127 Applied patch from mantis #749, Grass now stays to set type when moved. thanks Grumly57. 2008-03-12 15:53:04 +00:00
Teravus Ovares d0123a796b ODEPlugin
* Added osSetPrimFloatOnWater(BOOL) to make Physical prim float at the water level.   
* osSetPrimFloatOnWater(TRUE); or osSetPrimFloatOnWater(FALSE);
* By default, prim do not float at the water level.
* More work is needed on the floating, but it's a start.
2008-03-10 05:56:58 +00:00
Teravus Ovares 8bea3dbdb9 * Added ODEPlugin Support for llSetBuoyancy. Set Buoyancy to 1 for space prim.
* Added WaterLevel support to the ODEPlugin.   More on this later.
2008-03-10 05:23:43 +00:00
Sean Dague 4ea52b2105 Change SceneObjectPart.LocalID to .LocalId to be case matching
with SceneObjectGroup.LocalId (and hence reduce confusion).
2008-03-05 18:57:13 +00:00
Johan Berntsson 279e0061c5 Merged 3Di code that provides scene and avatar serialization, and plugin support for region move/split/merge. See ThirdParty/3Di/README.txt. Unless the new modules are used there should be no noticeable changes when running OpenSim. 2008-03-04 05:31:54 +00:00
Teravus Ovares d015356902 * Applied patch 708 from devalnor. Thanks devalnor!
* ODE: Added support for larger box stacks. (they're slow, but they work)
* ODEPlugin no longer tries to 'catch up' with the simulator frame rate if it gets behind.  Catching up was causing a lot of problems with larger box stacks and other things that stall the simulator (like saving prim in the datastore)
2008-03-03 16:52:25 +00:00
Teravus Ovares 0a5c48b1c8 * This is a very icky implementation of physical linkset prim using fixed joints. This will change quite drastically, however it's fun to play with.
* To play with this you must link your prim before setting it physical, otherwise they won't link in the physics engine properly.  This will also be fixed.
* Currently the linked prim are extremely unstable because I have yet to implement combining of forces with the same normal. This will also be fixed.   In fact, the whole PhysicsActor, ODEPrim relationship will be reworked to consider groups from the get-go.
* This implementation is better then it crashing your sim, so I'm commiting it for now.
2008-03-02 09:31:39 +00:00
Jeff Ames a8cfbbe963 Minor cleanup. 2008-02-20 18:38:20 +00:00
lbsa71 9be5f9d6cc * Fixed xml loading bug (the xml was scheduled for update before added to a scene)
* Fixed ClickAction situation on the same note (properties shouldn't cause big changes)
* Added some more debug output to AssetCache
2008-02-20 09:38:45 +00:00
Teravus Ovares 932a132116 * Made a quickupdate method to run through only entities that have scheduled themselves for updates looking for changes. This runs 10 times a second.
* Set the massively slow UpdateEntities method to run every 2 seconds instead of 10 times a second.  This method runs through *all* of the entities can calls the virtual update().  
* Documented some of the code in the scene.Update method.
2008-02-20 00:08:04 +00:00
MW b618802e53 Moved the AgentAssetTransactionsManager (and AgentAssetTransactions) out of CommsManager and into a module (AgentAgentTransactionModule), still needs cleaning up though.
But its one more thing out of the CommsManager. One day we will kill the CommsManager!
2008-02-16 13:01:42 +00:00
Teravus Ovares be6edefcfb * ODE Stability update 4 :D
* Changed the way meshing requests get sent to the ODEPlugin
* Numerous other fixes
2008-02-15 21:35:52 +00:00
Teravus Ovares 49a6ac300f * This fixes the object edit box's flipping checkboxes when you modify one of the permission masks or Locked status using the available checkboxes. 2008-02-12 15:47:37 +00:00
lbsa71 d79633b7c7 * various minuscule code convention conformance fixes 2008-02-12 11:21:23 +00:00
Teravus Ovares e5ede36f0c * Physical prim cross borders and continue from where the left off on the other side now, assuming the region on the other side has physical prim enabled. 2008-02-12 07:32:32 +00:00
Teravus Ovares 6e01769bcf * A bunch of updates to make things more smooth.
** Sending the actual TimeDilation to the client now instead of the 62455 constant.  The client is *supposed* to use that value to sync with the simulator.    (actually sending ushort.maxvalue * TimeDilation)
** Disabling prim that inter-penetrate instead of just not attaching a joint
** Reduced prim spin a 'little' bit, but not *enough* 
** Tweaked the TimeDilation algorithm to be closer to 1.0 by default and various changes to the sim stats reporter 
** Created a .SetValues method to PhysicsVector so we can simply call the setvalues function instead of .x, .y, .z sets.
** Experimented with a .GetBytes Method on PhysicsActor to be able to use the LLVector3.FromBytes() method.   
** Upped the Inter-penetration depth to 0.25 instead of .08.
2008-02-12 04:27:20 +00:00
lbsa71 c927928245 * some refactoring on permissions
* temporary re-introduced the weird 'flip-back' behaviour, but debugging it; will remove it if I don't find anything.
2008-02-11 13:26:55 +00:00
Teravus Ovares 38f0615ffe * This updates adds locking capability. Thanks, lbsa71 for pointing out my bitmasking error of the objectflags! It's still a little bit wonky when you check the checkbox, however it 'takes' and doesn't break anything. 2008-02-10 21:27:32 +00:00
Teravus Ovares 85a9834ed8 * A lot of ugly permissions updates.
** Created SendFullUpdateToAllClientsExcept(LLUUID) so that permission updates /appear/ to apply immediately
** Separated out the ObjectFlags and the Permission Flags.  They're related but not the same
** Added a hack routine to add *back* the objectflags to the client flags because the client hates the way we're doing object permissions
** Updated the clientflags routine to properly tell the client when they can't edit admin objects (objects owned by the sim administrator) even when they're an estate manager(why? >.<  argh!)
** Fixed a null sim administrator/estate manager/user from causing permissions to return false even when it should return true.
** Re-added ObjectModify hack to allow collaboration with the allow anyone to move checkbox until we get group permissions done.
2008-02-10 10:55:57 +00:00
Teravus Ovares 1b8e89751a * Added the Scripted objectflag if there is a script running in a prim. Remove the flag if you delete all of the scripts in the object. 2008-02-07 01:52:39 +00:00
Jeff Ames 6ed5283bc0 Converted logging to use log4net.
Changed LogBase to ConsoleBase, which handles console I/O.
This is mostly an in-place conversion, so lots of refactoring can still be done.
2008-02-05 19:44:27 +00:00
Teravus Ovares ca5aadfbff * Refactored the sound calls to SceneObjectPart
* Fixed a few bugs
* Wrote an example module to make certain event systems more mature.
2008-02-05 05:26:18 +00:00
MW 755ad9e3e0 First part of avatar persistence, currently only really works in standalone mode (with accounts_authenticate set to true), it also only currently has a mysql database connector. (sqlite one will follow soon). It also uses the tribalmedia database system, so this needs checking to see if the old problems with mono have been fixed.
To use, see the appearance section in opensim.ini.example, set "persist = true", then add the correct connection string for your database.(see mysql-AvatarAppearance.sql in share folder for a example of the table mysql table structure).
This could possible be used in a very small grid, but would mean each region server would need to connect to the same mysql database. 
But the work to move the code to one of the grid servers shouldn't be too much.
2008-02-04 12:04:02 +00:00
Teravus Ovares f26cdfd057 * Fixed llSetTextureAnim to respect rate and Length and Start 2008-02-02 16:42:46 +00:00
Teravus Ovares 2d6c21e8fc * Added Full support for llSetTextureAnim. To ckrinke: Let the fountains of Wright Plaza flow!
* Fixed another bug in LibSL.  This is the same version, as before just with a bug fix.
2008-02-02 08:11:14 +00:00
Teravus Ovares d4f32649cd * Committing some untested stuff regarding texture animations. This won't break anything, but the llSetTextureAnim function is completely untested.. (though it may be functional once the script engine works again) 2008-02-02 03:57:57 +00:00
lbsa71 bc88f90a6e * I just love doing these substantial contributions. 2008-01-22 15:30:47 +00:00
lbsa71 8d0364e228 * changed nonsensical PermissionMask and ObjectFlags mixup; if this causes perms weirdness, let's all work together to find the real cause. 2008-01-22 15:07:30 +00:00
Justin Clarke Casey 8df4774830 On reflection, HasGroupChanged is more appropriate 2008-01-18 18:57:28 +00:00
Justin Clarke Casey be50fa76ee Change SOP.HasChanged to HasPrimChanged in preparation for further changes 2008-01-18 18:43:16 +00:00
lbsa71 dfda3dd4d7 * Fixed bug where 'taskOwnerId' would always be null in PermissionManager, hence always retuning false on GenericObjectPermission. 2008-01-18 14:01:41 +00:00
Teravus Ovares 18c959df12 * Added llApplyImpulse in the global frame. The object must be physical before this'll do anything. Be careful with this function as it's easy to loose prim. 2008-01-17 14:59:05 +00:00
Teravus Ovares c2863df49d * Added and implemented the LSL changed event.
* An example changed event syntax is at: http://opensimulator.org/wiki/Changed_Event_Example
* You can use this to trigger actions in your script if someone sits on your object_rez
* You can use this to figure out all of the CHANGED_ constants except for CHANGED_REGION, CHANGED_TELEPORT, and CHANGED_ALLOW_DROP
2008-01-17 02:23:48 +00:00
Justin Clarke Casey b33da2538e * Fix mantis 345 - it is now possible to duplicate prims directly in the region again without breakage
* This includes their inventories
* Also, this revision properly synchronizes prim inventory crud.
2008-01-16 20:27:12 +00:00
Justin Clarke Casey 57519b6dba * Store task inventory when an object is taken into agent inventory
* This means that you can take an object from a region and rez it somewhere else, with its inventory intact.
* As for earlier, at this stage only scripts can be placed in inventory
* This isn't an efficient implementation, a better one will probably need to come along soonish
2008-01-16 18:35:34 +00:00
MW 795a339af5 First part of changing prim's permission flags to use the correct enum (libsl PermissionMask) 2008-01-16 17:31:07 +00:00
Teravus Ovares 314c554ed4 * Refactored the SimStatsReporter to reuse the same packet and packet blocks over and over again instead of creating 1 a second.
* Added frame Milliseconds, Physics Milliseconds and Other Milliseconds to the Sim Stats Reporter so we can start to figure out what the slowdowns are. (these were the most convenient to get and had just about no overhead.
2008-01-16 02:48:39 +00:00
Teravus Ovares 0a783e4442 * Added some comments to the linkset positioning code 2008-01-15 14:39:35 +00:00
Teravus Ovares 45e945616b * Pass 2 of collidable (non physical) linksets
* Linkset status is now persistent
* Tweaked a physics child prim positioning hack to generate less database saves
* Re-factored physics object creation calls into ApplyPhysics.  To create a new physics representation of an object or linkset, it's only necessary to call *group*.ApplyPhysics(bool m_physicalPrim).  *lbsa has been waiting for this refactoring*
* We have collidable linksets now. (they don't become phantom anymore)
2008-01-15 04:14:27 +00:00
Adam Frisby b25f9f322c * Mother of all commits:
* Cleaned up copyright notices in AssemblyInfo.cs's
* Added Copyright headers to a bunch of files missing them
* Replaced several common string instances with a static constant to prevent reallocation of the same strings thousands of times. "" -> String.Empty is the first such candidate.
2008-01-15 02:09:55 +00:00
Teravus Ovares a522d7844b * First pass at collidable linksets
* There will be bugs, you can count on that. To avoid them, set the linksets phantom
* After region restart, the linksets restore in a non collidable state.
* Linksets can but shouldn't be made physical with the physical checkbox or when you unlink them, they tend to explode.
* After creating a linkset, you have to move the linkset or set it phantom and not phantom for it to become collidable.   
* There's a few ParentGroup references that need to be refactored.
2008-01-14 18:29:04 +00:00
Sean Dague ebba112379 make Stopped a property of the SceneObjectPart instead of in the
database code, so this is a shared concept.
2008-01-08 21:56:52 +00:00
Justin Clarke Casey 3e75dede1b Persistent prim inventory phase 5. Restart scripts contained in persisted prims on region start.
No user functionality exposed yet - no ini switch to enable persistence or restore.  A bit more initial work to do.
2008-01-07 02:12:06 +00:00
Justin Clarke Casey 35a63c64f6 Factor out inventory related code in SceneObjectPart into separate class 2008-01-06 22:43:45 +00:00
Justin Clarke Casey 679923ec87 Factor out TaskInventoryItem 2008-01-06 01:56:29 +00:00
Justin Clarke Casey 7cedb09869 Prim inventory phase 4. Properly recover the prim folder ID from storage. Scripts now show up in prim inventories after region restart.
Probably doesn't yet work for any items other than scripts.
Still some work to do.  No user functionality exposed.  Not yet user tieable into normal code.
2008-01-06 01:16:06 +00:00
Justin Clarke Casey 70361bceb8 Persistent prim inventory phase 3. Now retrieving prim item data from persistent store, but this doesn't yet show up for the client. Still no user functionality and not
enabled 
in normal code.
2008-01-05 22:48:36 +00:00
Justin Clarke Casey 968649aec9 Fix mantis 280 - sim crashes when a prim is deleted. 2008-01-03 01:30:25 +00:00
Justin Clarke Casey 78ba9cebc5 Minor refactoring to expose PrimInventory from SceneObjectPart 2008-01-02 22:05:10 +00:00
Teravus Ovares d430bc62a9 * Patch from Alondria that re-fixes llSetColor 2007-12-30 07:06:14 +00:00
lbsa71 5b720b4b39 * Made a copy of parts before updating to avoid dictionary updated exceptions on big updates
* The part now uses the byte[] TextureEntry instead of the object
2007-12-28 13:11:49 +00:00
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
lbsa71 efd90b56b7 * Optimized usings
* shortened references
* Removed redundant 'this'
* Normalized EOF
2007-12-27 21:41:48 +00:00
Teravus Ovares d82ed9a8c5 * Fixed MonoSQLite Update Table routine
* Charles, this will fix the red issue.
* Same situation, the first run updates the tables (and gives you a ton of red errors), the second run and everything works as expected.
2007-12-27 18:49:16 +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
Teravus Ovares dfbc6e101e * Fixed the matching logic error on the LLQuat to axiom quat :P 2007-12-27 06:09:28 +00:00
Teravus Ovares da66f3eac8 * fixed a logic error in the receiving end of the prim load for the sit target 2007-12-27 05:52:24 +00:00
Teravus Ovares cbf5ff4a93 * Added Sit Target persistence over sim restarts for mySQL and MonoSQLite.
* SAVE YOUR PRIM DATA, THIS MAKES CHANGES TO YOUR PRIMS TABLE
* The first time you run OpenSim after updating past this revision, you'll see a lot of Errors.   Be calm, shutdown the simulator, and start it again and your prims table will be updated.
* MSSQL added the fields to the Initial CreateTable section, however, you'll need to add the fields to your prims table if you want it to persist.
2007-12-27 05:37:48 +00:00
Teravus Ovares 87d55443d3 * Added slightly better object sit handling
* Added sit handling for sit targets
* Implemented llSitTarget()
* Implemented llAvatarOnSitTarget()
* Sit targets do not persist sim restart.
2007-12-27 03:25:00 +00:00
Justin Clarke Casey 54d9fbc0fe Prim inventory persistence phase 1: Creation of preliminary table in sqlite.
No user functionality yet.  This code is not turned on, so there is no possibility 
of disruption to existing databases.
2007-12-27 00:53:13 +00:00
Justin Clarke Casey 01de4bbfbd If a prim is persisted in the region, scripts dragged into its inventory after a server restart would not appear (though the script they contain would still be invoked). This
change fixes that problem.
2007-12-26 20:21:06 +00:00
Teravus Ovares b7170215ba * Patch by Melanie to fix CreateSelected 2007-12-26 04:36:28 +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
Teravus Ovares b2903c4a8a * Patch from Alondria - Added LLFunctions llGetMass(), llGetLandOwnerAt(), llGetVel(), llGround() 2007-12-23 13:14:56 +00:00
Charles Krinke 5cd6f235ce Thank you, Alondria for:
Reverts the LSL Texture/Color functions back to the original code, allowing them to function again
2007-12-22 22:49:37 +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
Charles Krinke 8e8c26acac Again, thanks to Alondria for:
Added: LinkNum to SceneObjectPart
Added: Bunch-o settings of LinkNum in SceneObjectGroup
Added: llGetNumberOfPrims()
Added: llGetLinkNumber()
Added: llGetLinkKey()
Added: llGetLinkName() (and change to string return type)
2007-12-17 02:30:03 +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
lbsa71 ffd60baa48 * The 'Create' functions should be called to factor up a new, otherwise empty, but with the Id and 1-to-1 child fields instantiated and randomized.
* Added two shape constants that
2007-12-11 13:30:08 +00:00
Charles Krinke 22acc23755 Great Salutations to Alondria for providing implementations for:
llFrand, llSetColor, llGetColor, llSetTexture, llGetTexture,
llSetAlpha, llGetAlpha, llRotateTexture, llScaleTexture,
llOffsetTexture, llGetTextureOffset, llGetTextureScale, llGetTextureRot.
With these changes the "kan-ed" script #2 should be working.
2007-12-10 21:38:01 +00:00
Jeff Ames e278d07220 refactored ChatModule a bit.
misc cleanup and code convention fixes.
2007-12-10 02:29:42 +00:00
Adam Johnson 3d938f76b7 Updates to LibSL revision 1498. Thanks Johan! 2007-12-07 08:54:31 +00:00
Teravus Ovares 57f666497b * Added hacked support for 'anyone can move' and 'anyone can copy'.
* BACKUP YOUR PRIM BEFORE UPDATING TO THIS and then double check the prim permissions after applying it with a different avatar (then the master avatar or the prim owner avatar).
* Also, beware that any objects created under the old permission scheme may react oddly.  They may automatically allow anyone to modify them, (which you'll then have to un-set).  
* It's hacked support because when 'anyone can move is set', any avatar can modify the prim (texture, shape, scale, etc)
2007-12-07 07:42:03 +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
Jeff Ames a24b6fe924 fixed a few compiler warnings under mono (committed from a train, with adjohn and afrisby, enroute to a wine cave with the worst wine in the world) 2007-12-05 04:16:20 +00:00
Teravus Ovares 77dd997ef1 *disabled some confusing code regarding permissions 2007-12-04 23:58:44 +00:00
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