Commit Graph

337 Commits (c25a0ea7923aa390d30b8eebdbca4e599edf9b0d)

Author SHA1 Message Date
Jeff Ames 5752c1f5c2 Formatting cleanup. 2008-05-28 03:44:49 +00:00
Charles Krinke 82e3698f59 Thank you very much, ChrisIndigo for a patch that:
If a script updates an object to the same position or rotation offset, 
the object triggers an update and storage of the object. This become 
more prevalent in sensor and timer events which may be firing frequently.
2008-05-28 02:10:16 +00:00
Justin Clarke Casey 5c8a93c426 * Extract and boil down necessary texture UUIDs for an archive of the scene prims
* no user functionality yet
2008-05-26 01:50:40 +00:00
Teravus Ovares c20f7d6171 * A hacky Top Scripts display. It isn't accurate as far as ms accounting, however you can use it to help find out what scripts are causing your simulator to cry.
* Access it from the Estate tools/Debug tab.
2008-05-25 20:50:45 +00:00
Teravus Ovares 29092d3999 * phantom sculpties don't request the sculpt texture anymore. 2008-05-25 04:15:32 +00:00
Teravus Ovares 5af108a029 * This update causes the backup process to run in a separate thread.
* Concurrency issues are resolved because each object makes a memory-only copy of itself and backs up the copy.
* Because of the way this is done, the latest at the time of the backup gets backed up (no functionality change)
* You can move *thousands of objects at a time* and the sim doesn't freeze and wait for the backup to complete.
* This can be enhanced more by dedicating the thread as opposed to starting it when the backup process starts.
2008-05-21 21:22:56 +00:00
Teravus Ovares 8217bbe484 * Fixed needing to alter your sculptie sometimes to get physics to generate a collision mesh for it.
* Sculpties load on startup reliably now and successfully generate a collision mesh as soon as the sculpt texture is available.
2008-05-21 05:46:32 +00:00
Teravus Ovares 529553c77e * Fixed a logic error in previous commit. Darn these long client(param,param,param,param,param,param,param,param,param,param,param,param,param,param,param,param,param,param,param,param,param,param,param,param,param,param,param,param,param,param); methods! 2008-05-18 03:32:17 +00:00
Teravus Ovares 2bd03b7c8c * Group type stuff. Nothing spectacular. two packets, sorta almost semi half tiny amount implemented. 2008-05-18 03:21:22 +00:00
Teravus Ovares aa5197304e * Committing patch from mantis 0001297: [PATCH] Fix behavior of child prim inventories. Also enables 'New Script' button. from Melanie. Thanks Melanie! 2008-05-16 23:11:00 +00:00
Jeff Ames 7fefb80abb Minor cleanup. 2008-05-16 13:33:57 +00:00
Jeff Ames 65c5efe43b Formatting cleanup. 2008-05-16 01:22:11 +00:00
Teravus Ovares d60e457463 Committing patch from Melanie. 0001290: [PATCH] implement permissions propagation and script module hooks. Thanks Melanie!
* Implements quite a few inventory related perms.
* (from Teravus) Fixes Take Copy
2008-05-15 19:28:10 +00:00
Justin Clarke Casey 587f6ab645 * Refactor: Remove SceneObjectGroup.GetScenePresences() in favour of a direct call to Scene 2008-05-14 21:09:41 +00:00
Jeff Ames c995d60d37 Formatting cleanup. 2008-05-14 05:11:23 +00:00
Teravus Ovares b7baa3cd2a * Valid Sculpted prim now collide properly.
* The first time you set the sculpted texture of a prim you might have to futz with it to get it to generate a sculpted physics proxy
* Note that there are already issues in Trunk, (such as the prim scaling issue and prim jumping issue.  Essentially editing is difficult right now)
* This just adds to the experimental nature of trunk. :D
2008-05-09 07:50:00 +00:00
Teravus Ovares 7e275bfa37 * Wrote a method to get the OpenJpeg data of a sculpt texture asset and save it to the prim shape.
* Added some stuff around sculpted prim meshes..   but it's just there so the project compiles now.
2008-05-09 01:28:54 +00:00
Teravus Ovares 92c03978e1 * Fixes Prim ExtraParams
* Fixes Sculpty handling
* Fixes Light handling
* Fixes Flexi handling
* Fixes Sculpty + Flexi handling
* Fixes handling of Flexi type
* Fixes Changing prim type after changing to sculpty corrupting prim.
* Ugly code.
2008-05-08 04:58:44 +00:00
Sean Dague 5ff3c03c12 get all the right bits to SendPrimitiveToClient so we can actually
set vel, acc, and rvel in the packet (though this isn't done yet).
2008-05-07 18:40:18 +00:00
Jeff Ames 0ea48cf786 De-tabify source. 2008-05-06 22:41:38 +00:00
Sean Dague 0b09966c7e send actual velocity and angular velocity in terse updates
instead of hardcoding to zero when the primitive is non physical.
llTargetOmega should work now.
2008-05-06 22:17:00 +00:00
Teravus Ovares 7b446aba91 * Implemented DIE_AT_EDGE and Temporary objects don't save to the database. 2008-05-04 22:55:52 +00:00
Teravus Ovares 07167c9a3f * Committing some collision stuffs that I'm working on.
* Nothing user facing yet.
2008-05-03 04:33:17 +00:00
Teravus Ovares 412ca26565 * DuplicateOnRay with copy center works in two directions... Still fighting with it.
* DuplicateOnRay without copy center works in all directions.
2008-05-02 02:31:22 +00:00
Adam Frisby 20a9bf08f5 * Rolled back a few changes. 2008-05-01 18:04:42 +00:00
Adam Frisby 13526097f2 * Spring cleaning on Region.Environment.
* Converted a large number of read-only fields to be actually, readonly.
* Reformatted code sections.
* Removed redundant code.
2008-05-01 16:35:00 +00:00
Teravus Ovares 56b4f5a2ea * committing what I've got so far for DuplicateOnRay so I don't fight the conflict monster later. Not done yet, doesn't crash the server. 2008-05-01 15:17:49 +00:00
Adam Frisby 4692e92312 * Assorted spring cleanings. 2008-05-01 14:45:56 +00:00
Teravus Ovares 1c697ef0d2 * You can now rez objects out of inventory at the correct offset from prim you rez it on. Including multi prim groups and prim that have different X/Y/Z scales. 2008-05-01 06:31:12 +00:00
Teravus Ovares b70da6ac19 * Patch by Melanie. Implements proper objectflags on child objects. Thanks Melanie!
RE: 0001079: r4387. touch() event does not fire when touch script is in root prim and child prims are touched
2008-04-30 16:52:12 +00:00
Teravus Ovares 1fb54b074c * Added basic 3-5 level undo on prim position/rotation/scale.
* In the future this should be a config option...   and, hopefully this tides the builders over for a little while.
2008-04-28 01:48:21 +00:00
Teravus Ovares f71871bca3 * More attachment stuff, reworked some of the inventory routines to be what I need them to be for attachments. 2008-04-27 14:37:51 +00:00
Justin Clarke Casey accd89b3f1 * First draft implementation of copying prim inventory items back to agent inventory
* Now, if you own an item in a prim, you should be able to successfully drag it back into your inventory
* Temporarily, users which are not owners of the item cannot copy it, even if 'everyone can copy' is set
* This is pending fixes/implementation of upstream permission implementation
2008-04-26 20:31:01 +00:00
Teravus Ovares 323038ceb9 * Ooops, attachments now teleport/cross region borders along with your avatar. Those dastardly objects stick to you. 2008-04-26 17:36:30 +00:00
Teravus Ovares a534257b0e * Fixes prim crossing. See bug 1050.
* Causes the internal handling of attachments to put the prim group conceptually at the position of the avatar instead of 0,0,0
2008-04-25 21:41:55 +00:00
Justin Clarke Casey 6fec9c789b * Check in odds and ends which remain as an attempt to get the item properties panel for a prim's contents working
* Temporarily hacked things to bring our protocol data flow to be pretty much completely identical to the Linden's for this - to absolutely no avail.
* Leaving commented code in as a springboard for some future attempt
2008-04-25 21:31:40 +00:00
Teravus Ovares 298870b177 * Fixes Mantis: 1049. Y Texture repeat not being applied to resulting animation. 2008-04-25 19:48:47 +00:00
Teravus Ovares d3811f4747 * Fixes the object pay box to default to -2,-2,-2,-2,-2. Fixes mantis 1045. 2008-04-25 11:17:43 +00:00
Teravus Ovares 421730d972 * Used thomas' patch m884 as an example to make HUD attachments work. While I didn't use the patch directly, I did use the following from the patch to convert the uint value into the byte: (byte)((m_attachmentPoint % 16) * 16 + (m_attachmentPoint / 16)) 2008-04-25 09:47:21 +00:00
Teravus Ovares 9468917b5f * Implements llTarget, llTargetRemove, at_target(), not_at_target() 2008-04-25 01:00:55 +00:00
Sean Dague 2a2ef42e64 replace hard tabs with 4 spaces to be consistant in the source.
Please adjust your editors to not use hard tabs.
2008-04-24 12:27:24 +00:00
Teravus Ovares aa8aee90a3 * Adds much better support for attachments that you right click on in world.
* Your friends can see your attachments now.  People who appear in the sim after you've attached something can also see your attachments.
* You can position & rotate your attachments now.  Positions do *not* save.
* You can detach attachments now the regular way.
* Attachments do not cross into other regions with you..(this isn't too far off)
* Updated ODE to not request terse updates on child prim.
2008-04-24 11:32:41 +00:00
Teravus Ovares 12bba3da4b * Fixed an annoying pop-up box when crossing borders. 2008-04-23 23:55:02 +00:00
Teravus Ovares 1909d74d5f * Patch from Melanie. Mantis 0001037: Add various internal plumbing to the example economy module, implements llSetPayPrice(), money() and llGiveMoney() in scripts. Thanks Melanie!
* Moves module loading before the script engine so the script engine can pick up events from modules registering interfaces with scene.
2008-04-23 22:44:59 +00:00
Teravus Ovares 2a3bdde0fa * Adds llSetStatus(STATUS_ROTATE_X | STATUS_ROTATE_Y | STATUS_ROTATE_Z,TF)
* Currently if you apply that to only one or two axis you get unpredictable and sometimes explosive results.
* Three axis works well enough to play with it anyway.   More work is needed here.
* Fixed an incorrectly named method in ODE.NET
2008-04-23 15:32:19 +00:00
Adam Frisby 8425d53d68 * Applying Mantis #1022 - Thanks Melanie! 2008-04-23 11:54:35 +00:00
Adam Frisby 163d254bb9 * Applying Mantis #1021 (llStartAnimation/llStopAnimation) - Thanks Melanie! 2008-04-23 11:53:16 +00:00
Adam Frisby fef3b36894 * Optimised using statements and namespace references across entire project (this took a while to run). 2008-04-21 07:09:17 +00:00
Teravus Ovares 3358d70c5b * Updates LSL2CS converter
* All objects are not touchable by default now
* When a script listens for one of the touch events in the state, an object becomes touchable.
* All LSL scripts report which events they consume now
** This uses semi-complicated Regex to discover the events, stick them in a dictionary, and then write a method call into each script state's state_entry() event.
** Tedd may figure out a better way to do this in the future.  For now, this works for LSL.
2008-04-20 04:19:44 +00:00
Justin Clarke Casey 6ef4f1bdae * Resolve mantis 849
* Scripts in prims within linksets can now be properly edited using the 'edit linked parts' linden ui option
2008-04-03 13:33:46 +00:00
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