Commit Graph

174 Commits

Author SHA1 Message Date
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