* Added tests for manager, user and group lists.
* Added test for ban list. The test had to be left as ignored as
native MySQL throws exception when ban is saved.
* Added utility class to support parametrized unit tests for range checking.
* Created value object for EstateRegionLink for storing the estate region relationship.
* Refactored slightly NHibernateManager and NHibernateXXXXData implementations for accesing nhibernate generated ID on insert.
** Changed NHibernateManager.Save method name to Insert as it does Insert.
** Changed NHibernateManager.Save return value object as ID can be both UUID and uint currently.
** Changed NHibernateManager.Load method Id parameter to object as it can be both UUID and uint.
* Created NHibernateEstateData implementation. This is the actual estate storage.
* Created NHibernate mapping files for both EstateSettings and EstateRegionLink
* Created MigrationSyntaxDifferences.txt files to write notes about differences in migration scripts between different databases.
* Created estate storage migration scripts for all four databases.
* Created estate unit test classes for all four databases.
* Updated one missing field to BasicEstateTest.cs
* Tested NHibernate unit tests with NUnit GUI. Asset databases fail but that is not related to this patch.
* Tested build with both Visual Studio and nant.
* Executed build tests with nant succesfully.
The following patch fixes http://opensimulator.org/mantis/view.php?id=3107
[^] by changing call from setRot to llSetRot, the later handles
child prim being rotated relative to root prim in linked set.
This changeset add the RegionReady module code. The module sends a
message on a configurable channel when an oar file has finished
loading or if the script engine has emptied its queue for the first
time (eg server startup). Config is something like this:
[RegionReady]
enabled = true
channel_notify = -800
The module also knows if there was an error with startup.
interface. Shared modules will now only get added once, so the command
handler is called once per module, not once per scene. Removal of scenes
has no adverse effects. Nonshared modules will be called for each scene.
In SL if llAbs() is called with the minimum integer value of -2147483648
it will return that value untouched without error.
this patch replicates the SL functionality.
OpenSim currently throws an overflow exception: number too small under
mono or a "System.OverflowException: Negating the minimum value of a
twos complement number is invalid. " under .NET
NOTHING has been deleted or moved off to forge at this point. what
has happened is that OpenSim.Region.Environment.Modules has been split
in two:
- OpenSim.Region.CoreModules: all those modules that are either
directly or indirectly referenced from other OpenSim packages, or
that provide functionality that the OpenSim developer community
considers core functionality:
CoreModules/Agent/AssetTransaction
CoreModules/Agent/Capabilities
CoreModules/Agent/TextureDownload
CoreModules/Agent/TextureSender
CoreModules/Agent/TextureSender/Tests
CoreModules/Agent/Xfer
CoreModules/Avatar/AvatarFactory
CoreModules/Avatar/Chat/ChatModule
CoreModules/Avatar/Combat
CoreModules/Avatar/Currency/SampleMoney
CoreModules/Avatar/Dialog
CoreModules/Avatar/Friends
CoreModules/Avatar/Gestures
CoreModules/Avatar/Groups
CoreModules/Avatar/InstantMessage
CoreModules/Avatar/Inventory
CoreModules/Avatar/Inventory/Archiver
CoreModules/Avatar/Inventory/Transfer
CoreModules/Avatar/Lure
CoreModules/Avatar/ObjectCaps
CoreModules/Avatar/Profiles
CoreModules/Communications/Local
CoreModules/Communications/REST
CoreModules/Framework/EventQueue
CoreModules/Framework/InterfaceCommander
CoreModules/Hypergrid
CoreModules/InterGrid
CoreModules/Scripting/DynamicTexture
CoreModules/Scripting/EMailModules
CoreModules/Scripting/HttpRequest
CoreModules/Scripting/LoadImageURL
CoreModules/Scripting/VectorRender
CoreModules/Scripting/WorldComm
CoreModules/Scripting/XMLRPC
CoreModules/World/Archiver
CoreModules/World/Archiver/Tests
CoreModules/World/Estate
CoreModules/World/Land
CoreModules/World/Permissions
CoreModules/World/Serialiser
CoreModules/World/Sound
CoreModules/World/Sun
CoreModules/World/Terrain
CoreModules/World/Terrain/DefaultEffects
CoreModules/World/Terrain/DefaultEffects/bin
CoreModules/World/Terrain/DefaultEffects/bin/Debug
CoreModules/World/Terrain/Effects
CoreModules/World/Terrain/FileLoaders
CoreModules/World/Terrain/FloodBrushes
CoreModules/World/Terrain/PaintBrushes
CoreModules/World/Terrain/Tests
CoreModules/World/Vegetation
CoreModules/World/Wind
CoreModules/World/WorldMap
- OpenSim.Region.OptionalModules: all those modules that are not core
modules:
OptionalModules/Avatar/Chat/IRC-stuff
OptionalModules/Avatar/Concierge
OptionalModules/Avatar/Voice/AsterixVoice
OptionalModules/Avatar/Voice/SIPVoice
OptionalModules/ContentManagementSystem
OptionalModules/Grid/Interregion
OptionalModules/Python
OptionalModules/SvnSerialiser
OptionalModules/World/NPC
OptionalModules/World/TreePopulator
The two most notable changes in the crossing process were:
* Object gets passed in only one message, not two as done before.
* Local object crossings do not get serialized, as done before.
These changes replace all direct references to the AssetCache with
IAssetCache. There is no change to functionality. Everything works as
before.
This is laying the groundwork for making it possible to register
alternative asset caching mechanisms without disrupting other parts of
OpenSim or their dependencies upon AssetCache functionality.
* This fixes crashing on large sets of physical prims because of stack collisions (assuming you follow the directions on linux for starting ode with ulimit). After the maximum joints are created, objects will start to fall through the ground and be disabled. Not the best solution, but it's better then a crash caused by a stack collision with the process exceeding the maximum available memory/recursions per thread.
* Make a clean region, make a stack of 5000 prim, 20 layers high. Make them physical, *SLOW*, but no crash.
* The actual AABB of the heightfield on the Z is now determined by the minimum and maximum heightfield value in the terrain array (assuming it's a reasonable number). This might optimize collisions in simulators that have a small difference between minimum and maximum heightfield values.
* Moved MoveAgentIntoRegion further down in the CompleteMovement method.
* changed a couple of methods from protected to public in SceneCommunicationService
Created nunit test for LSL API and example test for
llAngleBetween which was marked untested in wiki.
Run new test succesfully with NUnitGUI and nant build.
line editing, context sensitive help (press ? at any time), command line
history, a new plugin command system and new appender features thet let you
type while the console is scrolling. Seamlessly integrates the ICommander
interfaces.
* This adds more explanation for the new proxy settings in OpenSim.ini.example
* Also does some formatting correction
* I did some additional reformatting on top of that
* Such failures are now fatal to grab the user's attention.
* However, they could be made non-fatal (just with a loud error warning) if this proves too inconvenient
* So at the moment once can type 'help terrain fill' as well as 'terrain fill help'
* Current implementation is a transient hack that should be tidied up soon
OpenSim.Region.Environment into a "framework" part and a modules only
part. This first changeset refactors OpenSim.Region.Environment.Scenes,
OpenSim.Region.Environment.Interfaces, and OpenSim.Region.Interfaces
into OpenSim.Region.Framework.{Interfaces,Scenes} leaving only region
modules in OpenSim.Region.Environment.
The next step will be to move region modules up from
OpenSim.Region.Environment.Modules to OpenSim.Region.CoreModules and
then sort out which modules are really core modules and which should
move out to forge.
I've been very careful to NOT BREAK anything. i hope i've
succeeded. as this is the work of a whole week i hope i managed to
keep track with the applied patches of the last week --- could any of
you that did check in stuff have a look at whether it survived? thx!