There is Alpha version of SixthSense shared plugin system. This topic content will be updated soon after a couple of days, but now i want to show You guys, what it's now.
* How it works?
Whole system is splitted into two modules:
- Server (that manage all plugins loaded to it, including: calling plugins functions, executing queries (available in beta version))
- Plugin/Client (that contain registered plugin functions and allow server to execute them)
* How to use it?
- Server module is a single dll to load into application (win/c++ or GM (GM version available in beta)). Server can load or unload plugins, call their functions, share resources between many plugins. In alpha version server can be used in c++ applications, but in beta will be released GM version of this dll.
- Plugin module as a developer-made dll using SxPlugin template (and SxClient library) written in c++. Plugin can register or unregister special developer-made functions hidden in plugin dll, call functions of other plugins loaded to server to share data. Developer can use plugin template to prepare basic plugin code project and use it to make plugin dll.
* How it share data between plugins and server?
When client (plugin) or application call some plugin function, can send data in special universal variables (that hold pointer, number and strings) and return value to plugin/application that call function. This allow to make data loader plugin, that hold raw data, then make a plugin to access this data and prepare some asset from this (or do whatever it want), for example: GM call asset loader to load image, then call graphics plugin to use it image as texture, make model and draw it.
* How can i do?
If you are dll developer, you can start to implement plugin module in your best dll and be a part of new GM extending system, that allow every developer to use it's plugin dll with any other plugins!
Any question you can put in this topic
* What startup plugins will be released with final version of SixthSense?
- Ether (network connections and xml manager)
- XeAudiere (sound player)
- Photon (Xenon Core 2 graphics module that allow to make amazing graphics in your game)
- Vidi (online application validation and global user profile system)
And will be great to see those dlls available on SixthSense platform:
- Extreme Physics
- Fmod Sound System Engine
- Download Manager
* SDK alpha version with plugin example:
* Promo wallpaper:
* Known bugs:
* Update 23-02-2012:
- combined a server and client modules, so there is no more dll for server in C++ version, and plugin can be now a client and server for other plugins, so it can load plugins that need to use.
- fixed bug with returning values from plugin functions.
- GM version added
- documentations for C++ and GM versions added (english language)
- SDK structure is reorganized (there is easy to find and use a Visual C++ 2010 plugin and host templates and GM server dll)
Edited by PsichiX, 03 April 2012 - 09:28 AM.