Well, I've noticed that although the editor does not support adding custom C++/C# modules, interally it *does* use a plugin framework with a hardcoded list of plugins to load.
I've extended this system a bit to allow loading any .NET module.
Steps for setting up the launcher:
- Download the alternate editor launcher from https://dl.dropboxusercontent.com/u/32263228/dos/GlassesAltEditorRel.zip
- The "bin" folders the compiled launcher, the "src" folder contains the launcher sources and a minimal sample plugin
- Copy bin\The Divinity Engine\GlassesAltEditor.exe to the editor root directory (SteamApps\Common\The Divinity Engine\ or something similar)
- (optional) Copy the sample plugin (bin\EditorPlugins\SamplePlugin.dll) to the My Documents\Larian Studios\Divinity Original Sin\EditorPlugins
- When you start the editor with GlassesAltEditor.exe a new menu item should appear like so:
The launcher will only load a plugin if the following conditions are met:
- The plugin .dll is in the My Documents\Larian Studios\Divinity Original Sin\EditorPlugins folder
- The plugin filename ends with Plugin.dll (eg. MyTestPlugin.dll is fine, but MyTest.dll is not)
- The plugin module is a managed (.NET) DLL
- The module contains at least one *public* class that implements the LSToolFramework.IPlugin interface (if the module contains multiple such classes, the editor will instantiate and register each of them)
To see what classes/symbols are available in the editor I'd recommend using a .NET decompiler tool such as dotPeek: http://www.jetbrains.com/decompiler/
(or just add the editor assemblies -- LSToolFramework, LSFrameworkPlugin, etc. -- as a reference to your project and Visual Studio intellisense will see the classes just fine)