Commit Graph

353 Commits (3efdccbb12fc2d5339870ade39e1b1d54da4fe9b)

Author SHA1 Message Date
Justin Clarke Casey 4e7dd0d919 * Start compressing archives 2008-07-12 18:54:21 +00:00
Charles Krinke 38da8960e9 Mantis#1707. Thank you, Melanie for a patch that:
This patch limits the maximum size of prims that can be created using libsl bots 
or modified clients to 65536mper side. It also limits LSL functions to that size.
If a prim is already physical, the enforced constraint is 10m.
A prim that is larger than 10m cannot be turned physical, either via script or UI.
Linksets are handled correctly, so scaling of physical linksets is constrained by 
the size of it's largest component prim. Also, turning linksets physical is based 
on the size of it's largest ptim.
2008-07-10 03:13:29 +00:00
Charles Krinke 9a0ef22ed9 Mantis#1616. Applied Melanie's patch. This may or may
not break trunk.
2008-06-28 16:08:12 +00:00
Dr Scofield 748f72326d last round of warning squashing. calling it a day now. 2008-06-27 23:03:39 +00:00
Justin Clarke Casey 9bf67201c3 * Remove responsibilty for signalling scene object change from SceneObjectPart.SendFullUpdate()
* This means that we will no longer pointlessly repersist all the prims in the scene when OpenSim first starts up
* This also means that force-update on the console will not trigger repersistence.
* Also, in other places persistence is no longer done where it wasn't actually necessary
* I think I changed the code for all instances correctly, but it's not possible that I missed some and some things which did persist properly have stopped
* Please patch or mantis if this is the case
2008-06-27 16:36:19 +00:00
Justin Clarke Casey 6175021300 * refactor: Remove group changed responsibilty from ScheduleGroupForTerseUpdate 2008-06-27 15:04:35 +00:00
Justin Clarke Casey c299953ce5 * Remove SOG.SendGroupFullUpdate() group changed responsibility 2008-06-27 14:46:44 +00:00
Justin Clarke Casey d34a46eae1 * refactor: Move responsibility for deciding whether a group should be repersisted on to callers of SceneObjectGroup.SendGroupTeruseUpdate() 2008-06-27 14:39:21 +00:00
Justin Clarke Casey 836557a2f7 * refactor: fission InnerScene.AddSceneObject() 2008-06-27 14:25:36 +00:00
Justin Clarke Casey c9b41bdc4e * Add extra backup parameter to InnerScene.AddRestoredSceneObject() 2008-06-27 14:15:14 +00:00
Justin Clarke Casey ca88e3580b * archive each object as a separate xml file rather than put them all in one single large file
* this is being done for reasons of compositionality
2008-06-21 23:45:22 +00:00
Justin Clarke Casey e19a76377c * Refactor: Fold sog.DeleteParts() functionality into existing sog.DeleteGroup() 2008-06-21 20:12:01 +00:00
Justin Clarke Casey b290ce405f * Remove a bug I created in r5171 where taking an object would terminate the client session
* change code to use an explicit state variable instead of using SOG.Name = null to signal deletion
2008-06-21 19:56:19 +00:00
Justin Clarke Casey 3a111650cb * minor: override the name of the sog such that it gets/sets the root part name 2008-06-21 18:11:45 +00:00
Justin Clarke Casey 16d0a895cb * Refactor: Move the responsibility for applying physics and sending the initial client update to Scene.AddSceneObject() from some of the SceneObjectGroup constructors
* I think this has been done cleanly from inspection and testing, but if prim creation or load suddenly starts playing up more than usual, please open a mantis
* This also has the effect of stopping the archiver generating ghost in-world prims
* Some code dupliction also removed
2008-06-17 20:36:21 +00:00
Justin Clarke Casey 33d32355a1 * refactor: Remove largely duplicate code from SceneXmlLoader.CreatePrimFromXml2() 2008-06-17 17:23:00 +00:00
Justin Clarke Casey 1898674254 * minor: Get rid of rogue "Current node RootPart" message in the SceneObjectGroup 2008-06-16 22:03:15 +00:00
Justin Clarke Casey 7cdedcaf0e * minor: Remove and tidy duplicate 'storing object to scene' messages in log 2008-06-12 18:18:59 +00:00
Justin Clarke Casey 8714833986 * refactor: For new objects, move attach to backup to occur when adding to a scene, rather than on creation of the group
* Adding to a scene is now parameterized such that one can choose not to actually persist that group
* This is to support a use case where a module wants a scene which consists of both objects which are persisted, and ones which are just temporary for the lifetime of that server instance
2008-06-12 17:49:08 +00:00
Justin Clarke Casey 74017a4331 * refactor: rename CreatePrimFromXml to CreatePrimFromXml2 2008-06-12 16:54:04 +00:00
mingchen 5ab5991676 *Fixing another object counting bug 2008-06-07 00:24:43 +00:00
Teravus Ovares 8c507b633b * Added Light control from script in LLSetPrimitiveParams. 2008-06-06 22:28:52 +00:00
Teravus Ovares c892ddcd20 * This wraps the autopilot request to the client's sit response. An interesting, but successful way to do it.
* This also takes care of a few error situations that were previously never seen.
2008-06-06 12:51:20 +00:00
Teravus Ovares 83bd85ce7f * Fix string literal with URL + LLcommand();
* Added 'detected around: value' when a x.Y detect occurs to help debug.
* Fixed object text is too long to store to the database (wikilith)
2008-05-29 16:21:41 +00:00
Justin Clarke Casey bf7c557f57 * Minor: method documentation fiddling in SceneObjectGroup 2008-05-26 02:17:03 +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
Jeff Ames 5d77625e9a Update svn properties. Formatting cleanup. 2008-05-25 23:27:38 +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
Charles Krinke 36b8196f7a Thank you kindly, Tiffany for a patch that helps:
Drag copy a prim and the prim that is moved, persists. 
The prim that is created does not survive a restart.
2008-05-25 19:21:21 +00:00
Teravus Ovares 29092d3999 * phantom sculpties don't request the sculpt texture anymore. 2008-05-25 04:15:32 +00:00
Justin Clarke Casey 86c46e92cd * Disabling isSelected check on object persistence backup (at least temporarily), since it appears we sometimes either don't receive or don't register deselect packets when
prims are shift copied.
* A better long term solution may be to address the problem of why we're not always seeing the deselects
2008-05-25 01:09:14 +00:00
Justin Clarke Casey bc92d72828 * Refactor: Collapses parts of different code paths in scene used when deleting and unlinking an object 2008-05-25 00:09:08 +00:00
Justin Clarke Casey f3067ce6f9 * Refactor: Change previous commits Object methods to SceneObject methods instead, on the basis that this is less likely to cause confusion with c#'s base object type 2008-05-24 22:45:13 +00:00
Justin Clarke Casey 79eecd3d25 * Refactor: Renaming various *Entity*() methods to *Object*() methods on the basis that they all take SOG parameters to improve code readability for now 2008-05-24 22:10:14 +00:00
mingchen d04443b4fe *Refactor of the LandManagementModule that allows OpenSim to run without it 2008-05-23 15:12:15 +00:00
Justin Clarke Casey 1f57fd4bec * Minor: Tidy ups and logging tweaks. 2008-05-22 00:41:03 +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 2bd03b7c8c * Group type stuff. Nothing spectacular. two packets, sorta almost semi half tiny amount implemented. 2008-05-18 03:21:22 +00:00
Jeff Ames a5f08b430d Formatting cleanup. 2008-05-17 00:06:35 +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 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
Teravus Ovares a4efa93993 * Comitting 0001271: [PATCH] Refactor permissions to fully allow stacking permissions modules. From Melanie. Thanks Melanie! 2008-05-14 23:25:07 +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
Teravus Ovares 39eb39c0d5 Applied Patch mantis 1220. Implements llGetStartParameter. Thanks! 2008-05-14 05:43:21 +00:00
Teravus Ovares 05de723e51 * Refactored two more OutPackets. ObjectPropertiesFamily, and Object Properties. 2008-05-10 20:25:40 +00:00
Teravus Ovares e8478dadc8 * Experiment in Zerocoding. 2008-05-10 10:28:49 +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
Jeff Ames 0ea48cf786 De-tabify source. 2008-05-06 22:41:38 +00:00
Teravus Ovares 240e8646da * If you llApplyImpulse on an attachment, it applies impulse on the avatar, not the attachment. 2008-05-06 00:23:19 +00:00
Justin Clarke Casey 9655cf2807 * Refactor: Break out permissions code into a separate region PermissionsModule 2008-05-05 20:14:53 +00:00
Teravus Ovares 1130c3067c * A bit of spice from here, a pinch of salt from there, some brains that attracts zombies.. a recipe for llRezObject
* Original patch by YZh Thanks YZH!!!!
* object_rez event patch by Melanie, Thanks Melanie!!!
* Some fixups, some missing things(velocity,rotation)
* script delay
* Recoil
* Standard error messages
* Standard silent failures
* Easter egg management
2008-05-05 00:03:30 +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 9907c0fd10 Patch from Melanie: 0001087: Crash to bash de-linking objects. Thanks Melanie! 2008-04-29 13:53:24 +00:00
Teravus Ovares 80ea0b94b9 * Fixes child prim not editable as an attachment. You can right click on child prim in an attachment and get the proper pie menu. You get the attachment axis scope in the edit box. 2008-04-29 13:12:36 +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 911e63765c * Single Attachments now work from inventory. You can attach from inventory and detach from inventory.
* Detaching from right clicking in world, detaches to your inventory.
* If you go up to a prim and attach it from in world, it appears in your inventory.
* Attachment placement is saved when you detach them. 
* Choosing wear remembers your last attachment point from inventory.
* Wrote a method to update an inventory item's asset and sends the updated inventory item to the Client
* Wrote a recursive method to find the folder of a known existing inventory item.
* Removed a block on physics object position on creation.  This might crash a region or two, let us know via Mantis if your region crashes because of a physics out of bounds error.
* Drop doesn't work.  The menu item doesn't even come up.  Don't know why :P.
2008-04-27 20:10:28 +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 9468917b5f * Implements llTarget, llTargetRemove, at_target(), not_at_target() 2008-04-25 01:00:55 +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 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 385c1f5184 * Added missing reference to OpenSim.Framework.Communications to RemoteAdminPlugin to fix a compile error introduced by the Radmin patch. 2008-04-21 14:11:36 +00:00
Adam Frisby 0d27832d44 * Various compiler warning cleanups. 2008-04-21 13:16:00 +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
Charles Krinke 6865f1c67d Thank you kindly krtaylor for a patch to solve:
Linked objects won't scale together properly, only the root object scales. 
This happens with scaling both up and down or inputting numbers in the edit dialog.
2008-04-19 21:01:26 +00:00
Teravus Ovares b280605237 * Added lock persistence
* Temporarily disabling click+drag+move for non physical things until more experimenting is done to figure out how to get a sideways hand cursor in the client.
2008-04-18 04:44:04 +00:00
Justin Clarke Casey 0e7c4046d3 * Nasty hack to reduce the incidence of spurious exceptions where a user deletes a newly rezzed object before the persistence thread gets to it from its queue.
* This should greatly reduce but not eliminate the problem - elimination probably requires a redesign of the prim persistence processes
2008-04-07 17:28:02 +00:00
Justin Clarke Casey 2caea75aa8 * Okay you can put down your pitchforks - this patch should fix rezzing of items (with inventory) on Windows
* Now properly dealing with prims which don't contain items - thanks to thomas for the patch which gave insight into this situation
* Also, an xml exception no longer crahes the client session    
* Leaving in debugging lines in case there are further problems
* Not yet tested on Linux, though I'm just about to.
2008-04-07 16:30:29 +00:00
Teravus Ovares 072b5faa34 * I XmlIgnored the TaskInventory Property as a temporary measure. Taking things and rezzing them works again. (though, I suggest waiting on taking things until justincc has an opportunity to look at the TaskInventory property causing the XML Serialization to overrun.) It's MinOccurs is 0 in the XML Schema, so it should work fine when he adds it back. 2008-04-07 11:21:44 +00:00
Justin Clarke Casey cdff09d0bb * Removing debugging goo for mantis 854 since the fix is reported to work. 2008-04-04 15:02:20 +00:00
Justin Clarke Casey b9b99ee87c * Attempted resolution for mantis 854
* Also adds more temporary debugging goo in case the fix didn't work
2008-04-03 17:13:45 +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
Justin Clarke Casey 96ecb62197 * Fix for mantis #678
* Shift copied prims should now keep the script in both prims over region startups
2008-04-01 17:06:33 +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 f82227a186 * Added a little more stability for getting the object list from the parcel box. (previously it crashed my simulator)
* Found and gracefully handled a few situations where null references occur.  (m_rootPart again!)
2008-03-23 07:10:04 +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
Adam Frisby 803670e6ea * Removed more encoding faults. 2008-03-21 02:36:34 +00:00
Adam Frisby 7286bd60b0 * Converted a large number of ASCII encodings to UTF8.
* We should not be using ASCII anywhere except for legacy compatibility reasons.
* A large number of UTF8 Encoders are being used in places where we should be using Util.StringToField instead. These have been tagged with // ENCODING FAULT
* This should fix Mantis#799 - Japanese Profile Text does not work.
2008-03-21 02:26:00 +00:00
Justin Clarke Casey d135dad051 * Add a large amount of extra locking to m_parts in SceneObjectGroup
* Should help stop any InvalidOperationExceptions caused by concurrent read/write 
* The extra locking should be okay, but I'm really surprised we've got away without mucho crashes due to this...
2008-03-18 20:42:01 +00:00
Justin Clarke Casey f77ab46184 * Stop (which currently removes) all scripts in an object when that object is deleted from the region 2008-03-18 20:11:35 +00:00
Jeff Ames 47180080f0 Formatting cleanup. 2008-03-18 05:16:43 +00:00
Justin Clarke Casey 1641e4ecb1 * Remove stupid bug I just introduced where delinking would only delink one prim at a time.
* Teaches me not to say stuff like 'this is now working'
2008-03-14 18:51:51 +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 67a59b62e3 * Very minor comment change to reflect the fact that eliminating spurious delink prim updates is low priority 2008-03-13 12:35:59 +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
Justin Clarke Casey bbb9a21eb5 * Fix mantis 757.
* DelinkFromGroup was removing the parts from the delinked group, which later upset the update thread when it tried to do a queued update for that object
* Temporary fix is to stop deleting the parts, though it would be good later to stop sending out the now spurious updates
* This fix actually reveals another bug, where rapid linking and delinking will cause the non root prims to disappear (though they're actually still there if you relog).  This is the next bug to tackle.
2008-03-12 18:59:50 +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
Sean Dague 92e54bdd17 this is probably just a band aid, but should at least
help figure out where my last crash came from by being
extra careful arround Add for scene object group.
2008-03-04 18:49:44 +00:00
Charles Krinke 7794fc3766 Change handler001 through handler009 to more
appropriate names consisten with their use.
All done with all 94 handlers from handler001
through handler094. Hopefully we can move 
forward without numbered handlers.
2008-03-02 22:28:48 +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
Teravus Ovares 27508c1ad8 * Added Support within the ODEPlugin for Selected. Which means that;
* When you select a physical prim, it stops while you've got it selected.
* When you move or alter a prim in some manner, it doesn't become collidable until you de-select it
* When you select a prim, it doesn't become temporarily 'phantom' until you make some change to it while it's selected. (this prevents accidental selections in prim floor from causing it to go phantom on you(but don't move it or you'll fall))
* There's one major difference, and that's a physical object won't stop if you don't have permission to edit it.  This prevents people who don't have edit permissions on a prim from stopping it while it's moving.
2008-02-23 11:42:55 +00:00
Teravus Ovares 582964800c * Moved all events except gridcomms and regioncomms over to Event Delegate instances to prevent event race conditions 2008-02-22 19:44:46 +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
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
Adam Frisby f3afa68a2a * Made new Framework.Constants class, added RegionSize member.
* Converted all instances of "256" spotted to use RegionSize instead. Some approximations used for border crossings (ie 255.9f) are still using that value, but should be updated to use something based on RegionSize.
* Moving Terrain to a RegionModule, implemented ITerrainChannel and TerrainModule - nonfunctional, but will be soon.
2008-02-14 12:16:33 +00:00
Justin Clarke Casey 3624efde85 * Make code fix to address prim rotation unlink issues (mantis 383, 454. 369)
* Many thanks to alex_carnell for the necessary information for this
2008-02-13 14:45:32 +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
Teravus Ovares c926962862 * This resolves the null exceptions when a script is manipulating a physical object in ODE and you delete the object. The script is still running and trying to add force, but the object reference is null. 2008-02-12 00:01:55 +00:00
lbsa71 e399141dfb * Added some connection debugging 2008-02-11 14:09:35 +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 e6453d9b9d * Changed child_get_tasks to see_into_this_sim_from_neighbor.
* Turned on see_into_this_sim_from_neighbor by default.
* Fix Race Condition with parts being added to a group while the simulator is starting up.
2008-02-11 05:19:54 +00:00
Teravus Ovares a56664cf59 * um, Prim crossings? Experimental.
* Backup your database just in case.
2008-02-11 01:43:54 +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 b4a19a4fb4 * Added support for delinking individual prim from a linkset. 2008-02-10 18:56:34 +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
Jeff Ames e207284fef Clean up logging calls using String.Format explicitly 2008-02-10 01:57:59 +00:00
Justin Clarke Casey e6cd420f19 refactor - remove unused m_children from EntityBase 2008-02-08 20:11:45 +00:00
Teravus Ovares 9cd9e90e7f * Added Active Scripts to report the number of scripts running to Sim Stats
* Added Script Performance to report the number of functions run per second to Sim Stats.
* Removed a few warnings (@.@ up to 50 now)
2008-02-06 08:03:22 +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 c4687116ad * Implemented grab and throw in ODE. It's a little strong still so toss gently at first to test the waters or you'll lose prim to the pit at the edge of the sim. Make sure the object is physical before trying to toss it or it'll just move to the new location. 2008-01-29 15:10:18 +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 504ae63669 * Make object persistence more granular by separating prim and prim inventory persistence 2008-01-21 15:06:49 +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
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
lbsa71 344b4d92f5 * added ForEachPart helper
* added SetOwnerId that... sets.. OwnerId... on all parts.
2008-01-17 09:32:02 +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
Teravus Ovares 492e72b21a * Delinking doesn't leave invisible physical objects behind anymore 2008-01-15 04:27:02 +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
Justin Clarke Casey c9ad862aab Remove unused SOG constructor 2008-01-14 15:46:42 +00:00
Justin Clarke Casey b0904f471d Fix r2959 - last letter was being sliced off region prim renames 2008-01-10 01:39:49 +00:00
Justin Clarke Casey 796ae57bea Prim inventory script saving phase 2.
* It is now possible to edit and save scripts directly from prim inventories
* On saving, the script will be restarted in the region
* Doesn't appear that it's yet possible to drag inventory contents back to agent inventory.  Not quite sure why this is yet - the perms all look very permissive.
2008-01-09 15:46:45 +00:00
Justin Clarke Casey 286802558e Factor out inventory code in SceneObjectGroup into seperate class.
As was true for the previous update, this might require nant users to re-run prebuild.[sh|bat]
2008-01-06 22:55: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
Johan Berntsson 047aba2067 I have fixed the ZeroDecodeCommand bug, and restored my packet recycling code. Let me know by IRC if there are other problems 2008-01-03 00:59:12 +00:00
Teravus Ovares 32438ab1b9 * This update rolls back the packetpool and LibSL changes. Please retest and then patch these changes back in. Currently it's not quite ready for 0.5. The down side to this action, is that we loose some performance to the garbage collector for now. Given that the target date for 0.5 is *Two days* from now, I'm taking the initiative to work towards a real stable version.
* This update also fixes scripting and some weird physics reactions
2007-12-30 06:18:17 +00:00
Teravus Ovares 0631151e08 * Patch from Melanie provides Util.CleanString and uses it on the prim name and description. Thanks Melanie. 2007-12-28 23:19:03 +00:00