Now have a rough day/night cycle (the movement of the sun needs to be made smoother but for now it is better than we had I think).
Added dalien's patch (issue 294) for saving and loading prims to a xml file (think he will be modifying these to be import/export functions and maybe writing a xml datastore for backups).
Some preliminary work on task inventory (ie object's/prim's inventory).
Added place holder data for AvatarProperties (ie a avatar's profile). Should we store this sort of data on the user server or have another server for it (a normal webserver should work).
Added a few more method to IClientAPI.
Sure there is something I'm forgeting.
When you take prims into inventory (or delete them), they should now be removed from the prim datastore, so they no longer reappear in-world when you restart opensim.
In standalone mode, if you have account authenticate turned on (setting in opensim.ini) then when you create a new account, a set of inventory is created for that account and stored in database (currently only a set of empty folders). Then during login the database is search for that set and sent to the client in the login response.
More functions will be added soon, like creating new folders (and a bit later items) from the client inventory window.
Temporary have had to rename the OpenSim.DataStore.MonoSqlite project to OpenSim.DataStore.MonoSqlite1, as I'm not sure what was done to stop the old project name being included in the VS2005 solution.
Also some config changes:
OpenSim now has a INI (OpenSim.ini) file that it will read some config settings from (if the ini file exists).
Added Mono.Data.SqliteClient.dll so that we can use the same code for sqlite on Windows and mono/linux. (from what I can tell Mono class libraries have a MIT license so there should be no problems with us including this dll).
So now to get the basic prim storage working , you need to first create the sqlite database file from the sqlite3-prims.sql in share directory. Then in the OpenSim.ini file, change the storage_plugin so it points to OpenSim.DataStore.MonoSqlite1.dll (storage_plugin = OpenSim.DataStore.MonoSqlite1.dll). Then in your region.xml files change the DataStore value so it is the name of your database file (at the moment you need a different sqlite3 database file for each region).
sqlite *but* isn't being added back to the scene on load because
some information (like rootpart) isn't currently exposed enough
to save/restore, and I don't want to change the SceneObjectGroup
definition without MW around to discuss.
A couple of minor changes on the object interface for SceneObjectGroup
and tweaks to this class, and we have persistant prims again.
PLEASE NOTE: that with this revision some prim related features may be broke for a while. (things like linking prims and the parcel prim count.)
Also this revision may not work on mono, but that will be fixed soon.
current objects to disk, and does updates on those objects usefully.
It is now functional enough to mean that moving to new objects is
just lots of plug and chug.
*Made the Parcel class its own file and moved the Parcel and LandManager into their own folder in Environment
*Some renaming might need to be done so the Parcel class doesn't have issues with the libsecondlife Parcel class, but Land doesn't seem right.
*Added simulator_data_request XMLRPC method to request data from the grid server about a sim instead of faking its login
*Login is progressing, now just getting an XML error (http://pastebin.com/942515) -- if you can fix this, throw MingChen in IRC a Private Message
* Updated SimpleApp with various introduced dependencies
* Extracted ScenePrescence creation in Scene
* removed try-catchall from UserManagerBase (that actually hid a bug)
* Refactored RegionInfo
* handle is calculated
* it will explode upon accessing x,y,ip,port,externalip if not explicitly initialized
* Removed superfluous 'ref' keywords
* Removed a shitload of 'catch Exception e' that causes build warnings
* Lots of small refactorings, renames et c
* Ignored some bins