* Untangled a tangly shutdown loop for the ScenePresence.
* Suggested to the Garbage Collector that this may be a good time to >.>, <.< *gasp* collect the memory.
* 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.
* Updated the ode.dll for windows with a more reasonable stack space reserve. Linux users will need to type ulimit -s 262144 before starting up OpenSimulator if using Physical Prim to protect against stack collisions. or run the included ./bin/opensim-ode.sh to start up OpenSimulator in ODE mode.
* Added internal collision score and am keeping track of 'high usage' prim.
* Tweaked collisions some more
* Tested up to 460 physical prim in extremely close quarters (which was previously impossible in OpenSim). After 460 in tight quarters, physics slows down enough to make it hard to do any moving, however.. non physics things still work, such as logging on to the simulator, etc.
** 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.
* However, I'm no longer sure they were even a big contributory factor (to this particular leak, there are other causes of other leaks). I need better measurement techniques
* Removed most of my debugging gawp
* ParcelProperties are sent only when needed instead of on any movement
* Terse Updates and other temporary data packets are marked unreliable
* After a certain amount of users, the sim actually sends updates on things less
* Experimental
* Tested to 68 avatar with pCampBot (And it's surprising what actually causes the most lag.. the text chat!)
** If the region fails 3 times, then ChildAgentDataUpdates no longer get sent to that region
* Enabled Child_Get_Tasks in grid mode.
* When Child_Get_Tasks is enabled on neighbor regions, the neighbor region uses the client's draw distance to send out prim. This is a lot less likely to flood the client now since the ChildAgentDataUpdate contains both the throttle settings and the draw distance. This means that with this enabled, you can see prim in other regions in grid mode. Very experimental.
* Set the avatar's radius to 0.37m, I think this gives the *best* balance between spaces the avatar can fit, and the ability to climb steps
* Fixed a few things
* Tweaked some more
* Played with gravity (-9.8m/s)
* We're only missing, the script related sim stats counters and the Images time counter and the Pending Uploads counter. The rest of them are actually implemented now.
* You can put UUIDs in those fields to give other users some ability to help manage a sim you own.
* Also started decoding the EstateOwnerMessage packet convolutions.
** - avatar can navigate stairs better now
** - avatar can land without shooting into the air
** - excessive collisions with the ground are tempered somewhat and should only shoot the avatar up 20m instead of 200m
** - Try Catched a TextureDownloadModule.cs array out of bounds error with a report that causes it not to crash the sim, however it reports a few important items for tracking it down.
* added Util.Clip(value, min, max)
* modified asset cache's numPackets calculation to use max packet size (600) instead of 1000
* removed a few magic numbers
* Removed unchecked TryParse, replaced with Parse as we were not checking for success and could lead to weirdness if an exception is ignored.
* Removed unused variable m_newAvatar
* Removed several unused try{}catch(Exception e){}'s.
* Added null assignment in simpleapp to prevent warning.