Some of you may have noticed an applications directory at the same level in the svn tree as libsecondlife-cs. This folder will host any libsl apps that people write and want to share their source code. OzSpade and BabaYama are working on a chat app right now that will be in there as soon as I figure out how the chat functions got broken, and I committed a project I've been working on call SecondSuite. SecondSuite is a host application that handles login and avatar tracking for libsl clients, and can hand those logins (SecondLife objects) to plugins (C# assemblies) that don't have to deal with login or logout. It allows an easy way to develop GUI apps without writing too much repetitive code each time, and interchangeable bits for logins. This is just theory so not all of the following works yet, but the idea is you could login one avatar and load a chat/IM plugin, a money transfer plugin, and a land management plugin and have a functional mini-client built out of several micro-clients. You could also connect a dozen avatars and link a machinima scripting plugin to all of them, and direct a movie from a single computer.

Right now Second Suite includes three plugins; Accountant, Prim Importer, and Prim Builder. Accountant is just SLAccountant in plugin form, Prim Importer is a sandbox plugin I'm toying around with to import prim.blender builds (not finished yet, only imports about 90% of the objects in a large build and gets rotations wrong). Prim Builder is a new plugin that allows you to enter all of the possible values for ObjectAdd and create a single prim. This is a very powerful tool but can also easily cause problems, I've put a few caps in libsl and in Prim Builder on certain limits to prevent sim crashes and other unexpected issues. Most of the value caps in the program are due to the way SL stores 8-bit floating point values differently for almost every field. Removing or changing the caps won't allow you to do anything that can't be done with it right now, it will just likely crash libsl (because C# doesn't handle overflows or underflows the same way C/C++ do) or cause some other problem.

The binding code between SecondSuite and the plugins is a third project called SecondSuiteSDK, this is the interface that plugins are written for. Take a look at any of the three example plugins to get an idea of how to write your own. A single plugin having multiple forms (windows) isn't properly supported yet, and there are numerous small and obvious bugs right now that will be ironed out before a real beta release. Also try compiling this under Mono (both Windows and non-Windows platforms) and let me know if you find any issues there. I'm going to get the gna.org bug tracking system setup for libsecondlife and subprojects like SecondSuite.

John Hurliman

_______________________________________________
libsecondlife-dev mailing list
libsecondlife-dev@gna.org
https://mail.gna.org/listinfo/libsecondlife-dev

Reply via email to